Интервьюирование в IT существует столько же, сколько и программирование, однако шаблоны собеседований до сих пор не созданы. Не пора ли, друзья мои, нам замахнуться на паттерны, понимаете ли, нашего интервьюирования? Для начала напишем «Здравствуй, мир!»:
ЗдГавствуйте! – До свидания!
Получилось! Теперь попробуем изобразить реальный паттерн технического собеседования программиста в России. Мы не будем копировать западные образцы, но обратимся к корням, и поэтому интервьюировать будут 3 человека одновременно. Получилась тройка, разумеется, не гоголевская, а сталинская. Назовём этот паттерн МВК, по составу участников:
М (мудель) – технический специалист, дорос до этого положения из-за того, что за много лет так и не смог никуда сбежать из этой конторы. Он лучше всех разбирается в отложениях кода. Средних лет, разведён, тощ, язвенник и всем недоволен.
В (вьюноша) – студент, подрабатывает ради первой строчки в трудовой книжке. Он вроде бы обучается у старших товарищей проводить собеседования, однако бесценен по той причине, что ещё помнит все канонические алгоритмы сортировки и типы данных. Прыщав.
К (контролёр) – его официальная должность – руководитель проекта, но истинное призвание – быть кондуктором в общественном транспорте, поэтому он с таким удовольствием объявляет остановки (milestones), проверяет билетики (tickets) и обожает узнавать о причинах их несвоевременной оплаты (stand-up meetings). До 30 лет, от 100 килограммов.
Далее по тексту для обозначения участников собеседования будут использоваться буквы «М», «В», «К», а также «С» – соискатель.
Кадровица вводит кандидата в помещение и оставляет одного на четверть часа, чтобы на допросе он был поподатливее. В тот момент, когда подследственный теряет всякую надежду, в камеру врывается тройка следователей и рассаживается рядком напротив подозреваемого. На столе появляются ноутбуки, в которые инквизиторы время от времени заглядывают и делают записи. Контролёр бегло представляет себя и заседателей по именам и начинает допрос.
К. В своём резюме вы не указали возраст…
С. 45.
К. Полных?
С. Исполнится через месяц.
Контролёр облегчённо вздыхает и что-то заносит в протокол. Мудель напрягается, Вьюноша кривит рожу.
К. Как у вас с английским? Поговорили с Мозесом?
С. С каким Мозесом?
К (звонит по сотовому кадровичке). Кандидат разговаривал с Мойшей? А почему? У того опять проблемы со Скайпом? А наша учительница проверяла английский? И что написала? Ага, вижу: «Хиз инглиш ис велл».
К (соискателю). Вашим английским довольны, перейдём к технической части. Начнём с основ (читает с монитора). Чем интерфейс отличается от Олег Газманов попал в автокатастрофу абстрактного класса? Объясните это так, чтобы было понятно (поднимает глаза и начинает импровизировать) любой дуре, даже нашей эйч-арше.
С. Ну, раз такое дело… Тогда возьмём в качестве примера объекта бюстгальтер, его абстрактным классом будет ценник с характеристиками и ценой, а интерфейсами будут бирки со значками стирки, глажки и т. п.
К (записывает). «Употребил слово бюзгальтер».
М (записывает). «Разбирается в тонкостях».
В (записывает). «Тема сисек не раскрыта».
К. Вы знакомы с «большим Пи»?
М (перебивает). Вы знакомы с «большой О»?
С. Да, и с малой, и с большой.
М. Га?
С. Не «га», а «омега». А малая «О» – омикрон. Я по образованию переводчик-синхронист с древнегреческого.
К. А что же не работаете по специальности?
Неловкая пауза.
М. Ну, мы тоже любим древнегреческий, я, например, обожаю лямбды.
К. А я – дельты.
В. А я – ню.
М. Хорошо, какие виды сортировки вы знаете?
С. По возрастанию и убыванию.
М. Кхм, я имел в виду другое: допустим, у вас есть в памяти массив с миллиардом значений, а стандартная сортировка работает медленно, как вы бы исправили ситуацию?
С. А зачем хранить в массиве миллиард значений?
М. Ну, это неважно. Это для примера, у нас и миллион тормозит.
С. Ммм… Добавить оперативной памяти?
М. Невозможно!
С. Уменьшить «О»?
М. Интересная мысль…Но мы ждём от вас другого ответа, сдаётесь?
Соискатель кивает головой.
К. Нужно применить многопоточность!
Мудель под столом толкает Контролёра.
К. Нужно применить кеширование!
М (тактично). Но лучше всего применить логарифмическую сортировку.
С. А логарифм с каким основанием?
М. Э-э, с двоичным, разумеется.
В. Это не имеет значения!
С. Разве?
М. Если мы перегрузили хеш-фунцию, какую ещё нужно переопределить?
С. Я такими вещами не занимаюсь.
Интервьюеры ставят минус.
С. Да, я слышал, что некоторые перед увольнением переопределяют плюс на минус...
Интервьюеры меняют минус на плюс.
М. Вот вам бумага и ручка, разверните односвязный список без выделения дополнительной памяти. Время!
Соискатель стучит пером и вскоре возвращает лист.
М. Неплохо – 44 секунды, вы в десятке лучших. Но есть одна серьёзная проблема – у вас открывающая скобка находится на новой строке…
С. Так это потому что на C#, вы же ищете дотнетчика?.
М. Да, всё правильно, у нас был образец только на Джаве.
К (Муделю). Так вот почему отдел кадров завернул столько кандидатов! (Соискателю) не возражаете, если мы возьмём ваш ответ? Спасибо.
М. Далее, вы указали в резюме JavaScript. А работали ли вы с фреймворком H1N1.JS? Нет? Тогда для чего нужны… (умоляюще смотрит на Вьюношу).
В (шепчет). Прототипы, замыкания…
М. Для чего нужны прототипы замыкания?
С. Я не знаю, не пользовался.
Ответ воспринимается положительно.
М. Ничего страшного, теперь по базам данных.
К. Для чего нужны индексы?
С. Для ускорения поиска и сортировки.
К (заглядывая в монитор). Верно только наполовину.
М. Напишите запрос, который удаляет записи-дубликаты.
С (задумывается). Я до таких сложных вещей не доходил, просто писал запросы на проверку уже существующих данных и, при их наличии, не добавлял новых записей.
К. Как сделать так, чтобы в коде было меньше ошибок?
С (с воодушевлением). Модуляризация, инкапсуляция, переиспользование…
К. Неверно. Для избавления от ошибок нужно покрыть весь код тестами. С тех пор, когда мы этим занялись, не появилось ни одной новой ошибки.
С. Так уж и ни одной?
К. Да, просто все силы уходят на написание тестов, до самого кода руки не доходят. Хорошо, на какую минимальную зарплату вы рассчитываете? Что? Максимальную? У нас платят только минимальную… ну, я имел в виду, что, судя по вашим ответам, вы и на джуниора не тянете, но если вы пройдёте испытательный срок, то можно будет обсудить повышение… у нас регулярно происходит пересмотр зарплаты. Нет, для старшего – для нашей команды – у вас всё-таки знаний маловато. Ну пожалуйста, чтобы не оставалось сомнений, ещё вопрос, на логику: почему крышки люков делают круглой формы?
Соискатель в растерянности, начинает шептать молитву, возводит очи горе и видит прямо над собой квадратную крышку люка вентиляции. У интервьюируемого отваливается челюсть, и его рот приобретает форму кирпича. Вьюноша поднимает глаза и, заметив квадратный люк, от неожиданности издаёт громкий неприличный звук. До зарплаты ещё 4 дня, приходится питаться просрочкой, поэтому вонь получается страшнейшая. В это время взгляд Муделя также достигает потолка и он, как член команды, присоединяется к порче воздуха. Язва желудка и микроволновые полуфабрикаты обогащают купаж кишечных газов. Контролёр, будучи прирождённым руководителем, не может остаться в стороне от любой инициативы снизу, он столуется в российских кафе и ресторанах, где подают перекомпилированные объедки, и его вклад в деятельность команды вносит новые ноты. И только Соискатель не участвует в этой канонаде – он с утра ничего не ел. Пока туча газов втягивается в квадратный люк, Контролёр успевает записать:
«Не продемонстрировал командный дух».
Мудель добавляет:
«Отсутствуют навыки в облачных технологиях».
Вьюноша:
«Не мужык».
Между тем отравляющие газы проникли по вентиляции в помещение сверху, где располагается строительная контора, откуда начинают доноситься крики: «Суки! Педоразы!» и раздаваться удары в пол образцами пластиковых окон, клееного бруса и винтовых свай. Злополучная квадратная крышка отваливается, засыпая дореволюционной побелкой присутствующих. Они выползают в коридор и тут же делают селфи для размещения в своих блогах с личным видением интервью и подписью: «И тут выхожу я, весь в белом».
Занавес.
P.S. Я понимаю, что в мой шаблон неидеален, например, сверху может располагаться не строительная контора, а, скажем, отдел кадров этой же фирмы, где следующему кандидату как раз рассказывают о рабочей атмосфере в коллективе. Что ж, в конце концов, нельзя же всё время слепо следовать шаблонам.
Здравствуйте, mgu, Вы писали:
mgu>Получилось! Теперь попробуем изобразить реальный паттерн технического собеседования программиста в России. Мы не будем копировать западные образцы, но обратимся к корням, и поэтому интервьюировать будут 3 человека одновременно. Получилась тройка, разумеется, не гоголевская, а сталинская. Назовём этот паттерн МВК, по составу участников:
Сколько ни ходил на собеседования, собеседователей обычно два. Бывает один или два но по очереди. Трёх никогда не встречал, если конечно эйчарку не считать. Так что какой-то очень редко используемый паттерн.
Здравствуйте, Пофигист, Вы писали:
П>Сколько ни ходил на собеседования, собеседователей обычно два. Бывает один или два но по очереди. Трёх никогда не встречал, если конечно эйчарку не считать. Так что какой-то очень редко используемый паттерн.
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, Пофигист, Вы писали:
П>>Сколько ни ходил на собеседования, собеседователей обычно два. Бывает один или два но по очереди. Трёх никогда не встречал, если конечно эйчарку не считать. Так что какой-то очень редко используемый паттерн.
A>Меня в Яндексе интервьюировали трое...
Здравствуйте, mgu, Вы писали:
mgu>Интервьюирование в IT существует столько же, сколько и программирование, однако шаблоны собеседований до сих пор не созданы. Не пора ли, друзья мои, нам замахнуться на паттерны, понимаете ли, нашего интервьюирования? Для начала напишем «Здравствуй, мир!»:
Сколько не ходил на собеседования, обычно интервьюирует один PM (контроллер), иногда заскакивает второй или подключается по лагающему скайпу. Иногда эйчар сидит за спиной, хз зачем. Попадались вьюноши, контроллеры и мудели, но по отдельности. Уложить 3 разных образа в одну историю- это кул.
Шаблон пред-интервью, разговоров с эйчарами — бывает доставляет не меньше. Продолжайте
Здравствуйте, Хэлкар, Вы писали:
Х>Что, никуда не берут?
Плывут по реке два крокодила, смотрят, обезьяна на дереве. — Давай приколемся, — говорит один. Подплывем и спросим: "Обезьяна, ты замужем?" Если скажет "нет" — ответим "кто же тебя, такую дуру, возьмет", а если скажет "да" — "кто тебя, такую дуру, замуж взял". Подплыли. Спрашивают: — Обезьяна, ты замужем? Обезьяна: — Выйдешь тут замуж — одни крокодилы кругом!
Здравствуйте, Пофигист, Вы писали:
П>Сколько ни ходил на собеседования, собеседователей обычно два. Бывает один или два но по очереди. Трёх никогда не встречал, если конечно эйчарку не считать. Так что какой-то очень редко используемый паттерн.
Здравствуйте, mgu, Вы писали:
mgu>М. Хорошо, какие виды сортировки вы знаете?
mgu>С. По возрастанию и убыванию.
Ты сделал мой день, буду использовать эту шутку на собеседованиях
P.S. Реально, многие интервьюверы задают вопрос: "Какие виды сортировки вы знаете?", а "не какие алгоритмы сортировки вы знаете?"
Здравствуйте, white_znake, Вы писали:
_>P.S. Реально, многие интервьюверы задают вопрос: "Какие виды сортировки вы знаете?", а "не какие алгоритмы сортировки вы знаете?"
Скажу больше: объектно-ориентированное программирование на самом деле субъектное. Но всем... как обычно.
Здравствуйте, alpha21264, Вы писали:
П>>Сколько ни ходил на собеседования, собеседователей обычно два. Бывает один или два но по очереди. Трёх никогда не встречал, если конечно эйчарку не считать. Так что какой-то очень редко используемый паттерн. A>Меня в Яндексе интервьюировали трое...
Меня двое, наверное я не дорос ещё.
Парень, уткнувшийся в ноутбук и выдававший вопросы. И молчаливая молоденькая девчонка-начальница группы, не проронившая ни одного слова.
Здравствуйте, Пофигист, Вы писали:
A>>Меня в Яндексе интервьюировали трое... П>Меня двое, наверное я не дорос ещё. П>Парень, уткнувшийся в ноутбук и выдававший вопросы. И молчаливая молоденькая девчонка-начальница группы, не проронившая ни одного слова.
Взгляд с другого ракурса поможет понять почему С с таким трудом находит работу
mgu>К. Как у вас с английским? Поговорили с Мозесом?
mgu>С. С каким Мозесом?
mgu>К. А что же не работаете по специальности?
mgu>Неловкая пауза.
mgu>М. Хорошо, какие виды сортировки вы знаете?
mgu>С. По возрастанию и убыванию.
mgu>М. допустим, у вас есть в памяти массив с миллиардом значений, а стандартная сортировка работает медленно, как вы бы исправили ситуацию?
mgu>С. А зачем хранить в массиве миллиард значений?
mgu>М (тактично). Но лучше всего применить логарифмическую сортировку.
mgu>С. А логарифм с каким основанием?
mgu>М. Э-э, с двоичным, разумеется.
mgu>В. Это не имеет значения!
mgu>С. Разве?
mgu>М. Если мы перегрузили хеш-фунцию, какую ещё нужно переопределить?
mgu>С. Я такими вещами не занимаюсь.
mgu>М. Далее, вы указали в резюме JavaScript. А работали ли вы с фреймворком H1N1.JS? Нет? Тогда для чего нужны… (умоляюще смотрит на Вьюношу).
mgu>В (шепчет). Прототипы, замыкания…
mgu>М. Для чего нужны прототипы замыкания?
mgu>С. Я не знаю, не пользовался.
mgu>М. Напишите запрос, который удаляет записи-дубликаты.
mgu>С (задумывается). Я до таких сложных вещей не доходил, просто писал запросы на проверку уже существующих данных и, при их наличии, не добавлял новых записей.
Короче — меньше демонстрации своей незаурядности, больше диалога по делу. И дело не в возрасте, уверяю вас
опа опа мы воюем с нато
любит хавать этот кал
путинская вата
mgu>Me: what's the point of this test?
mgu>Recruiter: I have to check that you know the right answers.
mgu>http://www.gwan.com/blog/20160405.html
Да дурак он, а не director of engineering. Там правильно в комментах ниже написали, что если бы у него был реальный management experience, то он бы с первых трех фраз все понял и вежливо бы прекратил собеседование, сославшись на оставленный на плите чайник.
Хотя чо, я в MS на подобную удочку попался, только меня в итоге взяли и чуть не съели мозг. Ну, как говориться, заплатил налог на наивность.
Здравствуйте, bazis1, Вы писали:
B>Да дурак он, а не director of engineering. Там правильно в комментах ниже написали, что если бы у него был реальный management experience, то он бы с первых трех фраз все понял и вежливо бы прекратил собеседование, сославшись на оставленный на плите чайник.
А где там комментарии? Что-то не нашёл.
B>Хотя чо, я в MS на подобную удочку попался, только меня в итоге взяли и чуть не съели мозг. Ну, как говориться, заплатил налог на наивность.