?

Log in

No account? Create an account
По делам сюда приплыл, а не за этим [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

альтернатива физзбаззу [май. 13, 2013|01:17 am]
Anatoly Vorobey
[Tags|]

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

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

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

Comments:
Страница 1 из 2
<<[1] [2] >>
From: tybr
2013-05-12 10:21 pm
Штирлиц выдал себя написав ok(0,0); :)
(Ответить) (Thread)
From: Anton Berezin
2013-05-13 06:43 am
Так как это метод для вычисления остатка - подвисание при b=0 - это своего рода исключение. На ноль делить нельзя.
(Ответить) (Parent) (Thread)
From: vasja_iz_aa
2013-05-12 10:23 pm
а как ее цензурно можно назвать? она при нулевом б повисает навсегда
(Ответить) (Thread)
From: vasja_iz_aa
2013-05-12 10:26 pm
и при отрицательных. кофе надо пойти выпить
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: oryx_and_crake
2013-05-12 10:25 pm
За такой код надо выгонять с работы с волчьим билетом.
Какой смысл предъявлять на интервью код, с которым _в нормальной компании_ человек никогда не столкнется?
(Ответить) (Thread)
[User Picture]From: summerdream_t
2013-05-12 10:39 pm
Agree
(Ответить) (Parent) (Thread)
[User Picture]From: dzz
2013-05-12 10:27 pm
Пожалуй, это самый "прямолинейный" способ найти остаток от деления положительного a на положительное b, который мне встречался.

Но, IMHO, это не гарантирует знания других важных концепций. Например, контроля области определения входных параметров функции ;)

Edited at 2013-05-12 22:36 (UTC)
(Ответить) (Thread)
[User Picture]From: dmarck
2013-05-12 10:46 pm
вот тут немножко неоднозначно.

в учебном коде, конечно, надо проверять и ассертить всё что можно

в реальной библиотеке, кмк, надо чётко описать как ею пользоваться, а корректность внешних данных (если это не общающийся с внешним потоком интерфейс, конечно) оставить на долю вызывающего.

Но, быть может, я в чём-то ключевом неправ (некий червяк меня, как профессионального параноика, ест, да ;-P)
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: xxqs
2013-05-12 10:47 pm
poor man's modulo :)
(Ответить) (Thread)
[User Picture]From: mea_sententia
2013-05-12 10:48 pm
ok(a, b) = a mod b, where a >= b > 0
so ok == modPos
(Ответить) (Thread)
(Удалённый комментарий)
[User Picture]From: morfizm
2013-05-12 10:57 pm
Удивлён, что в комментариях ещё никто не обратил внимание на самое главное. Название функции подсказывает, что её результат будут интерпретироваться как bool, соответственно, что она делает - это проверяет, что положительное a не делится на положительное b. То, что в случае true возвращаемое число является остатком от деления a на b, это всего лишь любопытный побочный эффект.
(Ответить) (Thread)
[User Picture]From: dmarck
2013-05-12 11:01 pm
стоп-стоп, откуда там обработка результата как логического?!
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: egorfine
2013-05-12 11:00 pm
Это невероятно суперсинтетический тест. Я очень отрицательно к ним отношусь. За свою жизнь видел немало программистов, которые понимают такие приколы и могут их отлаживать, но не в состоянии создать ничего прикладного.
(Ответить) (Thread)
[User Picture]From: dzz
2013-05-12 11:07 pm
IMHO, тест занятный. Вопрос не в самом тесте, а в том, насколько сильно он влияет на решение интервьюера о том, подходит ли кандидат. Прикладные аспекты всё равно сносно не выявить в ходе часового интервью, а на образ мысли товарища посмотреть очень полезно.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: tacente
2013-05-12 11:38 pm
С восхищением просмотрел дискуссию. Думаю, что в понятной мне области было бы аналогом.
(Ответить) (Thread)
(Удалённый комментарий)
(Удалённый комментарий)
[User Picture]From: kot_begemot
2013-05-13 12:12 am
а просто a%b никак нельзя написать?
(Ответить) (Thread)
[User Picture]From: el_loco
2013-05-13 09:05 am
Кэп?
(Ответить) (Parent) (Thread)
[User Picture]From: yucca
2013-05-13 12:50 am
И чего, много таких которые близко не могут понять, о чем речь?
(Ответить) (Thread)
[User Picture]From: meshko
2013-05-13 01:09 am
Я думаю, если без phone screen 50%, а с 25%
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: meshko
2013-05-13 12:58 am
Не люблю ФиззБазз. Есть в нем что-то неприятное.
(Ответить) (Thread)
[User Picture]From: cema
2013-05-13 03:03 am
Неплохо!
(Ответить) (Thread)
[User Picture]From: alex_hustle
2013-05-13 04:32 am
нормальный тест. Я бы ожидал что человек сначала поймет что это остаток, а потом возмутится что это дырявая реализация и напишет нормальную.
(Ответить) (Thread)
[User Picture]From: brandt1
2013-05-13 12:27 pm
+1
(Ответить) (Parent) (Thread)
[User Picture]From: tembel
2013-05-13 04:37 am
Остаток от деления?
(Ответить) (Thread)
Страница 1 из 2
<<[1] [2] >>