Задачи “на сообразительность” и оценка персонала
Для начала пинг-бек. Если в кратце, то Дарк в качестве одного из вопросов интервью привёл “задачку на сообразительность”, на что некоторые товарисчи высказались отрицательно. Я конечно же влез, т.к. не согласен категорически. Теперь вот думаю, что надо бы свою мысль прояснить.Итак проясняю популярно. Такие задачи показывают “только память” только в том случае, если собеседуемый знает задачу И собеседующий дурак. А во всех остальных случаях такие задачи показывают умение думать. Внимание! Далее спойлер 🙂
Ну вот типа, палю контору и заставляю придумать что-то новенькое. Т.к. задачи на сообразительность на наших собеседованиях пошли от меня, то думаю будет справедливо, если именно я заставлю нас сменить репертуар.
Итак зачем вообще нужны задачи на сообразительность? Не поверите, но именно затем, чтобы протестировать умение думать в стрессовых ситуациях (это для тех, кому собеседование стресс), что является основным скилом хорошего разработчика. Давайте разберем мою любимую задачу
Есть 2 веревки неравномерной структуры, про которые известно, что каждая из них горит 1 час.
Есть спички
Необходимо отмерить 45 минут
Уже решили? Нет? Решайте 🙂 и следите за ходом своих мыслей…
Обычно задача на сообразительность решается либо размышлением либо озарением.
Озарение удел гениев – его мы оставим за рамками поста, т.к. по полочкам оно не раскладывается, а вот с размышлениями дело другое. Давайте поглядим как размышляет среднестатистический собеседуемый (реплики собеседующего опущены):
– а если отрезать 75% верёвки, разве не будет гореть 45минут? Как нет ножниц?
– Ну а если бы были ножницы? Аааа – неравномерная структура значит, что горит неравномерно? Уууу…
– так, ну а если их сложить пополам и поджечь? Да и правда ничего не даст…
– (сидит молчит)
– ладно, сдаюсь. и как?
А что же делает мыслящий собеседуемый?
Ну дальше идут только мои мечты, т.к. пока никто (вам не показалось – я пишу это и плачу) – НИКТО не делал так, как я мечтаю.
Так вот, как должен делать мыслящий собеседуемый:
- нарисовать себе схему (вообще я для подсказки и так им рисую)
- определить входные параметры
- определить возможные варианты действий
- имея 2 и 3 перед глазами можно очень быстро дойти до необходимого решения
Ну и собственно спойлер:
тут Рестута советует погодить давать спойлер – может кто-то накоментит мне мою мечту? а я попозже проапдейчу статью тем, что же я хочу услышать…
P.S.: в тему Интервью при приеме на работу: взгляд интервьювера
Не слышал задачи, но руководствуясь твоими подсказками…
1. [пропускаем] – ты ужо картинку дал
2. не знаю, что ты тут имеешь в виду, лично мне хватает того, что есть две веревки
3. вариантов действий немного. поджигать можно с одного конца или с двух. одну веревку или сразу две.
4. тут просто включаем моск
Если поджешь с одного конца – ничего не происходит. Поджигаем с двух – веревка гарантированно сгорит за полчаса. “Ага”,- сказали русские мужики. Поджигаем одну веревку с двух концов, вторую – только с одного. Когда первая сгорит, поджигаем второй конец второй веревки. Когда вторая догорит – это и будет 45 минут.
Вычисления простые: 30 минут + 15 минут 🙂
Ммм… уже представляю как бы я устраивался сейчас на работу… вечер перед собеседованием гуглю все про фирму в которую иду на собеседование, нахожу блоги TOP-менеджеров и нач. отделов, читаю любимые задачки и приколы каждого – и все, дело сделано 🙂
2 Dmytro
стратил. 2 и 3 неполные, а они самая суть. решить задачу не проблема, проблема внятно – чётко, лаконично, достаточно и не избыточно – объяснить как ты пришёл к решению.
2 SiRex
я же написал – после этого поста смена репертуара 🙂 хотя это, вообще говоря, лишнее: я напряг составить планы заочного обучения по пхп, .нет, яве и вот вчера закончил по ПМ. Они даются людям, которые хотят к нам попасть – их дают в ВУЗах и на собеседовании, если не тянет. Так вот – народ чихать на них хотел, приходят повторно и ни в зуб ногой. А я не хитрю – я просто по пунктам из плана спрашиваю. ужос 🙁
2COTOHA: Боже мой, меня не возьмут в никсы работать 🙁 Ааааааааааааааааааааа….
А если серьезно, то мое решение – это полный перебор возможных действий. Которых всего ничего. Лично я не успел заюзать логику, сорри, варианты перебрались быстрее, чем включился моск: нельзя так, попробуем эдак. Все, задача решена.
Я вот думаю – а может собеседуемым давать задачку http://ru.wikipedia.org/wiki/Загадка_
2 Dmytro
когда решал, то может моск и не успел включить, но когда объяснял решение, то включить был обязан. Вот если к словам цепляться, то как это так “Если поджешь с одного конца – ничего не происходит”?
я хочу увидеть полное описание системы с точки зрения програмера…
а работать возьмут. я ж говорю, никто не объяснил решение, так ты что ж думаешь – я никого не взял? ага-ага.
2 Антон
что-то поламалося или ты не дописал. а вообще задачку можно задавать любую 🙂 не суть важно, важно смотреть как отвечают.
P.S.: и не парит тебя в субботу вставать в 8 утра? ужос… я вот тока глаза продрал 🙂
Твой блог сьел ссылку на задачку Эйнштейна (http://ru.wikipedia.org/wiki/Загадка_Эйнштейна)
В 8 утра меня тоже ломает, просто надо было Ромке админу (Trash’у) помочь с квартирным переездом…, вот только домой вернулся…
2COTOHA: Насчет ничего не происходит – имхо очевидно. Веревка сгорает за час. И вторая тоже за час 🙂 Никакого результата (кроме того, что убедились в правильности условия).
А работать брать не надо 🙂
ЗЫ. Слушай, у мну идея проснулась. Как насчет отдельной рубрики блога “Задачки на соображалку”? Скажем раз в неделю/месяц/год будешь постить задачку, и как-нить хитро собирать решения в течение дня/недели/месяца, чтобы эти решения собственно были не видны остальным. А потом результаты какие-нить…
Такие задачки не только нужно, но и необходимо давать. Не зря такие задачи в большом количестве изобилуют при прохождении интервью в google или mictosoft они то точно знают на основе чего производить приёме на работу.
to Anton Shevchuk Есть замечательная книга о методике приема на работу в Microsoft «Уильям Паундстоун – Как сдвинуть гору Фудзи» она просто состоит из таких рода вопросов почерпнуть от туда можно большой список вопрос.
2 Dark
Задача Эйнштейна, судоку, японский кроссворд – это всё одного поля ягоды и, вообще говоря, решаются очень просто. Что это тебе даст, как собеседующему? не ну если не решат, то конечно ой…
2 Дима
рад тебя тут видеть. давай больше каментов по сути – где рассуждения? 🙂
2 Dmytro
так она сгорает за час или ничего не происходит? 🙂 я же говорю – поцеплятся к словам.
не надо – не возьмём. это мы запросто 🙂
Идея была бы очень прикольная, если бы я такие задачки мог придумывать чаще раза в год. а у меня пока чаще не получается 🙁 Но у меня в планах кое-что похожее есть. надо тока дожить…
2 COTOHA
В задачке Эйнштейна – основное – это ход размышлений…
2 Дима
Обязательно почитаю, спасибо…
Я сам проводил собеседования и неоднократно задавал подобные задачки. В том числе и про верёвку, только в более простом варианте (1 верёвка горит час, отмерить полчаса). Ответ давали только те, кто слышал эту задачу ранее (они честно признавались :-)). Те, кто решения не знал, его не находили. Потому что в стрессовой ситуации, когда тебя до этого мучают вопросами о сборщике мусора .NET и прочих вещах, если ты ещё не дай бог перед этим писал тесты, трудно переключится и за короткий промежуток времени найти решение – интервьюер врядь ли будет ждать больше 5-ти минут.
Резюме. Я встречал соискателей, которые знали ответ, но которые нам не подошли. Я встречал соискателей, который ответа не знали, решения не нашли, но оказались замечательными специалистами. Вывод: больше на собеседовании я задаю таких задачек.
2 wicharek:
я понимаю эту позицию, хотя она весьма спорная. ведь если подумать, то ведь 100% были случаи, когда претенденты не отвечали на вопросы о ГАКе или сборщике мусора или коллекциях, но прошли по другим параметрам и в последствии стали замечательными специалистами. Можно ли сделать вывод, что вообще на собеседовании вопросы задавать не надо?
вот. а задачу про верёвку на моих собеседованиях решили достаточно много людей – при этом ВСЕ сказали, как отмерить 30 минут (я что в другой стране живу?!?!) – просто никто не смог внятно объяснить как.
2 Dark:
та не – главное в той задаче, умение её решить в уме. а с бумажкой методом исключения она решается просто, как и судоку с яп.кросвордом.
ложим одну веревку параллельно другой, но чтобы ее конец был посреди другой
+———-+
+———+
поджигаем конец который “выступает”, когда догорело до конка второй веревки – прошло 30 мин.
+—-+
+———+
далее несколько решений (сгибать, отдвигать =))
оттягиваем веревку, которая не горит, на средину “обгорелой”, когда догорит до средины – 45 мин
+—-+
+———+
+-+
+———+
з.ы. решил в уме за сек 30… имхо на собеседовании решающий фактор в решении – стрессовая ситуация…
ёпт, так извращался чтобы нарисовать…
пришлось рисовать в пеинте =) (сорри за качество – тачпадом не оч удобно =))
2 L!MP
🙂 стратил. решил вообще не правильно – пол-верёвки горит не полчаса, т.к. у неё структура не равномерная – может так быть, что 10% верёвки горят 50минут, а 90% сгорают за 10минут.
и ещё – статья не про ответ, а про способ его получения, в каментах надо объяснить как ты пришёл к ответу.
первую веревку поджигаем с двух сторон, это пол-часа, затем вторую поджигаем с двух сторон и посередине, это 45 мин
2 Анатолий
сорри, что не апрувил камент – был завал на работе. подход оригинальный, но не правильный 🙂 тем более, что я просил объяснить, как вы дошли до решения, а не просто его озвучить.
Прикол в том, что достаточно одной веревки чтобы отмерить 15 минут=)
2 Andrey
хм. что-то не верится… как? вариант типа “обмотать вокруг часов и ждать” не предлагать! 🙂
Поджечь по бокам и посередине(причем не обязательно ровно посередине, прото еще где-нибудь), главное, чтоб горела в обе стороны, что само собой разумеется, наверно тогда и одной хватит????
Ну а вторую просто с двух сторон..????
2 ТРИЧЕТЫРНАДЦАТЬ
не угадал 🙂 и по правилам надо описывать процесс думания…
Варианты еще принимаются? 🙂
Одну веревку поджечь с двух концов, вторую с одной. Когда полностью выгорит первая, вторую поджечь со второго края. Когда вторая прогорит – получится 45 минут.
Сначала думал про поджигания в нескольких местах, но там из-за неоднородности нельзя сказать сколько она будет гореть. (Если поджигать по края и по середине не факт, что получится 15 минут) А если только с двух, то вроде как раз в два раза меньше гореть будет.
EvilFaeton
вариант правильный,
и хорошо, что хоть немного рассказал, как дошёл до него. ещё интересно как долго думал, сколько вариантов отбросил?
Фух. 🙂
Решал просто – сначала, почему-то и пытался связать. Потом понял, что в ввиду неоднородности ничего не получится вариант не катит. Потом нарисовал, подумал стал думать о поджеге с двух концов и посередине (как предполагали выше), потом опять уперся в неоднородность. Понл что можно поджигать только с концов. А дальше просто рассмотрение вариантов. То бишь два отброшенных варианта.
Ушло чуть больше 5 минут, что много – даже стыдно. 🙁 (грешу на пятницу 🙂 ) Научник любил такие задачи подкидывать, теперь навык в решении потерялся.
Спасибо за интересную задачу!
EvilFaeton
5 минут размышлений это нормально. Плохо, если 5 минут втыка 🙂
про поджигание с двух концов и что это займет 30 минут – это пальцем в небо. С чего все так уверены-то в этом?? Задачка конечно какой-нить 7-8 класс, но не думаю, что кто-то в уме составил и решил уравнения.
почему пальцем в небо-то? поджигая с двух концов ты увеличиваешь скорость горения в 2 раза. соответсвенно время в 2 раза уменьшаешь.
к ебе*ям спалить их нах*й
1 делаем из одной веревки большой узел – это будет груз,
2 из второй веревки подвес, регулируем длину подвеса согласно формуле периода математического маятника
Отсчитываем нужное количество колебаний. в зависимости от того какую длину подвеса настроили 🙂
2 Antrisol
класс!
вот только линейки нет, чтоб длину определить
Такие задачки любят на собеседованиях задавать в крупные компании, типа майкрософта…
Подобные есть на http://nadopodumat.ru/?paged=6
“А теперь, Горбатый! Я сказал: Горбатый!” (к) (тм)
А вот доказать что веревка, подожженная одновременно с двух концов, в условиях неоднородной скорости горения горит таки 1/2 общего времени – слабо? И пойдем еще дальше: доказать, что вторая веревка, подожженная с разных концов в разное время сгорит именно за предполагаемое время, а не какое-либо другое.
“Поехали!” (к) (тм)
2 The Lex
кто кому доказать должен?
но вообще это ж очень просто
Поджечь одну веревку с двух концов, а вторую с одного конца. Когда первая веревка сгорит (пройдет 30 минут) – поджечь вторую в другого конца. С этого момента до того, как она догорит – 15 минут.
Ответ не верный. Веревка подожженная с двух концов при неоднородности например типа ускорение (s=at^2/2) прогорит на чуть больше половины, а именно 0,56 примерно. Интересная задача и имеет ответ с одной веревкой, но только при условии уточнения какая неоднородность. Экстримальный пример для проверки: неоднородность типа половина пропитана порохом… что не получается половинка то за полвремени 🙂
2 Ivan
ой, не увидел комента. вынужден разочаровать 🙂 даже если одна половинка – бикфордов шнур, а вторая половинка пропитана антисгорином (но при этом она всё равно горит 1 час), то при поджёге с двух сторон она сгорит за полчаса.
а что значит прогорит “на чуть больше половины”? то есть она не сгорит полностью или что имелось в виду? 🙂