Thursday, November 19, 2015

Техническое интервью с точки зрения соискателя

Здравствуйте, уважаемые читатели. Сегодня мы поговорим о технических собеседованиях. Я бы хотел с вами поделиться странными задачками, которые предпочитают задавать некоторые работодатели на собеседованиях. На написание этой статьи меня побудила статья "Технические собеседования: советы", в которой автор рассматривает соискателей как неких бедных крестьян, которые пришли просить у графа милости. Меня всегда возмущал подход, согласно которому отношения работник-работодатель не как партнерские, а как связывание некими обязанностями по принципу "раб и его владыка". Названия фирм поэтическим соображениям называть не буду, да и в данном примере это не имеет особого смысла. 
Где-то несколько лет назад я открыл для себя самый простой способ проверки, насколько ты слаб в той или иной области, – это собеседование. Во-первых, это стрессовая ситуация с благоприятным подтекстом, в которой вы можете оценить навыки поведения в  напряженной атмосфере и готовность преодоления таких ситуаций с поставленными заковыристыми вопросами. Во-вторых, это отличный способ найти проект, который вам по душе, да и возможность получить более высокую оплату. И третий немаловажный пункт – это насколько знания тех. лида, который проводит собеседование, коррелируются с вашими. Меня зацепил комментарий одного эксперта по поводу моего отзыва об некой компании.
«По поводу поиска слабых мест: я понимаю, почему вы ищите слабые места у себя, но зачем их искать у интервьюера? Не ищите – не найдете, эксперт вам просто его не покажет. Каждый официальный интервьюер проходит спецкурс и в конце – собеседование на профпригодность к этой обязанности. Иными словами, в 90% случаев интервьюер – специалист экстра-класса.
Да, еще лирическое отсутупление... Сильный итервьюер всегда немного дает слабину – во-первых, чтобы понять, насколько хорошо кандидат понимает в технологиях (контркомментарии приветствуются), и во-вторых –  чтобы не загнать кандидата в тупик – это большая проблема для очень сильных экспертов. Понапишут в резюме, мол, они технобоги, а на элементарные практические вопросы вменяемого ответа дать не могут...»
Признаться честно, меня всегда умиляли в некоторых случаях такие "эксперты экстра-класса", которым задаешь наводящий вопрос, а они начинают лить полнейшую ахинею. Есть несколько категорий таких специалистов, которые пытаются показать перед кандидатом, кто здесь главный. Давайте с ними знакомиться.
Новоиспеченные тимлиды (предпочитает задавать вопросы, о которых недавно прочитал в какой-то умной книге, и пытается ими интерполировать).
Специалисты не по профилю. С первых минут разговора не понятно, что вообще этот человек делает на собеседовании и в чем он вас собеседует, так как техническое интервью он непосредственно не проводит, но задает разные бессмысленные либо общие поверхностные вопросы, которые с конкретным собеседованием имеют мало общего (например, работали ли вы с регулярными выражениями или с базами данных).
Боги. Есть ребята, возомнившие себя новоиспеченными гуру и задающие множество задачек, которые, с их точки зрения, проявляют твою профпригодность. Их излюбленные  логические задачки на взвешивание/переливание, про поля для гольфа, про идеальные функции и еще груда разной белиберды, которую они сами на проекте никогда не используют.
Боссы. Этот тип интервьюеров заметен практически сразу. Уже со старта собеседования они пытаются поставить вас в рамки своего подчиненного, демонстрируя перед вами доминирующую позицию босса. Например, такой кадр сразу может перейти на "ты", начиная разговор, скажем, так: “Ну, расскажи, что ты делал на своем, как-там его, проекте”. Обычно с такими людьми нужно просто отсидеть интервью и просто о них забыть (разве что вам нравится, когда к вам постоянно обращаются, как к подчиненному, указывая ваше место), если вы ищете уважения, а не притеснения.
Грамотеи-доброхоты. Этим людям вообще не важно, чем вы занимались; они могут придраться к тому, что вы неправильно написали имя (фамилию) по-английски, или грамматически неверно составили предложение в резюме или что-то в этом роде. Мне таких приходилось встречать дважды.
Профессоры. Эти люди предпочитают прерывать вас посреди ответа, комментируя его фразами критика, напоминающими ситуацию на экзамене, например: “Неправильно/стоп/достаточно/не так/дальше”. Вы едва ли можете ожидать от такого профессора ответ на его же вопрос, когда вы у них поинтересовались ответом. Обычно собеседование проходит в режиме допроса.
Болтуны. Это особенный тип людей, которым не важно, как и что ты им рассказывают на собеседовании; большую часть времени они тратят на то, чтобы рассказать, как в их компании все классно, какие плюшки здесь приготовлены для сотрудников, что-они делают в проекте и т.д. Предполагаю. что их задача пиарить свой проект перед каждым из кандидатов.
Молчуны. Специфическая категория интервьюеров-интровертов, которые в основном являются хорошими специалистами, но предпочитают слушать, нежели говорить, и работать, нежели проводить собеседования. Обычно такое собеседование проходит сухо в стиле вопрос-ответ.
Теоретики. Отдельная категория интервьюеров, в основном это архитекторы, которые начитанные, могут знать некоторые книги едва ли не наизусть, однако не умеют программировать. Такие случаи достаточно редкие, но все равно имеют место быть. Обычно специалисты такого класса любят обсуждать высокие темы по паттернам, разным методологиям разработки, но никогда не проверяют ваши профильные практические знания.
Специалисты. Это в основном техлиды, которые, находясь у руля командного корабля, наверняка находятся в курсе того, что они ждут от кандидата, и целенаправленно выбирают тех, кто им может подойти для командного плавания. Такие люди знают, чего они стоят, не задают глупых вопросов и спрашивают только по сути – аспекты, которые действительно могут пригодиться для проекта. Они всегда ответят на ваши вопросы и признают свою неправоту, если в чем-то не уверены. Обычно именно с такими людьми проходит собеседование в непринужденной, дружественной атмосфере. Для меня это наиболее адекватный тип интервьюеров.
Я не стану описывать, какие нынче есть кандидаты на собеседованиях, упоминая тех, которые пишут неправдивую информацию в резюме, которые заносчивые и т.д. Это все работодатели, как на ладони, видят со стороны, да и это не цель текущей статьи.
Вторую часть данной статьи я бы хотел посвятить несуразным вопросам, которые мне приходилось слышать на собеседованиях. Некоторые вопросы я буду немного комментировать, ну и порядок сортировки этих вопросов я выбирал по собственному усмотрению, поэтому они не претендуют на полноту и могут быть достаточно субъективными (которыми они, наверняка, и являются).

