Самая лучшая головоломка у Эйнштейна, про 7 одновременных событий. Была реальная задача на 10 событий и у каждого по 2 варианта ответа. Правда, Эйнштейн считал, что его задача решается за 5 минут. На самом деле это возможно только если обстановка способствует. В противном случае времени уйдёт больше.
Нужны ли такие навыки сейчас? Нет. Первое: современные задачи имеют на порядки большую сложность. Второе: полно придумано софта для подобного моделирования. Вывод: если ваши головоломки повторяют решения типовых задач, то либо вы сами не ушли дальше того, кто их придумал 20-30 лет назад, либо вы не знаете программ, которые их решают за 1 минуту.
Так что можно натаскать себя на решение типовых задачек, а потом у истца спросить знает ли он о существовании готового софта для их решения. Сразу будет видно, кто движется вперёд, а кто решает задачи прошлого века :)
Ну, если ты нихера не делаешь, то да, тебе в «реальной жизне» нужен лишь счет до 100 и простейшая арифметика.
Кстати, зачем там геометрия? Ну будет у тебя 48 градусов, чем это лучше 57 градусов? Или ты «геометрией» называешь сакральное знание, про сумму углов треугольника?
...мы выяснили, что при найме головоломки — это пустая трата времени. Сколько мячиков для гольфа можно запихнуть в самолет? Сколько заправок в Манхэттене? Пустая трата времени. Они ни о чем не говорят. Они служат лишь для того, чтобы интервьюеры чувствовали себя умными...
А ведь Google был одним из флагманов в сонме компаний, активно практикующих головоломки на собеседованиях.
PS. Я не в курсе, изменилось ли в Google что-то с тех пор и не пришли ли за это время они к прямо противоположным выводам :)
Я тут уже писал, головоломки разные бывают, от булшита с люками они отказались, и правильно. Что касается гугла, то у меня товарищь не так давно ездил на собес в гугл, так вот он там решал практическую задачу, два дня по 8 часов. Хороший, наверное, метод, жаль только что только гугл себе может позволить такое.
Когда мне головоломки предлагают и хотят мой интеллект оценить на основе решения одной долбаной головоломки (которую я к тому же могу знать заранее), это раздражает настолько, что меня аж трясет.
Это хорошо, конечно, если программист (или не программист) любит в свободное время ради развлечения решать какие-то нестандартные задачки, но пытаться оценить компетентность на основе случайным образом выбранной и зачастую некорректно сформулированной задачки - признак непонимания суть профессии. Вот заставил бы я строителя собирать карточный домик или писателя разгадывать кроссворды - вышло бы то же самое.
Я понимаю твое негодование, никто не любит решать эти задачки, так как они оголяют. Можно долго втирать какой ты крутой, прятаться за опытом, но вот тебе дают задачу и все видят как шевелятся шестеренки у тебя в голове.
но вот тебе дают задачу и все видят как шевелятся шестеренки у тебя в голове.
Ну вы бы походили по ссылочкам, которые я дал. Google проанализировал результаты работы своих сотрудников, сделал статистические выкладки и на их основании пришел к выводу о том, что видимость шевеления шестеренок в голове собеседуемого при решении задачек никак не коррелирует с результатами его дальнейшей работы. Зато самомнение собеседователей повышает, да.
Есть у меня сильное подозрение, что у Google выборка была более значима, чем у вас.
Имея в голове понимаие пары-тройки элементарных принципов навроде динамического прогрмирования иметь уровень Хоара необязательно для того чтобы родить идею решения задачи, а под нее - алгоритм(-ы), архитектуру решения, вероятно, не абсолютно оптимальные, но хотя бы работающие, и не за неделю, а значительно быстрее.
Лингвисты/просто полиглоты обычно очень хорошие программисты
А с моей точки зрения способность легко усваивать языки наиболее свойственна гуманитариям. Гуманитарий же максимум пыхпыхером может быть. Какой из него программист, если он даже не знает, с какой стороне к болгарке или перфоратору подойти?
Собеседующие любят идиотские головоломки, т. к. идиотом-то чувствует себя соискатель, а они такие с умным видом сидят красивые.
И другое: эффективный программист отличается критическим мышлением и откалиброванным bullshit-сенсором. Когда ему подсовывают бессмысленную задачу, у него в голове сразу загорается красная лампочка: НАФИГА?! И здоровое чувство лени не позволяет ему дальше тратить мышление на эту лабуду. Т. к. лабуды много, а жизнь одна. Ещё и начинает задавать вопросы: нафига вам понадобилось сортировать текстовый файл в 100 гигов? Как так получилось, что у вас 100 гигов данных оказались в текстовом файле, а не в специализированной бд, совсем дебилы? Нафига вам искать циклы в списке? Если циклов быть не должно, почему нет проверки при добавлении в список, совсем дебилы? По понятным причинам, менеджерам крупных компания люди с критическим мышлениям неудобны. А бессмысленные головоломки - проверенный способ отсеять неудобных людей ещё на этапе собеседования. Идеальный же сотрудник - такой стереотипный гик с обсессивно-компульсивным типом личности, которому если в голову западёт головоломка, то уже не успокоится и ночами спать не будет, пока не решит пятью способами. Можно даже не кормить и денег не платить, только снабжать головоломками в избытке, а когда совсем свихнётся - просто нового завести. Мечта управленца.
На собеседованиях задавали простые вопросы. По типу таких: дан цикл, и входные параметры. Что будет на выходе. И пара теоретических вопросов. Это когда я шёл на позицию программера в незнакомое место наобум.
Единственной книжкой по головоломкам, из которой решил достаточно задачек, была подарена.
В школе в математических олимпиадах не участвовал. Группка школьников, которые участвовали, вели себя как илитка, у них была своя туса, они сторонились наших шумных сборищ на дикой природе, даже в столовку ходили отдельно. Математичка это поддерживала такие настроения, всем своим видом показывая, что скоро из илитки сформируются как минимум эйнштейны. Это вызывало у не-илитки громкие приступы тонкого английского юмора и злой тихий протест.
Сейчас, наверное, что-то изменилось. Олимпиадные грамоты, видимо, что-то значат при поступлении/получении универских благ.
Нет. Программист должен хорошо знать предметную область, на которую его собеседуют. Вот по ней можно и нужно задавать хитрые вопросы, как можно ближе приближенные к практике.
Я читал, там речь идет о всяких «прикольных» задачах, типа про блендер и люки. А я про математические/алгоритмические задачки говорю, которые задают в конторах типа яндекса, меилру и так далее.
Ну дык в том-то и фишка, что нужно задачу-головоломку решить простым как лопата кодом. «Просто делать - сложно, сложно делать - легко» (с) не помню кто. Короче программер после себя должен оставлять меньший хаос, чем на входе, это его, так сказать КПД.
Не всегда. Если в банк идешь, ясень пень, в форексах всяких шарить, это громадный плюс. Но бывает, что предметка простая. Ну вот представь ты программиста нанимаешь ЛОР разрабатывать. Какая тут, к черту, предметка?
Может мы просто избалованные в России? У меня товаришь собеседовался в Лондоне. Говорит, что у них скорее избыток кандидатов, а не недостаток, так как всякая шняга у них вынесена на аутсорс.