Как стать автором
Обновить

Комментарии 71

Если вы хотите узнать как кандидат отгадывает головоломки то конечно их нужно использовать на собеседовании
умение решать головоломки никак не коррелирует с умением решать реальные задачи

Что-бы там не говорили, соображалка и умение нестандартно мыслить часто помогают найти элегантное решение сложной проблемы даже в самой «реальной задаче».
Головоломки и просто неожиданные вопросы на интервью очень полезны. Причём лучшее впечатление производит совсем не тот, кто их решит, а тот, кто понравится процессом решания. Например, позвонит другу.
Друга и наймут ж:)
Друга и наймут
Не факт, Вы нашли исполнителя, а значит и в процессе работы сможете найти решение задачи, а каким путём это уже вопрос второй.
… или вместо того, чтобы решать задачу, будет всё время искать, на кого её можно «скинуть».
Тут нужно понимать как человек решает задачи — он принимает решение исходя из своего собственного предыдущего опыта. И тут совершенно не зависит умеет ли он отгадывать эти задачи или нет. Вы можете научиться решать подобные задачи, если прочитаете книгу по этим задачам, и найдете в них основные типы решений. С мышлением и логическим мышлением это мало связано это всего лишь навык.
Решать головоломки полезно, другое дело что на решение иных головоломок авторы тратят годы, а то и всю жизнь. Собеседование это мероприятие сильно ограниченное во времени, поэтому для успеха либо надо знать решение или, как минимум, быть в теме, а про тему по какой-то причине кандидаты в работодатели сообщать забывают.

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

Поиск гениев, если уж они вдруг потребовались, это совсем отдельная тема.
Пример головоломок в студию пожалуйста.
Кубик Рубика.
www.kinopoisk.ru/level/1/film/418762/
советую к просмотру

Восемь претендентов пытаются получить работу своей мечты. Но вакансия всего одна. На пути к заветной должности они уже преодолели массу испытаний. Остался последний экзамен. Он проходит в изолированной комнате под присмотром вооруженной охраны. За 80 минут 8 человек должны ответить на 1 вопрос. Условие: нельзя портить бумагу, на которой он написан. Время пошло! Первый шок: на листках ничего нет. На какой же вопрос надо ответить? Один из кандидатов начинает писать: «Думаю, вы должны нанять меня потому, что…» Первая ошибка! Бумагу портить нельзя. Девушку удаляют из комнаты. Оставшиеся пытаются решить проблему вместе. Впереди испытание водой, огнём и ненавистью.
Спасибо за наводку! Только что с удовольствием досмотрел этот фильм.

<spoiler>
Я с самого начала так и знал, что «немой» там явно причем!
</spoiler>
сука
и тебе долгих лет жизни
А он уже есть в хоть сколько-нибудь прпиличном качестве?
В начале улицы стоит восьмиэтажный дом.
На шестом этаже этого дома живет врач A.
У него в квартире три двери и два окна.
На седьмом этаже живут врачи B, C, D — родные братья врача A
Больше у врача A братьев нет.
В квартире врача B столько же окон, сколько дверей в квартире врача C…
… И столько же дверей, сколько окон в квартире врача C.
У братьев врача D в общей сложности столько же дверей, сколько и окон.

Вопрос: живет ли на этой улице тёща врача A? Ответ обосновать.
Не живет. Врач А женщина, и поэтому тещи не имеет
НЛО прилетело и опубликовало эту надпись здесь
«У братьев D в общей сложности столько же дверей, сколько и окон». Это возможно только если А не брат, а сестра.
НЛО прилетело и опубликовало эту надпись здесь
Формулировка некорректная, Вы правы.
Например, почему люки круглые, сколько настройщиков пианино в мире, задачи со спичками, сколько раз часы пересекутся за сутки и т.д.
Постная х… ня, я думал что-то вроде первого уровня как на topcoder.com
про люки знаю, а с настройщиками пианино что?
единственное что приходит в голову — провести связь между их количеством и количеством пианин.
Типа «каждое пианино нужно настраивать 1 раз в месяц, на настройку тратится около двух часов, за день, с учетом дороги и времени на получение задачи, настройщик может настроить не более трех пианино, что даст примерно 60 пианино в месяц. Округлим до 50, вычтем отсюда простой по причине отсутствия работы, праздников, болезней и отпусков — получим, допустим, 40.
Вывод — количество настройщиков = количество пианино/40. „

