— Интересное резюме упало. По скиллам парень нам, вроде, подходит. Работает в какой-то конторе, обслуживающей оборонку. Я позвонил ему. Он готов приехать на собеседование, но только через пару недель. Как я понял, он сейчас чуть ли не в Сирии. Посмотришь резюме?
Это я столкнулся в коридоре с нашим директором по персоналу (которого буду здесь звать Колей, хотя он совсем не Коля). Мы с ним нанимаем людей в команду, которой я руковожу. Коля явно горел энтузиазмом по поводу этого кандидата. Так что и я заинтересовался:
— Конечно, посмотрю. Скидывай.
В действительности описанная здесь история произошла 7 лет назад. И текст был написан в то же самое время. Тогда я не стал публиковать его для широкого круга читателей по разного рода соображениям. Вместо этого "прикопал" на время в соцсетях. Сейчас же случайно вспомнил об этой истории и решил выпустить в мир.
Резюме выглядело очень не плохо. Особенно на фоне остальных, пришедших к нам за последнее время в виде отклика на ту же самую вакансию. Слегка смущало, что у парня, который выпускается из универа только на следующий год, довольно многогранный и обширный опыт. Но к этому я уже привык. Сейчас многие действующие/вчерашние студенты обучены себя продавать. Правда, магии обычно не случается, и оказывается, что продавать вчерашним студентам особо нечего. Что, впрочем, меня не смущает. Ибо это логично, и я изначально нацелен на то, что джуниора придется обучать.
Встретились мы с этим парнем спустя недели три.
Сидим втроём в переговорке: он, директор по персоналу и я. Выправка у кандидата бравая. Спина прямая. Выражение лица спокойное, руки мягко лежат на столе. От кофе, чая и шоколадок отказался. Даже от шоколадок! Что для меня немыслимо. Но почему-то почти все от них отказываются.
Раньше меня настораживали спокойные кандидаты. Про себя я знаю, что буду трястись и нервничать на любом собеседовании, где сам буду кандидатом. Коля утверждает, что тоже (хотел бы я на это посмотреть). Однако многие сегодняшние выпускники ВУЗов выглядят на собеседовании очень спокойно и очень уверенно. И я успел к этому привыкнуть. Коля называет это «уплощенным аффектом поколения пост-игреков». ?
Рассказали парню про компанию и проект. Вопросов к нам у него на этом этапе не возникло. Поэтому перешли к знакомству уже с ним.
Оказалось, что он только-только вернулся с авиабазы Хмеймим, где проводил внедрение системы мониторинга компьютерной сети на предмет обнаружения угроз безопасности.
Выглядело всё слишком круто. И это настораживало.
Меня не особо смущало то, что студента отправили в Сирию. Я не сильно разбираюсь в военных заморочках, но вижу, что в Сирию запросто возят артистов, чтобы развлекать наших военных. Еще не так давно в район боевых действий могли отправить срочников (может, и сейчас могут). А это вообще парни 17-18 лет. Думаю, что даже гражданские компании сейчас вполне могут работать в Сирии по контракту.
Что действительно показалось подозрительным – так это крутость технических задач, которые решал парень. Я не могу сейчас вспомнить их все. Но задач было много, они были разнообразные, большей частью относились к компьютерной безопасности. А роль нашего кандидата в их решении всегда была одной из главных.
Я пытался разглядеть в нем студента последнего курса, но не мог. Это был состоявшийся программист-суперагент с богатым послужным списком.
В мире, конечно, изредка встречаются гении, типа Виталика Бутерина. Но вряд ли Бутерин пришел бы ко мне на собеседование. Поэтому в пришедшем ко мне на собеседование студенте я все-таки рассчитываю увидеть студента.
В какой-то момент этот парень упомянул работу с комплексами С-400 в Ливии «еще при Каддафи». Для меня это было уже перебором:
— Послушайте, Каддафи убили в 2011. Вам тогда было 17 лет. Как же вас могли отправить в район боевых действий в таком возрасте?
Но кандидат даже бровью не повел и совершенно спокойно начал уточнять историю:
— Нет, конечно же, мне тогда было не 17…
В это время я перевожу взгляд на Колю. Хотелось встретиться с ним глазами и увидеть в них подтверждение того, что нас водят за нос. Однако Коля выглядел так, будто ему очень интересно и он нацелен продолжать в обычном русле. Он не дал кандидату договорить и обратился ко мне:
— Парой лет раньше, парой лет позже… Какая разница?
У меня отвисла челюсть (мысленно, правда). Сначала я подумал, что Коля прикалывается. Потом подумал, что не хочет доставлять кандидату дискомфорт. Но затем мне показалось, что ведет себя он совершенно естественно. Про парня же у меня появилась гипотеза: может, он и не врёт, а скорее, живет в каком-то своем иллюзорном мире. Но я попытался от нее отмахнуться. Все-таки я не доктор и диагнозы ставить не могу.
Как бы там ни было, я испытывал сильный когнитивный диссонанс. Надо было не только продолжать работать с парнем, но также интересно было понять, в какую игру играет Коля. Делать было нечего, я оставил тему Каддафи и продолжал:
— Мы здесь решаем очень интересные задачи. Но мы не сможем послать вас в ближайшее время в Сирию или Ливию. У нас там пока нет бизнеса. Что вас привлекло в нашей компании?
— То, что не нужно будет ехать в район боевых действий – как раз хорошо. Раньше я мог себе позволить опасную работу. Но теперь есть что терять. Семья появилась.
Коля присоединяется к вопросу:
— А чего хотелось бы от работодателя? Какими мы должны быть, чтобы вам захотелось у нас работать?
— Хотелось бы много сложных технических задач. Возможно, поближе к железу. Хотелось бы, чтобы загрузка была по полной. Если я недозагружен, то начинаю терять интерес, частично ухожу во фриланс.
Я снова смотрю на Колю. И он снова даже бровью не ведёт.
Коля – очень опытный HR. И очень крутой. Много раз уже выручал меня по части построения психологического портрета кандидата. Но в данной ситуации я совершенно не понимал, что происходит. То ли он решил в какую-то свою игру сыграть, то ли кандидат его околдовал...
— Давайте вернемся к Каддафи. Как вас все-таки туда занесло в 17 лет?
Этим вопросом я надеялся вторично показать Коле, что с биографией кандидата что-то не так. Но Коля снова сказал, что не важно, действительно ли история случилась при Каддафи или парой лет позже.
Кандидат мог бы спрятаться за этим возражением Коли, но вместо этого очень спокойно добавил:
— Мы на секретной кафедре МИФИ понимали, на что идем. Все были к этому готовы.
И тут мне начало казаться, что наверное, у меня плохо с головой...
Рядом со мной сидит Коля, который усом не ведет и продолжает спокойно собеседовать кандидата. Сам же кандидат очень хорошо владеет собой. Если и врет намеренно, то совершенно никаких признаков этого не подает. Легко дополняет картину, когда ему задают уточняющие вопросы. Рисует все в мельчайших деталях. Называет конкретных людей, даты, программные инструменты, с помощью которых работает. В лучших традициях постмодернизма: картина настолько детально отрисована, что в ее реальности сомневаться сложно и глупо.
— Вы только в следующем году заканчиваете университет. У вас получится совмещать работу и написание диплома?
— Диплом я написал еще полгода назад.
— По итогам вашей рабочей деятельности писали?
— Нет, он на совершенно отдельную тему по информационной безопасности.
Джеймс Бонд какой-то… Куча направлений деятельности и всё успевает. 90% людей из нашей компании можно было бы разогнать и взять вместо них только этого парня…
Постепенно подошло время технической части. Коле надо было убегать на встречу, и он нас оставил. В теории, здесь я мог бы расстаться с этим парнем. Но! Есть два соображения, которые не позволяют мне прерывать собеседования, пока не получена полная картина:
во-первых, если вы кому-то отказываете, то должны быть сами полностью уверены в том, что это правильно. Также должны быть в состоянии объяснить причины отказа и себе самому, и кому угодно. Удобно даже представлять, что о причинах отказа вам придётся говорить в суде. Как думаете, насколько рабочим в суде был бы аргумент: "Мне не понравились байки кандидата про Каддафи"? К тому же определяющими при найме всё-таки являются реальные компетенции кандидата. Мог ли я на данном этапе утверждать, что кандидат не в состоянии закрывать технические потребности вакансии, на которую собеседовался? Конечно же, нет
во-вторых, если есть хоть крошечный шанс, что кандидат не врёт, необходимо считать, что он не врёт. Необходимо давать шанс и ему, и себе. Ведь собеседование это не только ради того, чтобы потенциально "осчастливить" кандидата. Компании-то тоже нужны сотрудники. Мог ли я сказать, что кандидат на 100% врёт по Каддафи и свои подвиги? Нет, не мог. Не скрою: я ему не верил. Но это ещё не основание для отказа. Вдруг он гений?
Перед тем, как приступить к технической части, решил задать кандидату ещё один вопрос общего характера:
— Вы сказали, что не хотите больше иметь дела с опасной работой. Неужели в вашей текущей конторе не нашлось для вас интересных, но безопасных задач?
— Я посмотрел список вакансий. Там есть только позиция тестировщика. Мне это не интересно.
С суперагентской частью на этом завершили. Наконец, можно было пощупать в нем программиста.
— Расскажите, пожалуйста, о самой сложной и интересной задаче, которую вам приходилось решать. От постановки до поиска решения и до реализации.
— Я могу рассказать о двух.
Тут я в очередной раз немножечко прифигел. Даже если передо мной лучший в мире актёр и врун, то зачем ему две? Опять слишком реалистично. Опять грёбаный постмодернизм.
— Давайте!
— От командования поступило задание. Есть IP-адрес. Необходимо узнать о сервере как можно больше. В результате моей работы выяснилось, что это сервер, находящийся на турецкой территории, с которого велась переписка с ИГИЛ. Был произведен взлом сервера, и вся переписка передана командованию.
— А вторая?
— У нас была проблема с программой для архитектуры Эльбрус. Ошибок в коде не было. Но во время исполнения возникал segfault.
«Ну, – думаю. – Как-то мелко получается для Джеймса Бонда. Человек будто бы одновременно работает на ФСБ, внешнюю разведку и армию. И тут на тебе. Поиск бага. Пусть даже на Эльбрусе».
Но при этом, что важно, история "службы" парня всё-таки выстраивалась в прежнем ключе. В едином ключе. Платформа Эльбрус действительно активно используется в нашей оборонке.
— Расскажите, пожалуйста, подробнее про эту платформу.
И тут у меня, наверное, глаза на лоб полезли. Потому что парень действительно кое-что рассказал. Причем совершенно по делу. И еще добавил, что работает с человеком таким-то из МЦСТ (это контора, которая делает Эльбрусы). Конкретно этого человека я не знал, но упоминание фамилии навело меня на мысль об очередном провокационном вопросе:
— Кто у них сейчас гендиректор?
— Я не знаю. Я работаю непосредственно с тем человеком.
Хм, вполне разумный ответ. Явно на рожон не лезет. По-прежнему готов спокойно и последовательно дополнять картину. Едем дальше:
— Расскажите, как искали баг.
Ответ на этот вопрос я уже пересказать не могу. Кандидат рассказывал как-то путано. Несколько раз упомянул, что плохо уже помнит подробности. Но сводилось все к попытке исполнить привилегированную инструкцию в пользовательском коде. Т.е. речь шла о баге, который вообще искать не надо. Баги такого типа сами о себе сообщают на любой платформе.
Это уже было похоже на студента.
Однако рассказ об особенностях архитектуры Эльбруса на меня произвел впечатление. (Речь шла даже о двух архитектурах, разрабатываемых под одним брендом: об аутентичной и о СПАРКах. Об этом парень тоже знал). Начавший было утихать когнитивный диссонанс снова усилился.
— Расскажите о том, как сервер ломали.
И вот тут я вообще выпал в осадок. Про эту «задачу» кандидат рассказал в мельчайших подробностях. Назвал все инструменты, которые использовал для решения отдельных подзадач. И назвал конкретные эксплойты (уязвимости), которые позволили ему получить полный контроль над сервером. Интересно, что эксплойтов было несколько, причем в разных частях системы. И раскручивал он их по цепочке. Все вообще суперправдоподобно.
Про себя я недоумевал: «Да что здесь вообще сейчас происходит?»
— Хорошо, давайте решим задачку на логику. Есть 8 шаров, неотличимых на вид. У всех одинаковая масса, кроме одного. Он тяжелее остальных. Есть рычажные весы. За какое минимальное количество взвешиваний можно найти тяжелый шар?
Парень немного помедлил, потом выдал:
— Если повезет, то за одно. Если нет, то придется взвесить все попарно.
На моей практике это был первый кандидат, который предлагал взвешивать шарики по одному на чашу. (Кстати, даже в этом случае их не надо взвешивать попарно все. Достаточно четырёх взвешиваний в худшем случае). Подсказываю:
— На каждую чашу можно положить по несколько шаров.
— Хм, точно.
Затем после долгой паузы:
— Тогда за три. Делим пополам, потом еще раз пополам и потом еще.
— Верно. Можно ли быстрее?
Еще одна долгая пауза:
— Нет.
— Уверены? Сможете доказать?
Снова пауза:
— Если я правильно помню, Цэ из Эм по Эн…
— Вы что сейчас пытаетесь показать?
Парень ответил нечто невразумительное. Что-то вроде: «Пытаюсь показать, что любая случайная комбинация потребует не меньше…» Точно воспроизвести не смогу. Логики там было мало.
— Подождите. Давайте не будем это доказывать. Совершенно точно тяжелый шар можно найти быстрее. Постарайтесь придумать способ.
Парень завис. И я понял, что надо упрощать головоломку. Вообще-то до этого никогда не доходило. И я раньше даже не думал, как можно ее упростить. Но тут пришлось.
— Пусть шаров будет только три. Один тяжелый. Как будете решать?
— Взвешу два, а потом еще два.
— Проговорите, пожалуйста, полностью. Вот вы положили два шара на весы. Что дальше?
— Один из них будет тяжелее. Я его возьму и взвешу с оставшимся.
— Но если мы при первом взвешивании видим, что один тяжелее, зачем делать второе взвешивание?
Снова пауза.
— Да, тогда нужно одно взвешивание.
Дальше, по моей просьбе, он смог полностью объяснить логику работы с тремя шарами.
— Давайте теперь вернемся к исходной задаче и попробуем применить к ней то, чему научились с тремя шарами.
Парень снова завис. Пытаюсь помочь:
— Что мы видим из упрощенной задачи? Во-первых, нет смысла класть на чаши разное количество шаров. Во-вторых, вывод о весе некоторых шаров можно сделать, вообще не взвешивая их.
— Тогда можно попробовать взвесить сначала по два…
Дальше было бормотание, которое я уже слабо помню. И снова это было надолго. Тут я уже говорю прямо:
— Давайте взвесим сначала по три шара на каждой чаше.
После этого парень все-таки проговорил правильное решение.
Я подумал, что возможно, решать головоломки – это «не его». Может, он хорош в решении задач, более приближенных к программированию. Поэтому дал ему задачу на неполную сортировку массива. Числа в массиве надо было расположить в соответствии с их принадлежностью одному из трёх диапазонов: сначала должны идти числа, принадлежащие первому диапазону, потом – второму и затем – третьему.
Началось все более-менее хорошо:
— Массив можно просто отсортировать полностью.
— Да, это работает. Как будете сортировать.
— Ну, можно пузырьком.
Если бы я проводил собеседование девятиклассников на прием в секцию по программированию, то такой ответ мне очень даже понравился бы. Сортировка пузырьком – отличная сортировка. Но от профессионала даже начального уровня хотелось большего.
— Какая у нее сложность?
Кандидат натужился, затем выдал правильный ответ:
— По-моему, эн-квадрат…
— Верно. Вам известна более быстрая сортировка?
Снова потуги…
— Есть еще std::sort...
— Какая у нее сложность?
— Ммм… Что-то связанное с логарифмом. Нас учили. Но я уже не помню. Не буду врать.
— Не надо врать. Вернемся к массиву. От нас не требуется полной сортировки. Можно ли, используя то упрощение, которое есть в задаче, обойтись более простым решением?
На данном этапе было уже понятно, как парень подходит к решению проблем. Он пытается извлечь из глубин памяти готовое решение и совершенно не пытается (или не может) анализировать задачу, комбинировать факты.
Кандидат завис… Говорю ему:
— Вы знаете, я не очень люблю головоломки и искусственные задачи. (И это правда!) Давайте я дам вам задание для выполнения дома.
И тут начинаю детально описывать то, что нужно сделать. Задание очень интересное и многоплановое. Пока рассказываю, поглядываю на кандидата.
Вижу, что парень начал меняться в лице и осанке. Впервые за все время собеседования (!) Джеймс Бонд постепенно скрючивался и скисал. Когда я закончил, на кандидате уже лица не было:
— Я не буду решать это задание.
— Почему?
— Был неприятный опыт. Одна компания пыталась на моих костях въехать в рай. [Цитата дословная].
— Для того, чтобы выполнить задание, вам потребуется написать около 100 строк кода. Если вы напишете значительно больше, скорее всего, это будет не самое лучшее решение. К тому же, у нас в компании работают профессионалы. Мы вполне способны сами решать свои задачи. Возьмете задачу?
— Нет.
— Из-за костей и рая?
— Не только. Я считаю, что любая работа должна оплачиваться.
После этих слов кандидат совсем сник. А когда уходил, то смотрел только себе под ноги.
Через пять минут после ухода кандидата Коля подходит к моему рабочему месту:
— Как он тебе?
— Коля, скажи сначала, как он тебе.
— Не знаю, как он по технической части. Но в личностном плане все ок.
Меня это сильно удивило:
— А как же весь этот сюр про Каддафи…
— Что ты привязался к этому Каддафи? То, что между вами там происходило – это борьба за сферу влияния.
Рассказал Коле подробности разговора 1-на-1 с кандидатом. Пытаюсь прийти к общему знаменателю с Колей:
— Как насчет поиска безопасной работы? Такой крутой – и пошел смотреть открытые вакансии на сайте своей конторы вместо того, чтобы поговорить с начальством.
— Ну, я вполне могу это допустить.
— Коля, по-отдельности каждое из моих возражений, наверное, можно отмести. Но давай посмотрим на это в совокупности.
— Для меня достаточно уже того, что он тебе просто не нравится.
Коля по-прежнему казался мне заколдованным. Останавливаться на «просто не нравится» не хотелось. Я всегда стараюсь объяснить себе и другим, что именно не так.
Поэтому, придя домой, открыл соцсети. И без труда нашел там нашего кандидата. Причем почти во всех соцсетях. Хотя изначально у меня были сомнения в успехе этого мероприятия. Имя, под которым он к нам пришел, вполне могло быть вымышленным.
Вообще говоря, существование аккаунтов в соцсетях под тем же именем еще не говорило о том, что оно настоящее. Поначалу можно было только сказать, что аккаунты действительно ведутся нашим кандидатом (а не каким-нибудь другим обладателем такого же имени). Об этом красноречиво говорили фотки.
Прокрутив стену ВКонтакте, я убедился, что имя все-таки настоящее. На одной из фоток парень красовался с аэрофлотовским билетом, на котором можно было разглядеть все то же имя.
Кстати, он действительно вернулся из дальней поездки прямо накануне собеседования. Вот только летал он не авиабазу Хмеймим, а в Сибирь. Проводил там отпуск. По крайней мере, так следовало из записей на стене.
Почти все фотки на стене – примерно однотипные жутковатые селфи. Френдов мало. Комментов нет.
Некоторые записи выглядят как истории про воображаемых друзей. Например, «Празднуем» или «Друзья-офицеры зашли поздравить». Прикрепленные к таким записям фото – все те же жутковатые селфи (а не фото шумных компаний и даже не фото нашего кандидата, сделанные хотя бы другим человеком).
Там же, на стене ВКонтактика, я нашел и разгадку истории с Эльбрусом. За несколько месяцев до собеседования парень на какой-то выставке восхитился стендом Эльбруса и долго там общался с представителем МЦСТ. В записи указано даже имя это представителя. Причем то же самое, которое парень назвал на собеседовании.
Еще наш кандидат оказался автором чернушной книги про кровавые разборки 90-х. У книги невероятно странное название и очень странная обложка. Издана она была в электронном виде с помощью сервиса, который позволяет любому за небольшие деньги издать свою книгу.
На следующий день я пошел «расколдовывать» Колю. Процесс оказался довольно быстрым. Как оказалось, Коля тоже успел заглянуть в соцсети.
Такое впечатление, что парень этот живёт в своей выдуманной вселенной, в которую легко и почти бесшовно вплетает события реального мира.
Либо – он лучший в мире актер. Сильно круче всех, которых я до сих пор видел на сцене или экране. Хорошо б, если так…
UPD. Вижу, что в комментариях сомневаются в профессионализме Коли. Поясню... В профессиональной жизни - как и в любой другой жизни - человек не познаётся лишь по одной-единственной ситуации. Все совершают ошибки. И Коля совершает, и я совершаю, и любые супер-профессионалы, с которыми я когда-либо пересекался, совершают ошибки. Причём другим профессионалам некоторые из этих ошибок могут казаться "детскими". Но! Люди имеют право на ошибку. Там, где цена ошибки слишком высока, часто привлекают больше одного профессионала, чтобы они могли подстраховать друг друга.
И ещё одно... у каждого человека есть свои "тараканы". И когда какая-то ситуация вступает в "резонанс" с этими тараканами, человек особенно склонен совершать ошибки. Повторюсь: даже самые крутые профессионалы. Например, я знаю одного мощного научного журналиста, который активно борется с псевдонаукой и читает лекции о том, как распознавать псевдонаучные публикации. И вот однажды этот журналист публикует хвалебную рецензию на... псевдонаучную книжку. Он потерял хватку в этой конкретной ситуации просто потому, что книжка задела в нём определённых "тараканов". Однако это не означает, что сам журналист "плохой". Наоборот: один из лучших в России. Тот парень, про собеседование которого я написал, тоже задел определённых "тараканов" в Коле. Очень хорошо зная Колю, я даже могу предположить, каких именно. Но это уже в стороне от описанной истории...
Комментарии (29)
GidraVydra
17.12.2024 14:35Что-то ваш Коля, который не Коля, не такой уж и крутой HR, раз у него такой покемон до очного собеседования дошел. У него же всë резюме в редфлагах. Ждем от автора следующей офигительной истории, об очном собеседовании с зеком, например.
shadowjack
17.12.2024 14:35Зато эта история прекрасно описывает принцип работы HR в части подбора кандидатов: предпочтение отдаётся не опыту или техническим навыкам (которые они не в состоянии адекватно оценить), а каким-то совершенно поверхностным и не имеющим отношения к вакансии критериям.
"Ой, какой экзотичный мальчик! А что он делал в Сирии?" -- ну прямо как на сайте знакомств. (Наводит, кстати, на всякие интересные мысли про Колю и про то, что он вообще забыл в HR)
OpenA
17.12.2024 14:35История похожа на выдумку, но меня в ней зацепил один момент:
На моей практике это был первый кандидат, который предлагал взвешивать шарики по одному
А как должен решать подобную задачу адекватный человек? Сходу выдумывать непонятный говнокод с вычислениями парами/группами?
Есть такое хорошее правило в программировании - сначала добейся нормальной работы, потом берись за оптимизации.
Так что по хорошему все восемь шаров прогоняются дважды - первый цикл находит самый тяжелый, второй самый легкий. Если есть резон как то этот процесс оптимизировать, то можно попробовать но с обязательными замерами а не приведут ли ваши манипуляции с шарами к замедлению кода, а то и вообще к ошибкам.Armann
17.12.2024 14:35Смысл в том, что сначала всегда нужно подумать.
А этот хороший подход почему то часто воспринимают как 'потом подумаю'. В результате пузырьковая сортировка уезжает в прод, но там оказывается что нужно сортировать не 100 записей, а 5000, и нагрузка не 2 rps, а 200. И начинается самое интересное...
OpenA
17.12.2024 14:35Проблема в том что когда данные становятся сильно больше чем думал думающий, тогда чем проще устроена их обработка тем быстрее и глаже это все пробегается, а если начинаются всякие прыжки и произвольный доступ к элементам массива, потому что думающий почему то думает что если делать много дел в один проход то это будет быстрей, то производительность как и дальнейшие оптимизации обламываются. Даже если бриться и пить кофе совмещая это с движением на раборту то это неизбежно повлияет на скорость передвижения. Конечно можно это делать толкаясь в пробке, но это уже будет конкурентное асинхронное исполнение.
Armann
17.12.2024 14:35Вы почему то приравниваете 'сначала подумать' == преждевременная оптимизация.
Проблема в том что когда данные становятся сильно больше чем думал думающий, тогда чем проще устроена их обработка тем быстрее и глаже это все пробегается
Увы, пузырьковая сортировка это всегда медленно. Но просто, да
Eldgor
17.12.2024 14:35Извините, но задачи на взвешивание (в частности и та, что упомянута выше) - это из учебника математики для пятого класса средней школы (возможно, впрочем, "со звёздочкой"). Надо как-то очень постараться, чтобы этот класс задач пропустить или забыть.
kuzzdra
17.12.2024 14:35Надо как-то очень постараться, чтобы этот класс задач пропустить или забыть.
Легко. Я, например, то ли не знал, то ли забыл, то ли в учебнике за 5 класс таких задач не было ;) Эти задачи - типичные головоломки, общего принципа решения нет, если кто-то такое решает сходу - либо он очень умный, либо просто знает решение, потому что прочитал.
Про канализационные люки еще спрашивают?
Eldgor
17.12.2024 14:35Во-первых, в учебнике за 5 класс такая задача конечно же была - "Математика 5 класс: учебник для общеобразовательных организаций" / С.М. Никольский, М.К. Потапов - М.:Просвещение, 2015 - с.75, задача 328. И да, она действительно "со звёздочкой".
Во-вторых, общий принцип решения есть и он весьма прост.
Ну и, в-третьих, это всё-таки не олимпиадный уровень, это было бы слишком жестоко - если посмотреть на примеры заданий олимпиад для пятого класса (из перечня Минобрнауки), то даже "разогревочные" задачи, буде спрошенными на собеседовании, изрядно сузили бы поток претендентов (ну, кроме сообразительных пятиклассников).
kuzzdra
17.12.2024 14:35Во-вторых, общий принцип решения есть и он весьма прост.
Хм. В студию, плз ;)
Eldgor
17.12.2024 14:35Ну, допустим. При локализации элемента с экстремальным значением (самого тяжелого шара) с помощью бинарной операции строгого отношения порядка (взвешивания) имеет значение не только результат применения этой операции к подмножествам исходного множества (которые взвешиваем), но и подмножество, оставшееся вне операции (которое не взвешиваем) - что позволяет однозначно отбрасывать подмножества, не содержащие искомый элемент. Таким образом, операция "превращается" фактически в тернарную, что позволяет получить оценку сложности алгоритма как.
Что тут сложного-то?
kuzzdra
17.12.2024 14:35Среди 2000 внешне неразличимых шариков половина - алюминиевые, весом 10 г каждый, а вторая половина - дюралевые, весом 9.9 г каждый. Требуется выделить две кучки шариков так, чтобы количество шариков в кучках было одинаковым, а массы - разными. Каким наименьшим числом взвешиваний на чашечных весах без гирь это можно сделать?
Eldgor
17.12.2024 14:35Во-первых, за одно взвешивание.
А, во-вторых, что же вы так-то - сразу повышаете планку с пятого класса до девятого, и со школьного учебника до областного этапа Всероссийской олимпиады школьников. Немного перебор, не находите?
В-третьих, теперь моя очередь, не так ли?
Верно ли, что вероятность того, что 30 декабря (отвлечёмся от возни с весами и привнесём в разговор толику новогоднего настроения) в случайно выбранном году придётся на понедельник (мы хотим длинные выходные!) равна 1/7?
Напомню, что в григорианском календаре:год, номер которого кратен 400, — високосный;
другие годы, номера которых кратны 100, — невисокосные;
другие годы, номер которых кратен 4, — високосные;
остальные годы — невисокосные.
kuzzdra
17.12.2024 14:35Я в задачах на взвешивание не разбираюсь, какое от олимпиады, какое от 5 класса не знаю (правда) ;) Так значит общего принципа нет, и умение решать задачу с делением на 3 с 2000 шариками не работает? ;)
Верно ли
Думаю что да.
Eldgor
17.12.2024 14:35Вообще-то, там тоже деление на 3. Только с другого фланга.
Думаю что да.
А вот, увы. Никто не любит понедельники - даже сам календарь.
aaa_bbb
17.12.2024 14:35это детские олимпиадные задачи по математике (на взвешивания предметов, на переливание банок, на доставание карандашей, на комбинации монеток и тп) - кто не ходил на олимпиады тот, скорее всего, их и не видел
мне интересно, кто решил, что хорошая идея спрашивать их на собеседованиях )
kuzzdra
17.12.2024 14:35мне интересно, кто решил, что хорошая идея спрашивать их на собеседованиях )
Правильный вопрос - кто сделал из этого каргокульт. На собеседовании не так важно, что спрашивать, важно понимать ответ. Как кандидат будет решать незнакомую задачу: брутфорсом, выкатит быстрое, но возможно неправильное решение, будет искать идеальное решение, скажет что в 5 классе этого он не проходил.. ;)
F7R3_F1S7TIN6
17.12.2024 14:35Уважаемые опытные it-шники, я только планирую начать свой путь в айти, пожалуйста, подскажите что стоит научиться делать, чтобы быть сильным и полезным спецом?
shadowjack
17.12.2024 14:35Стоит пройти обучение на секретной кафедре МИФИ, пройти стажировку в Моссаде, прослушать пару лекций в г. Лэнгли, штат Вирджиния, также стоит научиться взламывать сервера ИГИЛ, отражать атаки серверокорейских хакеров и вообще красочно... кхм... "звездеть".
Этот навык очень пригодится вам для прохождения интервью с HR'ами (которые вообще никакой экспертизы в области технологий не имеют и поэтому чаще всего отсеивают действительно квалифицированных кандидатов, предпочитая вместо этого осуществлять отбор по тому же принципу, по которому функционируют сайты знакомств, т.е. понравился/не понравился).
YuriPanchul
17.12.2024 14:35Я прочитал историю с интересом, потому что я сам интервьирую людей. Но я не понимаю, зачем вы вообще все это выслушивали так долго. 10 минут "расскажите кратко о предыдущих работах - чисто технически в чем заключался проект", а потом задачки на код, да хоть вашу вариацию сортирки (про шарики слишком заезженно). А вот насчёт авиабазы- я бы про это вообще не думал, потому что бывают дикие истории. Например у меня есть знакомый, который работал контрактором по верификации электроники в Локхид-Мартин (еоторая делает ракеты), будучи при этом 1) русским и 2) бывшим членом КПСС.
TechThink Автор
17.12.2024 14:35Спасибо за интерес!
Я всегда уделяю большое внимание опыту кандидата. Во-первых, так я узнаю о жизни других компаний и, возможно, даже сам чему-то учусь. Во-вторых, люди, которые идеально решают модельные задачи (которые я предлагаю им на собеседовании), но не умеют решать практические задачи, для меня не выглядят подходящими кандидатами.
Хочу даже написать статью (видимо, уже не для Хабра) про выявление практического опыта кандидата. Дело в том, что про него часто врут. Иногда даже старшие разработчики
YuriPanchul
17.12.2024 14:35Можно придумывать квази-практические задачи. Мне приходится придумывать много задач и для собеседований и для учебных материалов, и вот последняя задумка - выдираем из реального процессора на гитхабе (написанного на языке описания аппаратуры SystemVerilog) арифметические блоки FPU и даем кандидату задание, используя эти выдранные блоки как черные ящики, построить два варианта вычисления с ними простой формулы - один вариант с минимизацией площади синтезированной схемы, второй вариант с максимизиацией пропускной способности - вот я эту мысль в посте описал - https://habr.com/en/articles/862734/
И уже опробовал на студентах - вполне работает - и не слишком просто, и не слишком сложно, и куски реального процессора.
А насчет 17-летних студентов МИФИ делающих военные проекты. Вот когда я учился в МФТИ в 1988 году и мне было 17 лет, у нас был студенческий клуб Олега Бацукова и мы там делали например проект для Института Проблем Кибернетики Си-компилятора для Электроники-СС-БИС (советский клон векторного суперкомпьютера Cray-1, цель которого была моделировать ядерные взрывы). На основе компилятора PCC от AT&T (Stephen Johnson). А потом на основе этого опыта я уже в 20 лет сделал симулятор, линкер и порт компилятора для бортового компьютера Орбита 20/700 и продал его Рижскому военному авиационному училищу через малое предприятие. После чего купил на эти деньги билет Москва-Нью-Йорк и улетел в Америку (в 1991 году). То есть каким-то боком студент в военный проект попасть может.
Кстати в МИФИ у них тоже были странные явления. Вот там был преподаватель по фамилии Шагурин, который рассказал что он в начале 1970-х (то есть в молодом возрасте) летал в Сан-Франциско на конференции по электронике. Замечу что в то время Область Сан-Франциского Залива была закрыта для советских граждан не только советcкими препонами, но и с американской стороны.
Но я это все к чему - все эти странные истории лучше оставлять на беседы в кафетерии уже после того как человек нанят. А вначале их просто игнорировать и судить его чисто по писанию кода, причем лучше не давать домашнее задание, а делать как делали например в AMD - заводят человека в комнату, вот компьютер без подключения к интернету, садись и пиши на верилоге какой-то простой конвейер - и собеседующий смотрит.Код и правильная задачка все про человека скажет! Вот он рассказал научпоп про Эльбрус - это вы правильно определили - но в таких случаях его можно было попросить написать на ассемблере Эльбруса вычисление чисел Фибоначчи, хе-хе. Сразу на интервью было бы видно, словил ли он баг который он вам описал или нет. Потому что если он видел привилегированную инструкцию, то должен был увидеть и простое сложение и ветвление, не так ли?
TechThink Автор
17.12.2024 14:35Про задачки, приближенные к практике, я согласен. Сам постоянно даю такие. Собственно, задача, которую кандидат отказался брать на дом, была такой. Я специально придумал её таким образом, чтобы она была творческой и приближенной к реальным потребностям конторы.
Но на мой вкус, модельные задачи важны, однако не заменяют реального "боевого" опыта. К тому же более-менее крупные задачи легко давать младшим и средним специалистам, а старшие специалисты часто от них отказываются. Понятно, что если вакансия очень лакомая, и на неё прямо ломятся лучшие специалисты, то можно любые условия выставлять. Но далеко не все вакансии такие. Так что приходится подстраиваться под реалии и учитывать, что от творческой задачи кандидат может отказаться (но при этом это все равно может быть подходящий кандидат)
dopusteam
17.12.2024 14:35— Пусть шаров будет только три. Один тяжелый. Как будете решать?
— Взвешу два, а потом еще два.
— Проговорите, пожалуйста, полностью. Вот вы положили два шара на весы. Что дальше?
— Один из них будет тяжелее. Я его возьму и взвешу с оставшимся.
— Но если мы при первом взвешивании видим, что один тяжелее, зачем делать второе взвешивание?
Не понимаю, всего три шара, но взвесили два, почему второе взвешивание то не нужно? Мы ж третий шар вообще не взвесилиАаа, надо не самый тяжёлый найти, а просто вес одного отличается от веса других, сорян, подумал там все разные :)
Grikhan
17.12.2024 14:35Жаль, что кандидат спасовал на тестовом и обесценил всё собеседование. Мог бы накидать дичь и доказывать, что такое задание и было - все таки редко приходят полностью нулёвые психи.
Chetverh
17.12.2024 14:35А мне интересно, как сам кандидат не подумал, что его можно пробить по соцсетям. Это его первая работа? Первое собеседование (прежде работал в дядиной фирме)? За какие-то деньги летал же в Сибирию.
Может, он вообще материал для новой книги собирал, про кровавые разборки в ИТ?
IvanZaycev0717
На этом этапе я бы закончил собеседование