А теперь вопрос с университетского курса. Что вы можете сказать о модели OSI?

Я думаю, что вопрос мне задавался с целью сразу меня отсеять. На то было несколько причин. Во-первых, я не работал так плотно с сетью, и интервьюер это знал. Во-вторых, я изучал модель OSI в университете лишь поверхностно. В-третьих, я не шел на собеседование как сетевой разработчик. Я не понимал, что там делаю, чего, по реакции интервьюера, он, собственно, и добивался. Затем был сразу упрек о том, что я не помню, как работает протокол L2F или L2TP, – уже даже не помню, если честно. Это, наверное, было самое кошмарное собеседование, на которых я когда-либо был.

Напишите идеальную функцию для расчета факториала.

Не знаю, как вам, но я считаю задачки подобного рода (написать идеальный факториал, посчитать число Фибоначчи или какой-то интеграл), когда вы приходите на вакансию прикладного или веб-разработчика,  как минимум, тупо. Лично я могу, например, и не вспомнить сходу , как такое можно реализовать, и не считаю это чем-то сверх-, о чем можно говорить: “Да как это можно не знать”.

За сколько взвешиваний мы можем определить, больше или меньше предмет?

Обычно это интересные задачки, которые позволяют проверить умение математически мыслить. Но я до сих пор так и не понял, чем руководствуются специалисты, когда их задают на собеседованиях потенциальному прикладному или веб-разработчику.

Как передаются по умолчанию объекты в C#?

Это вполне адекватный вопрос, на который есть вполне адекватный ответ, достойно описан в книге “C# in Depth” Джона Скита. Проблема в том, что очень многие технические специалисты, которые задают этот вопрос, сами не знают на него ответ. На одном собеседовании сделали очень круглые глаза, когда я показал им в студии на примере, что они не правы. На втором начали нести ахинею об указателях с C++. А на самом деле. достаточно об этом раз прочитать и посмотреть, как это работает через Reflector или ILSpy. У меня было три случая, когда специалисты, которые меня собеседовали, несли полный бред. Возможно, они обиделись, когда я показал им это в книге и рассказал, почему они не правы, но сути это особо не меняет.

Сравните, пожалуйста, ThreadPool и Task.

Здесь некорректна сама постановка задания. Сравнить-то можно, но не забываем тот нюанс, что таск – это, по сути, более высококровная обертка над TheadPool. Там можно много рассказывать и о данных, которые можно получить, и о принципе работы всего этого. Но само построение вопроса остается некорректным.

Есть еще множество нюансов, которые в большей мере проверяют стрессоустойчивость кандидата, чем его навыки. Например, некоторые компании практикуют такой стресс-тест на собеседованиях, когда пытаются явно тебя унизить и смотрят, как ты на это отреагируешь. Припоминаю случай из опыта жены, когда ей на собеседовании задали вопрос: "Как вы относитесь к тому, что начальник может на вас наорать?". В принципе, если вам будет удобно работать с такими людьми, вы можете продолжать дальше интервью, но лично я сторонник того, что интервью, как и всякое общение, тем более – работа, СОТРУДНИЧЕСТВО (кстати, яркое в этом отношении слово)  это обоюдный процесс, в котором принимают участие две стороны. Я бы просто без вопросов покинул такое интервью, попросив не отнимать больше мое время. В целом, все строится вокруг индивидуального процесса относительно каждого кандидата. То, что может нравиться одному, не обязательно будет по душе другому кандидату. 
В целом, получилась достаточно сумбурная статья, в которой просто захотелось поделиться своими мыслями; возможно, они в чем-то совпадают с вашими, а еще я уверен, что вам есть что добавить – ведь у каждого из вас личный опыт, который, несмотря ни на что, делает вас богаче. 

Ну и напоследок хотелось бы порекомендовать статью Сергея Теплякова "Как проводить технические собеседования?", в которой автор описывает техническое интервью со стороны компании и человека, который ищет специалистов в свою команду. Надеюсь, вам было интересно это читать, и вы нашли что-то для себя нового. 

Помните фрагмент из второй части "Пиратов Карибского моря", в которой стрелка компаса, обладающего способностью указывать направление на то, чего больше всего на свете желает его обладатель, начинает хаотично вращаться в руках капитана Джека Воробья?

Желаю всем, кто ищет, найти то, чего вы действительно хотите, и чтобы искомое оказалось для вас только выигрышным вариантом!

No comments:

Post a Comment