Я бы отвечал как то так ^^
Может быть есть у кого-нибудь хорошие головоломки? Хотелось бы испробовать на предстоящих собеседованиях ;)
Сидят за столом японец, ковбой и джентльмен. Сколько под столом ног?
10?
Посчитали лошадь? В понедельник ждем вас на новой работе.
4? Джентльмен не будет просовывать ноги под стол, а скорее спрячет их под стул.
И то, может даже 3, т.к. ковбой, в силу своей профессии, может закинуть ногу за ногу. :)
НЛО прилетело и опубликовало эту надпись здесь
Менее элегантное решение, но похоже на истину. =)
А японец скрестит их на стуле? В итоге только 2? :)
А как же ноги самого стола? Или он без ног?
Хм, кстати да, значит все же 6 :)
Интересно, итогом решения этой задачи должно стать множество? Лучший тот у кого лучше работает фантазия?
А ещё ножки стульев и трость у джентльмена.
Японец ест сидя на полу. Если люди у него в гостях, то они тоже на полу. Если так, то 0 получается.
разве японец? Я помню про индийца который сидит в позе лотоса. Итого получалось 2.
Возьмите книгу Уильяма Паундстоуна «Как сдвинуть гору Фудзи».
Мдя… Теперь перед собеседованием не мануалы читают, а загадки разгадывают. Потом и получаем всякое разное.
Я работодатель ;) мануалы читать мне ни к чему :-P
Головоломки как тест на способность решать нестандартные задачи прекрасны. Но на мой вкус собеседование из одних головоломок странно. Особенно если они уже вдоль и поперек разобраны в соответствующих источниках. На одном собеседовании докатилась до того, что сама стала рассказывать задачки hr-ницам.
НЛО прилетело и опубликовало эту надпись здесь
Ну почему же сразу уйти. Многим такое нравится ^^
Прочитайте книгу «Как сдвинуть гору Фудзи» — Уильяма Паундстоуна. Он описывает практику собеседований в Microsoft. Крайне негативно об этом методе отзывается.
Солидарен. Самое прикольное, что эту книгу прочитали уже много HR и на собеседованиях задают вопросы из неё претендентам, также прочитавшим эту книгу. Получается забавно.
Ну «никак не коррелирует» — это слишком сильно сказано, коррелирует конечно, но в общем да, определяющим это быть не должно. Равно как и задачи на алгоритмы.
Нету моего ответа. Я считаю что полезно проверять логическое мышление, но оно не должно иметь приоритетное значение.
Не путайте мягкое с теплым. Логическое мышление и способность решать головоломки ни как не связаны. вы можете научиться решать подобные задачи если прочитаете книгу по этим задачам и найдете в них основные типы решений. С мышлением и логическим мышлением это мало связано это всего лишь навык.
Пардон, я имел ввиду нестандартное мышление. Сомневаюсь, что прочитав книгу, вы научитесь решать все головоломки с подковыркой.
Но все равно считаю, что решение таких головоломок должно присутствовать на собеседовании. Как и много других, не относящихся к специальности. Это очень полезно при формировании команды, кто какие «должности» займет и т.п.
К каждому человеку нужен индивидуальный подход, нельзя основываться только на опыте по специальности.
Недолюбливаю сотрудников, которые применяют нестандартные подходы и решения. Они пытаются писать нестандартный код О_О.
НЛО прилетело и опубликовало эту надпись здесь
Нестандартный код — это идеоматическое выражение. Например, когда человек для генерации идентификатора при отсутствии жестких условий делает массив фиксированного размера и выбирает из него «освободившиеся» иднтификаторы по round robin с кучей флагов и проверок — это нестандартный код. Потому что стандартный код — это инкремент UINT64.
НЛО прилетело и опубликовало эту надпись здесь
Нет, непосредственно этот не решал. Это на самом деле очень могущий в своей области программист. Умеет работать и решать задачи. Просто пример уж очень демонстративный.

Головоломки решали другие. К сожалению, их косяки так просто в двух словах не опишеш. Но, поверьте на слово, менее феерическими это их не делает.
Что значить стандартный код? По ГОСТу что ли? :)
И какой код в принципе можно считать нестандартным, если он выполняется и не является обфускацией?
Нестандартным можно считать код, который при отсутствии жестких условий (ограничение по памяти/скорости) имеет значительно более простую альтернативу. См. пример выше.
Пример выше ни о чем. Есть намного более простые способы в зависимости от окружения и задач и способ показанный «плохим» имеет свои преимущества и «хороший» имеет свои недостатки.

