?

Log in

No account? Create an account

psilonsk


Блог об управлении проектами


Previous Entry Share Flag Next Entry
Fizz Buzz
psilonsk
20000-pageviews-for-fizzbuzz

На интервью, особенно с технарем, важно человека разговорить, а чтобы разговорить – нужно с чего-то начать разговор. Один из методов начала разговора – логическая задачка. Оказывается, многие интервьюеры (в разных странах мира, кроме России) при найме программистов любят начинать разговор с задачи fizz buzz. 

Вообще-то, fizz buzz – это популярная в англоязычных странах детская игра. Суть ее в следующем. Садятся дети в кружок и начинают называть по очереди натуральные числа от единицы: 1, 2, 3, 4, 5, … . Когда встречается число, которое делится на 3, то его не называют, а говорят «fizz», а когда встречается число, которое делится на 5, то говорят «buzz». Если встречается число, которое делится и на 3, и на 5, то говорят «fizz buzz».
Получается так: 1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizz buzz, 16, … Тот, кто задумался надолго или ошибся, выбывает. Последний оставшийся – победитель. Играя, дети учатся быстро применять признаки делимости на 3 и 5.

Для человека, который претендует на то, чтобы называться программистом, написать программу, которая будет печатать первые 100 чисел по правилам fizz buzz – элементарное задание. И хорошее начало для серьезного разговора.

Я же это задание вспомнил не только потому, что за неделю мне три человека с разных континентов о ней напомнили.
А потому, что вспомнилось, как я сам познакомился с вариантом этой игры. Это был вариант «для взрослых». Идея – такая же, как в детской игре. Только тот, кто ошибся, не выбывает, а выпивает. Было забавно. У нас дольше всех держался худенький китаец (кажется). При этом отвалившиеся не напились, а просто падали от хохота. )

А в России на интервью с программистом любят начать с задачи подсчета битов в байте, а взрослые играют в «Тигр идет!» – даже цифры знать не надо. Видимо, чтобы не смешивать работу и удовольствие. ))

promo psilonsk february 12, 2015 18:07 17
Buy for 100 tokens
Ранее в сериале: История первая: договор Ариадны История вторая: лыжи, смоктульки и чаевые История третья: мертвец и розетка ​*** — Послушай, Леша, послушай меня, милый мой друг. Ты же менеджер проектов, так? Ты же не дебил, правильно? Я тебе на пальцах объясняю, а ты понять не можешь.…

  • 1
Сразу захотелось сходить на собеседование.

А в чем смысл задачи о подсчете бит в байте?

Я часто даю задачку на подсчет количества ненулевых битов в байте как часть телефонного интервью (но с возможностью писать код в shared google doc). Последнее время удивлен тем, что много программистов (с 2-3 летним стажем) очень слабо представляют себе биты, байты, бинарную арифметику

Ага, в этом духе задачки.

Сначала я хотел сказать, что программистов испортили всякие среды "перетащи кнопку на формочку", но потом понял, что не только они виноваты. Но и то, что программист теперь - довольно массовая профессия, в которой кого только нет. Раньше это был спецназ, а теперь - стройбат.

Edited at 2013-02-18 07:18 am (UTC)

специализации разные.
Проектировать системы на Java с куче обвесов - это не байты считать.

Программист, который не в состоянии решить вышеперечисленные задачи, мгновенно отправляется "проектировать системы на Java с кучей обвесов" в какое-то другое место.
Туда же идут математики и инженеры, которые не знают, что такое производная.

да может он это решить, только не сходу, поскольку биты и байты в работе своей не встречает уже много лет.
ИМХО, чтобы такие задачи виртуозно решать достаточно посидеть с книжкой неделю, а чтобы строить сложные архитектурные решения месяца с книгами будет мало.

  • 1