альтернатива физзбаззу
May. 13th, 2013 01:17 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Цитирую из подзамочной записи с разрешения автора, который работает в американской компании и интервьюирует программистов:
Интесная закономерность выявляется. Мы начинаем интервью с того, что просим кандидата прочитать вот такой код, и сказать, что он делает. Как бы он назвал эту функцию?
private static int ok(int a, int b) {
while (a >= b) a -= b;
return a;
}
Пока результаты такие, что после этого вопроса интервью можно заканчивать. Если человек отвечает нормально на этот вопрос, то и дальше отвечает нормально. Если вообще близко не может понять о чем речь, то дальше только хуже.
no subject
Date: 2013-05-13 08:14 am (UTC)no subject
Date: 2013-05-13 08:27 am (UTC)ну, собственно, я сам тоже не сразу дотумкал, в чом подвох,
хоть и сразу, что он есть.
просто предствьте на более очевидном примере, что ли.
типа массив из 4 чисел, от 0 до 3. ;)
no subject
Date: 2013-05-13 08:49 am (UTC)no subject
Date: 2013-05-13 09:07 am (UTC)Посчитать количество каждого номера и сгенерировать массив.
O(n)
no subject
Date: 2013-05-13 09:14 am (UTC)но, там, всетаки, еще было ЭТО требование -- каждое из чисел встречается один раз. ;)
no subject
Date: 2013-05-13 09:42 am (UTC)А так -- легкая, минутная с набивкой кода, задачка, заставляющая быстро чуть-чуть подумать -- и при этом вполне практичная, такие случаи сплошь и рядом.
Можно развить ее до более задумчивой, если запретить использовать для подсчета внешний контейнер -- предположим, дело происходит в условиях жестких ограничений по памяти, нужен чистый inplace. Или просто порассуждать, когда для хранения количеств лучше пользоваться массивом, а когда динамической структурой вроде списка. Ну и, да, спросить, а что будет, если добавить условие "неповторяющиеся числа". Все легкое, но все вполне осмысленное.
no subject
Date: 2013-05-13 09:54 am (UTC)которая обессмысливает вообще сам вопрос
по крайней мере с моей т.з.
с точки зрения интервбюера -- все было ок :)
no subject
Date: 2013-05-13 09:57 am (UTC)counting sort.
Так что я был не прав.
no subject
Date: 2013-05-13 07:25 pm (UTC)no subject
Date: 2013-05-13 07:26 pm (UTC)no subject
Date: 2013-05-13 09:04 am (UTC)В чем подвох?
no subject
Date: 2013-05-13 09:12 am (UTC)no subject
Date: 2013-05-13 07:25 pm (UTC)Непонятно другое: с какой целью (или по какой причине) Вы КЛЮЧЕВОЕ требование -- каждое из чисел встречается один раз
не упомянули ни в первом своем комментарии, ни в ответе на мой прямой вопрос о гарантии "все числа различные"?