Вообще надо быть более толерантным к чужому коду. Например я пишу плагины, правя старые и в результате имею на первый взгляд много лишнего, но на второй и последующие — очень даже полезные. И вообще reusing.
Вообще надо быть более толерантным к чужому коду


Да-да, а когда человек уходт — тратить месяцы на то, чтобы его коллега разобрался в написанном коде. Через два года обавление новой функциональности в толерантный код будет стоить столько же, сколько переписать с нуля.

В целом я с Вами согласен. Но при условии, что программист — это гуру, который точно знает что и как он делает. И который никогда не покинет компанию. Такого человека можно вообще не контроллировать и за его кодом не смотреть — он сам все сделает. Самый сильный из известных мне программистов пишет вообще как курица лапой. При этом его код не содержит багов, не падает, работает 24/365 и приносит ему миллионы. К сожалению, ни я, ни люди которых я нанимаю так не могут. Гениев мало, а работы много :(.

К сожалению, в реальной жизни гуру очень мало. Большинство программистов, с которыми приходится работать, имеют средний уровень. И их креативные, нестандартные решения, как показывает практика, пагубно сказываются на поддержке и развитии сздаваемых продуктов. Увы :(.
Не надо смешивать все в кучу.
Есть сложный в понимании код ( хотя мне сложно представить такой, в котором нужно разбираться месяцы ), а есть плохо поддерживаемый, плохо задокументированный и плохо спланированный — такого как раз полно.

Толерантность в смысле «я бы сделал по-другому» трансформируется в «почему это именно так ?», а не праврашается в «убери весь этот говнокод!». И это совсем не терпимость к лени кодера в проектировании и документировании. Одно дело когда некий финт ушами сделан осознанно, продуман и проверен, в нем предусмотрены простые возможности для изменений и расширений, ключевые моменты продуманы и собраны вместе и все это задокументировано и совсем другое когда некий финт ушами сделан потому что лень.

И, к стати, гуру тоже не в вакууме живут, могуть болеть или поменять место работы.

Если искать кодера, то наверно кодер должен мыслить стандартно. Но программист ведь должен решать задачи посложнее генерации идентификатора. По большому счету генерация идентификатора вообще должна быть вещью абстрактной и не отвлекать от логики :)
Задачи посложнее генерации идентификатора — это какие? Реализация нового видеокодека, алгоритма сжатии, сетевого протокола?
Все должно быть к месту. Есть позиции в которых нестандартное мышление — несомненный плюс. Есть такие что нужно четкое логическое мышление. Но обычному кодеру надо хорошо владеть предметом, знать особенности алгоритмов или придумать их на ходу и подсчитать что лучше и уж во вторую очередь абстрактное мышление.

Но опять же просчитать логическую задачку должен уметь любой иначе ему в IT делать нечего. Знание ответов на какие-нить широко известные задачки тоже имхо плюс.
> Знание ответов на какие-нить широко известные задачки тоже имхо плюс.

В чем тут плюс? Показывает, что он не первый раз устраивается на работу, а то и хабр почитывает на досуге?
Оба варианта показывают что чел читает и интересуется. Что есть плюс.
Хорошо, что мне в IT делать нечего :). С другой стороны, из личного опыта — алгоритм пробивания NAT с рядом критериев по устойчивоси я родил за час. Олимпиданик, который логические задачи щелкает как орехи и имеет немаленький опыт профессионального программирования, не смог. Лично я логические задачи вообще решать не умею — они ставят меня в тупик и там оставляют :).
Ну еще скажите что читать и писать не умеете, зато «нутром чуете» куда пнуть что бы заработало :)

Логика для IT-шника — как сиськи для порнозвезды.
Вопросы — прекрасный источник информации о работодателе. Ни один HR, ни одно описание вакансии не даст вам такого полного представления о предстоящей работе, будущем начальстве и коллективе, как вопросы на собеседовании!

Если собеседование начинается с вопросов про люки — диагноз.

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

Если спрашивают про «i++ + ++i» — диагноз: ни ума ни фантазии.
в фильме «Men in black» был яркий пример подхода к решению головоломок)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории