Re[2]: Наиболее интересные вопросы на собеседованиях
От: Олег К.  
Дата: 12.06.12 02:18
Оценка:
PMT>>Интересуют, прежде всего, вопросы на вакансию программиста C/C++, а также алгоритмические задачи.
PMT>>Заранее благодарю.

V>как посчитать биты в числе, максимально производительным способом?


Неужели и это интересный вопрос?
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Олег К.  
Дата: 12.06.12 02:21
Оценка:
M>Вспомнил. Недавно спросили "что такое виртуальный деструктор , и в чем его особенности". Я блин долго тупил и не мог понять какие у него особенности, вспомнил тольок что во время выполнения деструктора он ведет себя как невиртуальная функция и вызывает всех предков.

Пацаны, вы чего? Какие ж это интересные вопросы?
Re[3]: Наиболее интересные вопросы на собеседованиях
От: minorlogic Украина  
Дата: 12.06.12 06:31
Оценка: :)
Здравствуйте, Олег К., Вы писали:

ОК>Пацаны, вы чего? Какие ж это интересные вопросы?


Забавный вопрос
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: Наиболее интересные вопросы на собеседованиях
От: Abalak США  
Дата: 12.06.12 14:36
Оценка:
Здравствуйте, Олег К., Вы писали:

A>>Смех смехом, но когда я уже был в Штатах, то мне на почту написала рекрутерша одного из российских банков и очень настойчиво желала поговорить. В итоге я ей выслал свой американский номер телефона и она позвонила. После распроса про текущее место она задала вопрос, почему я хочу вернуться и работать у них в банке Я чуть не поперхнулся...


ОК>Ну а ты что в ответ?


Да ничего особенного, поинтересовался почему она решила, что я вообще возвращаться собираюсь. — Ну как же, вы же поговорить согласились.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 12.06.12 21:01
Оценка:
Здравствуйте, volodya777, Вы писали:

PMT>>Интересуют, прежде всего, вопросы на вакансию программиста C/C++, а также алгоритмические задачи.

PMT>>Заранее благодарю.

V>как посчитать биты в числе, максимально производительным способом?


POPCOUNT, а вообще вариантов куча, успевай только считать: Population Count
Re[7]: Наиболее интересные вопросы на собеседованиях
От: D. Petrov США  
Дата: 12.06.12 21:44
Оценка: 1 (1)
Здравствуйте, blackwater, Вы писали:

M>>>Уверенны? учитывая "максимально производительным способом?"


D>>может он предполагает, что sufficiently smart compiler(TM) догадается о том что делает данный цикл (что, в принципе, не очень сложно..), и подставит то что нужно..


B>Я думаю ждут это: http://en.wikipedia.org/wiki/Hamming_weight


Че то я сразу не подумал насколько серьезную задачу решаю. Углубился в тему... Да это Hamming weight или Population Count. Тут ниже ссылку привели на разные алгоритмы http://chessprogramming.wikispaces.com/Population+Count
В итоге мой код оказался реализацией метода Брайна Кернинга, а он является одной из лучших реализаций этой задачи "this is still one of the fastest approaches for sparsely populated bitboards." (См. ссылку выше).

Основня идея — "обнуляем младший бит" x&(x-1). Кто изучал\писал ассемблер тот почти навернякак пользовался таким трюком.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 13.06.12 09:08
Оценка:
тс>Мне больше всего по c++ понравилось:
тс>Написать пример программы, которая скомпилируется C-компилятором, но не скомпилируется C++-компилятором. Ответ лежит на поверхности, не требует знания никаких нюансов. Я не смог ответить)

так это идиотен-тест
int new = 1;
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 13.06.12 09:10
Оценка: +1 -1
M>"как перемножить 3 на 7 если у нас нет операции умножения ?" Долго не мог понять в каком контексте задавался вопрос, потом уже понял что это была проверка знаний на битовые сдвиги и т.п.

Какие н... битовые сдвиги!

int res = 0;
for(int cnt=0; cnt<3; ++cnt)
    res+=7;
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 13.06.12 09:12
Оценка:
V>как посчитать биты в числе, максимально производительным способом?

LUT — lookup table. По частям, естественно
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 13.06.12 09:13
Оценка: -1
Здравствуйте, minorlogic, Вы писали:

M>Вспомнил. Недавно спросили "что такое виртуальный деструктор , и в чем его особенности". Я блин долго тупил и не мог понять какие у него особенности, вспомнил тольок что во время выполнения деструктора он ведет себя как невиртуальная функция и вызывает всех предков.


Что курите? Виртуальный деструктор ведет себя именно как виртуальная функция. Единственное назнвчение — убивать объект по указателю приведенному к базовому классу.

Весь топик прочел — одни унылые вопросы
Re[8]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 13.06.12 09:16
Оценка: :)
DP>Основня идея — "обнуляем младший бит" x&(x-1). Кто изучал\писал ассемблер тот почти навернякак пользовался таким трюком.

Младший бит обнуляется x & 0xFE (0xFFFE, 0xFFFFFFFE).
Re[8]: Наиболее интересные вопросы на собеседованиях
От: Glas  
Дата: 13.06.12 09:31
Оценка:
Здравствуйте, D. Petrov, Вы писали:

DP>Основня идея — "обнуляем младший бит" x&(x-1). Кто изучал\писал ассемблер тот почти навернякак пользовался таким трюком.


А через сдвиги вроде быстрее


