Паттерны интервьюирования
От: mgu  
Дата: 14.11.16 22:38
Оценка: 36 (5) -1 :))) :))) :))) :))) :))) :))) :))) :))) :))
Интервьюирование в IT существует столько же, сколько и программирование, однако шаблоны собеседований до сих пор не созданы. Не пора ли, друзья мои, нам замахнуться на паттерны, понимаете ли, нашего интервьюирования? Для начала напишем «Здравствуй, мир!»:

ЗдГавствуйте! – До свидания!

Получилось! Теперь попробуем изобразить реальный паттерн технического собеседования программиста в России. Мы не будем копировать западные образцы, но обратимся к корням, и поэтому интервьюировать будут 3 человека одновременно. Получилась тройка, разумеется, не гоголевская, а сталинская. Назовём этот паттерн МВК, по составу участников:

М (мудель) – технический специалист, дорос до этого положения из-за того, что за много лет так и не смог никуда сбежать из этой конторы. Он лучше всех разбирается в отложениях кода. Средних лет, разведён, тощ, язвенник и всем недоволен.

В (вьюноша) – студент, подрабатывает ради первой строчки в трудовой книжке. Он вроде бы обучается у старших товарищей проводить собеседования, однако бесценен по той причине, что ещё помнит все канонические алгоритмы сортировки и типы данных. Прыщав.

К (контролёр) – его официальная должность – руководитель проекта, но истинное призвание – быть кондуктором в общественном транспорте, поэтому он с таким удовольствием объявляет остановки (milestones), проверяет билетики (tickets) и обожает узнавать о причинах их несвоевременной оплаты (stand-up meetings). До 30 лет, от 100 килограммов.

Далее по тексту для обозначения участников собеседования будут использоваться буквы «М», «В», «К», а также «С» – соискатель.

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

К. В своём резюме вы не указали возраст…

С. 45.

К. Полных?

С. Исполнится через месяц.

Контролёр облегчённо вздыхает и что-то заносит в протокол. Мудель напрягается, Вьюноша кривит рожу.

К. Как у вас с английским? Поговорили с Мозесом?

С. С каким Мозесом?

К (звонит по сотовому кадровичке). Кандидат разговаривал с Мойшей? А почему? У того опять проблемы со Скайпом? А наша учительница проверяла английский? И что написала? Ага, вижу: «Хиз инглиш ис велл».

К (соискателю). Вашим английским довольны, перейдём к технической части. Начнём с основ (читает с монитора). Чем интерфейс отличается от Олег Газманов попал в автокатастрофу абстрактного класса? Объясните это так, чтобы было понятно (поднимает глаза и начинает импровизировать) любой дуре, даже нашей эйч-арше.

С. Ну, раз такое дело… Тогда возьмём в качестве примера объекта бюстгальтер, его абстрактным классом будет ценник с характеристиками и ценой, а интерфейсами будут бирки со значками стирки, глажки и т. п.

К (записывает). «Употребил слово бюзгальтер».

М (записывает). «Разбирается в тонкостях».

В (записывает). «Тема сисек не раскрыта».

К. Вы знакомы с «большим Пи»?

М (перебивает). Вы знакомы с «большой О»?

С. Да, и с малой, и с большой.

М. Га?

С. Не «га», а «омега». А малая «О» – омикрон. Я по образованию переводчик-синхронист с древнегреческого.

К. А что же не работаете по специальности?

Неловкая пауза.

М. Ну, мы тоже любим древнегреческий, я, например, обожаю лямбды.

К. А я – дельты.

В. А я – ню.

М. Хорошо, какие виды сортировки вы знаете?

С. По возрастанию и убыванию.

М. Кхм, я имел в виду другое: допустим, у вас есть в памяти массив с миллиардом значений, а стандартная сортировка работает медленно, как вы бы исправили ситуацию?

С. А зачем хранить в массиве миллиард значений?

М. Ну, это неважно. Это для примера, у нас и миллион тормозит.

С. Ммм… Добавить оперативной памяти?

М. Невозможно!

С. Уменьшить «О»?

М. Интересная мысль…Но мы ждём от вас другого ответа, сдаётесь?

Соискатель кивает головой.

К. Нужно применить многопоточность!

Мудель под столом толкает Контролёра.

К. Нужно применить кеширование!

М (тактично). Но лучше всего применить логарифмическую сортировку.

С. А логарифм с каким основанием?

М. Э-э, с двоичным, разумеется.

В. Это не имеет значения!

