avva: (moose)
avva ([personal profile] avva) wrote2013-05-13 01:17 am

альтернатива физзбаззу

Цитирую из подзамочной записи с разрешения автора, который работает в американской компании и интервьюирует программистов:
Интесная закономерность выявляется. Мы начинаем интервью с того, что просим кандидата прочитать вот такой код, и сказать, что он делает. Как бы он назвал эту функцию?

private static int ok(int a, int b) {
   while (a >= b) a -= b;
   return a;
}

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

[identity profile] salas.livejournal.com 2013-05-13 02:03 am (UTC)(link)
Этот код содержит не менее двух ошибок. Я склонен прямо связывать этот факт с упомянутыми комментарием выше читаемостью и premature optimization.

[personal profile] ichthuss 2013-05-13 12:51 pm (UTC)(link)
Это понятно, я ведь код не тестировал, и вообще писал с ходу, с единственной целью - показать идею. В реальном применении я бы над ним думал не 40 секунд, а 5 минут, и проверил бы на тестах.

[identity profile] amosk.livejournal.com 2013-05-13 02:27 pm (UTC)(link)
Так и код из интервью тоже написан с целью показать идею :)

[personal profile] ichthuss 2013-05-13 02:29 pm (UTC)(link)
Поэтому я и не высказываю к нему придирки насчёт, скажем, неработоспособности при неположительных значениях аргумента. Но код с идеей из заглавного поста имеет очень узкую область реальной применимости (мне даже сложно такую придумать), а с моей идеей деления в столбик - вполне реальную область в микроконтроллерах. Этот вопрос совершенно ортогонален вопросу о работоспособности кода в смысле полноты реализации идеи.