Entry tags:
альтернатива физзбаззу
Цитирую из подзамочной записи с разрешения автора, который работает в американской компании и интервьюирует программистов:
Интесная закономерность выявляется. Мы начинаем интервью с того, что просим кандидата прочитать вот такой код, и сказать, что он делает. Как бы он назвал эту функцию?
private static int ok(int a, int b) {
while (a >= b) a -= b;
return a;
}
Пока результаты такие, что после этого вопроса интервью можно заканчивать. Если человек отвечает нормально на этот вопрос, то и дальше отвечает нормально. Если вообще близко не может понять о чем речь, то дальше только хуже.
no subject
That function should be called Bullshit?
Для интервью вопрос плохой, функция считает остаток от деления для двух положительных чисел, зависает при нулях, а при отрицательных и вовсе черт и что, но даже если добавить проверку параметров - это идиотский способ считать остаток? Я бы на интервью растерялась от такого вопроса, не потому что не понимаю, что будет делать этот код, а потому что не поняла бы, что, собственно, от меня хотят.
no subject
А когда я в конце заметил, что подобный массив вообще-то и сортировать не нужно,
заметил уже у интервюирующего в глазах такое непонимание,
что решил не продолжать тему.
no subject
no subject
ну, собственно, я сам тоже не сразу дотумкал, в чом подвох,
хоть и сразу, что он есть.
просто предствьте на более очевидном примере, что ли.
типа массив из 4 чисел, от 0 до 3. ;)
no subject
no subject
Посчитать количество каждого номера и сгенерировать массив.
O(n)
no subject
но, там, всетаки, еще было ЭТО требование -- каждое из чисел встречается один раз. ;)
no subject
А так -- легкая, минутная с набивкой кода, задачка, заставляющая быстро чуть-чуть подумать -- и при этом вполне практичная, такие случаи сплошь и рядом.
Можно развить ее до более задумчивой, если запретить использовать для подсчета внешний контейнер -- предположим, дело происходит в условиях жестких ограничений по памяти, нужен чистый inplace. Или просто порассуждать, когда для хранения количеств лучше пользоваться массивом, а когда динамической структурой вроде списка. Ну и, да, спросить, а что будет, если добавить условие "неповторяющиеся числа". Все легкое, но все вполне осмысленное.
no subject
которая обессмысливает вообще сам вопрос
по крайней мере с моей т.з.
с точки зрения интервбюера -- все было ок :)
no subject
counting sort.
Так что я был не прав.
no subject
no subject
no subject
В чем подвох?
no subject
no subject
Непонятно другое: с какой целью (или по какой причине) Вы КЛЮЧЕВОЕ требование -- каждое из чисел встречается один раз
не упомянули ни в первом своем комментарии, ни в ответе на мой прямой вопрос о гарантии "все числа различные"?
no subject
Получи я на интервью задачу из поста, я бы в первую очередь испугалась, что функцию написал тот, кто меня интервьюирует и что он ошибки сам не видит. И что тогда делать? Не всякому интервьюеру понравится, если ему сказать, что он дурак, даже в мягкой форме.
Я когда прочитала код, прежде чем думать, что он делает, я озадачилась, что он при входных нулях зацикливается. На интервью я бы, скорее всего, не знала, что отвечать, именно из-за глупости ситуации.
Забавно, что такого рода задачки очень любят давать русские, и никогда - американцы. Зададут дурацкий вопрос и смотрят с видом превосходства. Особенно нелепо, когда на интервью на позицию по вебу, например, просят написать сортировку пузырьком или обойти двоичное дерево. Как будто, если я умею писать сортировку, я что-то в вебе понимаю.
\\Зададут дурацкий вопрос и смотрят с видом превосходс
Особенно неприятно, что по всему видно что задающий считает свой вопрос однозначным и правильным,
а ты смотриш и не понимаеш -- то ли ты дурак, то ли над тобой издеваются... потому что какраз видиш кучу вариантов, а вот какой из них имеет в виду спрашивающий
http://avva.livejournal.com/2625137.html?thread=96002673#t96002673
no subject
no subject
no subject
Мне вопрос кажется нормальным. Идея в том, чтобы посмотреть, как кадидат будет читать простой и короткий код и разбираться, как он работает. Зачем бояться сказать интевьюеру о том, что в коде ошибка? Если сказать об этом вежливо, то что страшного может произойти? Есть три вариаента реакции:
1) Да, отлично, это именно остаток и тут он дейсвтительно не проверяет параметры, молодец, следующий вопрос...
2) Упс, да, а я и не подумал, спасибо! Следующий вопрос...
3) Да вы что!! Какая ошибка? Да вы кто такая???
Все три варианта для вас выигрышные, в третьем вы сразу знаете, что работать в этой команде вам не хочется.
Вообще надо помнить, что нормальный интеврьер всегда настроен изначально к вам положительно и больше всего хочет, чтобы вы ему понравились, чтобы уже можно было кого-то нанять и заняться делом. Возможно, бывают и правда какие-то хитропопые садисты, которым приятно поставить человека в тупик, но мне такие не попадались.
no subject
Хитропопые садисты мне тоже попадались, но с ними тоже вопрос ясен.
no subject
Догадываться по неверно написанному коду, что именно имел в виду программист, занятие довольно опасное в реальной жизни.
Вообще-то это то, чем программисты занимаются примерно 50% рабочего времени.
no subject
Зачем же так сильно?