С. Разве?

М. Если мы перегрузили хеш-фунцию, какую ещё нужно переопределить?

С. Я такими вещами не занимаюсь.

Интервьюеры ставят минус.

С. Да, я слышал, что некоторые перед увольнением переопределяют плюс на минус...

Интервьюеры меняют минус на плюс.

М. Вот вам бумага и ручка, разверните односвязный список без выделения дополнительной памяти. Время!

Соискатель стучит пером и вскоре возвращает лист.

М. Неплохо – 44 секунды, вы в десятке лучших. Но есть одна серьёзная проблема – у вас открывающая скобка находится на новой строке…

С. Так это потому что на C#, вы же ищете дотнетчика?.

М. Да, всё правильно, у нас был образец только на Джаве.

К (Муделю). Так вот почему отдел кадров завернул столько кандидатов! (Соискателю) не возражаете, если мы возьмём ваш ответ? Спасибо.

М. Далее, вы указали в резюме JavaScript. А работали ли вы с фреймворком H1N1.JS? Нет? Тогда для чего нужны… (умоляюще смотрит на Вьюношу).

В (шепчет). Прототипы, замыкания…

М. Для чего нужны прототипы замыкания?

С. Я не знаю, не пользовался.

Ответ воспринимается положительно.

М. Ничего страшного, теперь по базам данных.

К. Для чего нужны индексы?

С. Для ускорения поиска и сортировки.

К (заглядывая в монитор). Верно только наполовину.

М. Напишите запрос, который удаляет записи-дубликаты.

С (задумывается). Я до таких сложных вещей не доходил, просто писал запросы на проверку уже существующих данных и, при их наличии, не добавлял новых записей.

К. Как сделать так, чтобы в коде было меньше ошибок?

С (с воодушевлением). Модуляризация, инкапсуляция, переиспользование…

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

С. Так уж и ни одной?

К. Да, просто все силы уходят на написание тестов, до самого кода руки не доходят. Хорошо, на какую минимальную зарплату вы рассчитываете? Что? Максимальную? У нас платят только минимальную… ну, я имел в виду, что, судя по вашим ответам, вы и на джуниора не тянете, но если вы пройдёте испытательный срок, то можно будет обсудить повышение… у нас регулярно происходит пересмотр зарплаты. Нет, для старшего – для нашей команды – у вас всё-таки знаний маловато. Ну пожалуйста, чтобы не оставалось сомнений, ещё вопрос, на логику: почему крышки люков делают круглой формы?

Соискатель в растерянности, начинает шептать молитву, возводит очи горе и видит прямо над собой квадратную крышку люка вентиляции. У интервьюируемого отваливается челюсть, и его рот приобретает форму кирпича. Вьюноша поднимает глаза и, заметив квадратный люк, от неожиданности издаёт громкий неприличный звук. До зарплаты ещё 4 дня, приходится питаться просрочкой, поэтому вонь получается страшнейшая. В это время взгляд Муделя также достигает потолка и он, как член команды, присоединяется к порче воздуха. Язва желудка и микроволновые полуфабрикаты обогащают купаж кишечных газов. Контролёр, будучи прирождённым руководителем, не может остаться в стороне от любой инициативы снизу, он столуется в российских кафе и ресторанах, где подают перекомпилированные объедки, и его вклад в деятельность команды вносит новые ноты. И только Соискатель не участвует в этой канонаде – он с утра ничего не ел. Пока туча газов втягивается в квадратный люк, Контролёр успевает записать:

«Не продемонстрировал командный дух».

Мудель добавляет:

«Отсутствуют навыки в облачных технологиях».

Вьюноша:

«Не мужык».

Между тем отравляющие газы проникли по вентиляции в помещение сверху, где располагается строительная контора, откуда начинают доноситься крики: «Суки! Педоразы!» и раздаваться удары в пол образцами пластиковых окон, клееного бруса и винтовых свай. Злополучная квадратная крышка отваливается, засыпая дореволюционной побелкой присутствующих. Они выползают в коридор и тут же делают селфи для размещения в своих блогах с личным видением интервью и подписью: «И тут выхожу я, весь в белом».

Занавес.

P.S. Я понимаю, что в мой шаблон неидеален, например, сверху может располагаться не строительная контора, а, скажем, отдел кадров этой же фирмы, где следующему кандидату как раз рассказывают о рабочей атмосфере в коллективе. Что ж, в конце концов, нельзя же всё время слепо следовать шаблонам.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.