int fun(int x)
{
   int res = 0;
   while (x != 0 )
   {
      res += x & 1;
      x >> 1;
   }   
   return res;
}
Re[9]: Наиболее интересные вопросы на собеседованиях
От: D. Petrov США  
Дата: 13.06.12 19:08
Оценка: 1 (1) +1
Здравствуйте, Glas, Вы писали:

G>А через сдвиги вроде быстрее


Таким образом число 16384 (0100000000000000) придется двигать 15 раз, а через x&(x-1) за одну операцию обнулите единичный бит.
Re[9]: Наиболее интересные вопросы на собеседованиях
От: D. Petrov США  
Дата: 13.06.12 19:10
Оценка:
Здравствуйте, Handie, Вы писали:

DP>>Основня идея — "обнуляем младший бит" x&(x-1). Кто изучал\писал ассемблер тот почти навернякак пользовался таким трюком.


H>Младший бит обнуляется x & 0xFE (0xFFFE, 0xFFFFFFFE).


Несовсем корректно выразился — обнуляем младший единичный бит.
Re: Наиболее интересные вопросы на собеседованиях
От: gBopHuk Россия  
Дата: 14.06.12 09:37
Оценка:
Здравствуйте, PlusMyTwitterFace, Вы писали:

PMT>Приветствую.


PMT>Какие самые интересные вопросы на собеседованиях за всё время вашего опыта Вы слышали? Или какие наиболее интересные / необычные задаёте Вы на собеседованиях?


PMT>Интересуют, прежде всего, вопросы на вакансию программиста C/C++, а также алгоритмические задачи.


PMT>Заранее благодарю.

Чем отличается c# от java, какие преимущества и недостатки у обоих?
Re: Наиболее интересные вопросы на собеседованиях
От: Miroff Россия  
Дата: 14.06.12 10:10
Оценка:
Здравствуйте, PlusMyTwitterFace, Вы писали:

PMT>Интересуют, прежде всего, вопросы на вакансию программиста C/C++, а также алгоритмические задачи.


Есть одна задачка, на понимание SQL. Предполагается давать кандидатам, заявившим об отличных знаниях SQL, но на практике я применял его буквально два раза.

Дано:
Резервуар заданного объема с одной in/out трубой известной пропускной способности. На трубе есть кран который может принимать три состояния: in, out, close. Записи об изменениях состояния кранов пишутся в SQL DB в формате: timestamp, новое состояние.

2012-01-01 00:00:00 | in
2012-01-01 00:10:10 | close
2012-01-02 00:05:37 | out

Задача:
Необходимо по этому логу одним SQL запросом получить средний уровень воды в резервуаре если на момент 0 краны закрыты, а резервуар пуст. На три достаточно запроса. На четыре нужен запрос с проверкой граничных условий. На пять -- понимание того что реально происходит в СУБД при выполнении этого запроса и предложения об оптимизации. На пять с плюсом тот же запрос + время которое резервуар простоял пустым + количество воды, которое вылилось из переполненного резервуара. С учетом того, что из-за несовершенства аппаратуры одно и то же событие может быть зарегистрировано несколько раз подряд с отличающимися отметками времени. Например так:

2012-01-01 00:00:00 | in
2012-01-01 00:10:10 | close
2012-01-01 00:21:00 | close
2012-01-01 00:23:30 | close
2012-01-02 00:05:37 | out

Задачка, если что, из реальной практики.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 14.06.12 10:12
Оценка:
PMT>>Заранее благодарю.
BH>Чем отличается c# от java, какие преимущества и недостатки у обоих?

А чего интересного то?
С# только винда (моно для любителей фетишизма), стандартная платформа для гуя на винде.
Java — кроссплаформенная штука, чаще исползуется на серваках
Re[2]: Наиболее интересные вопросы на собеседованиях
От: Handie  
Дата: 14.06.12 10:58
Оценка:
M>Есть одна задачка, на понимание SQL. Предполагается давать кандидатам, заявившим об отличных знаниях SQL, но на практике я применял его буквально два раза.

90% кандидатов заявлявших что отлично знаю SQL не могли сказать что делает

SELECT * FROM table t1, table t2;

Многие говорили что это невалидный SQL, другие считали что это inner join.
Re[2]: Наиболее интересные вопросы на собеседованиях
От: TMU_1  
Дата: 14.06.12 12:48
Оценка:
>С учетом того, что из-за несовершенства аппаратуры одно и то же событие может быть зарегистрировано несколько раз подряд с отличающимися отметками времени. Например так:

M>2012-01-01 00:00:00 | in

M>2012-01-01 00:10:10 | close
M>2012-01-01 00:21:00 | close
M>2012-01-01 00:23:30 | close
M>2012-01-02 00:05:37 | out

M>Задачка, если что, из реальной практики.



А какое время события close в данном случае брать за рабочее? Первое?
Задачка любопытная, можно помучать людей
Только самому сначала сделать
Re[2]: Наиболее интересные вопросы на собеседованиях
От: os24ever
Дата: 14.06.12 12:52
Оценка:
M>Задачка, если что, из реальной практики.

Шестьсот рублей.

<?php
$days_total = 31;
$hours_total = 8 * $days_total;
$code_monkey_avg_salary = 80000; /* todo: -> ~/data/config.ini */

$s_per_h = round ($code_monkey_avg_salary / $hours_total);

print $s_per_h * 2;
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.