Как готовитесь к собеседованиям?
Публичный пост
30 апреля 2020
2187
Привет, клубни! Как вы готовитесь к собеседованиям? Составляете ли план, может уже есть готовые гайды?
Мне кажется, что подготовку к собеседованиям можно поделить hard-skills, soft-skills и процессные вопросы.
Про хард (как готовиться к тому, чтобы вертеть деревья), тут уже отлично расписали, я хочу написать про софт и процессы. Тем более что довольно удивительно, что про них не пишут.
Я не чистый разработчик, но SDET это моя основная специализация, я нанимался/нанимал людей, и с разработкой там очень многое пересекается.
Если быть простым линейным разработчиком, то наверное можно хорошо вертеть деревья и этого хватит. Если это лидершип или миксованная роль, то деревья будут вертеть другие. Все очень сильно зависит от компании, но если хочется не в FAANG, то часто важен cultural fit. Писать код могут многие, а вот _решать проблемы_™ и быть тем, с кем приятно работать — далеко не все.
Мои шаги по подготовке:
Это позволяет рано понять, стоит ли в принципе тратить время. Или можно ли сэкономить на интервью, расслабиться и провести его ради спортивного интереса.
2. Тыкаю продукт, если это возможно :) Позволяет не казаться долбоебом и ВСЕГДА добавляет бонусы и темы для обсуждения на всех этапах интервью. Людям с другой стороны приятно осознавать, что ты не очередняра за баблом, а хотя бы понял, что за продукт. При выборе между двумя чуваками всегда выберут неравнодушного.
3. Имею подготовленные ответы на типовые вопросы, которые часто задают на скрининг колле. Вопросы из серии:
Эти вопросы могут звучать как поебота, но нормальные пацаны используют их для того, чтобы составить первичный профайл личности, потому что других якорей просто нет. Например, любой QA хорошо должен уметь в conflict management. PM хорошо должен уметь в stakeholder management. При найме разработчика обычно хочется понять, что он умеет в problem solving, и решает проблемы, а не создает их. Поэтому хороший рекрутер всегда явно или неявно спросит что-то похожее. А первое впечатление можно произвести только один раз. Поэтому подготовьте уже что-нибудь :) Если ничего нет, соврите!
4. Имею подготовленные общие вопросы про важные моменты о компании. Там куча всего, от технических деталей и процессов до визовой поддержки и релокационных пакетов. Могу зашарить, если кому-то будет интересно.
5. Стараюсь узнать, чего ждать от технической части. Обычно достаточно просто спросить — рекрутеры с радостью делятся инфой. В моем опыте даже были случаи, когда сами рекрутеры говорили, что конкретно будут спрашивать :) Работает все — спросить что будет, узнать у знакомых в компании, посмотреть отзывы на Glassdoor
6. Готовлюсь к технической части. Без энтузиазма, но вспоминаю штуки, на которых будет стыдно наебаться, стараюсь сделать pet project или написать какой-то код без подготовки. Если есть какие-то нюансы
7. Если роль лидовая, а в интервью замешаны фаундеры, начинается другая история. Хорошие и грамотные вопросы фаундеру могут перевесить вообще все проблемы и недостатки по техническим частям, особенно если компания небольшая. Но тут уже все сильно зависит от компании и роли.
Хочу еще отдельно написать про technical challenge (то, что многие разрабы считают унизительным и хотят поминутной оплаты). Если вкратце, то нет более гарантированного способа запороть собес, чем недоделанная домашка.
Несколько пунктов, которые обычно очень влияют на восприятие и ничего не стоят:
Лично для меня план следующий:
интервью в yet another galera:
интервью в faang и подобные:
Знаю ненулевое количество людей, которые превращают подготовку к собеседованиям в полноценное хобби-прокрастинацию.
Все в стиле айтишников: взять тему, (((рационально))) перезаморочиться максимально (см. GTD/учет финансов/таблички иммиграции/психиатрия-коучинг) и на выходе получить либо просто нормальный результат либо (чаще) ничего. Зато энергии потрачено -- мое почтение! А на самом деле, все как обычно -- чем больше ты перезаморачиваешься о чем-то, тем меньше выхлопа получаешь за единицу потраченного усилия.
Как это делают все известные мне люди, получающие стабильно отличные офферы:
P.S. если человек не может решать easy/(большинство) medium задач на leetcode это должно называться не "подготовка к собеседованию", а "изучение базовой алгоритмики и проблем солвинга". Не надо путать одно с другим.
Если говорить про технические собеседования, то на вакансии мидл/синьор в основном мне попадались вопросы 2 групп.
К первой части готовлюсь так: что прохожу несколько собеседований, куда не хочу устроиться, и погнимаю, в каких темах у меня пробелы. Восполняю. Чувствую уверенность. Это главное.
Вторая часть необязательная, но выделяет среди кандидатов. Если в описании вакансии написано, что желательно знание storybook, то не обломайтесь хотя бы пройти туториал. Это и вам полезно, и на собесе поможет не растеряться.
Конечно, есть вакансии, где важен опыт. Архитекторы, аналитики. К ним вас будет готовить сама жизнь :)))
Ну и есть компании типа гугла, у которых за воротами очередь, поэтому они выдумывают удивительные задания типа на логику и алгоритмы. Есть целые книжки про то как эти собеседования проходить, их тоже для интереса можно почитать, но если вы туда не собираетесь, то досконально штудировать не обязательно.
В обычных конторках, которые пилят свои продукты или делают аутсорс, важно показать, что ты в теме и готов разобраться, если чо.
Ах да, иногда просят задачу решить на бумажке или прям в уме (когда собес по телефону), но там обычно задачки простые, главное не теряться ;—)
Один раз был лайв кодинг, тоже решал задачку под присмотром через скайп. Там ради подготовки стоит настроить рабочую среду, чтобы не тратить время на запуск иде, создание папок и подключение тестировочного фреймворка.
Автор не указал, на кого собеседование, но в общем кмк: успешное прохождение любого собеседования --- результат практики.
Если это FAANG (Яндекс) ну или кто-то, кто считает себя тоже важным, то без решения LeetCode-задач туда не залететь. А так всегда стоит уметь общаться и правильно преподносить свои скиллы (мне так умные дядьки вроде Баруха на ютубе говорили).
Я готовлюсь к собеседованиям, проходя их. В прошлом году выбрал компании, куда бы не хотел попадать, и раз в три месяца у меня случаются собесы. Первый раз был так себе, остальные два очень даже ничего.
Первое интервью, 2002й год: я мог читать баш с листа, уже годен.
Второе интервью, 2012 год: мы договорились с владельцем и я хорошо выполнил тестовое задание, мне самому оно очень понравилось (посчитать открытие нового офиса в ОАЭ).
Третье интервью, 2016 год: я его провалил. Очень хотел, по этому нервничал и нес чушь. В итоге по стечению обстоятельств взяли.
Четвертое интервью, 2018 год: я был с похмелья, я им был больше нужен, чем они мне, вел себя очень нагло, взяли.
Пятое интервью, 2019 год: сделал тестовое задание, пообщался, взяли.
У меня глубокие знания того, как работают компьютеры и сети. Я могу много рассказать архитектурного. На память не помню ничего принципиально: все есть "во внешней памяти". Я могу нарисовать как бы я строил высоко нагруженное и высоко доступное приложение, но вот какие строчки пихать в каком месте я не помню и не собираюсь запоминать, в этом нет смысла. Мне достаточно знать, что это возможно сделать этим инструментом.
Отличная тема!
В рамках ресёрча по FAANG вижу ещё одну рекомендацию часто:
https://www.amazon.co.uk/Linux-Kernel-Development-Developers-Library/dp/0672329468 товарища Robert Love.
И не удержался, купил-таки вместе с нею дорогущую https://www.amazon.co.uk/Linux-Programming-Interface-System-Handbook/dp/1593272200 - отзывы положительные и книга толковая, но рекомендовать пока не могу - нужно прочитать.
Такие книги рекомендуются для более глубокого изучения Linux и подготовки к Technical интервью (обычно это второй раунд телефонных интервью) - то есть это именно глубокое понимание современного Linux до уровня системных вызовов для супер-точной и тонкой настройки производительности.
Многие из уже прошедших и устроившихся на работу рассказывают, что цель таких интервью - довести тебя до уровня, когда ты совершенно точно не знаешь, о чём дальше говорить и что дальше делать. Не факт, что каждый разговор доходит до имплементации системных вызовов - но если ты и про них можешь бесконечно говорить и углубляться - то это в любом случае впечатляет.
Никак не готовлюсь, я их провожу)
О книге The Linux Programming Interface: A Linux and UNIX System Programming Handbook ещё Julia Evans (bork) - автор достаточно известных комиксов на IT тематику - хорошо отзывалась. Чот да, книга периодически всплывает то тут, то там.
Можно каналы в телеге?
Почти никак.
По основным своим технологиям я основы и так знаю, а всех хитростей все равно за выходные не выучишь.
Если совсем странная второстепенная технология указана в резюме - скорее всего, почитаю, что это и зачем. Может, даже туториал пройду.
С удовольствием прошла бы десяток собеседований для практики, но в моем городе нет столько позиций по моему профилю.
Сильно зависит от того, на кого ты претендуешь и в какую компанию стучишься. Собеседование на какого-нибудь мидла джависта в крупную продуктовую компанию будет очень сильно отличаться от собеса на джуна фронтендера в студию. Общие советы есть, разумеется, но дальше них всё очень индивидуально.
Есть даже каналы в телеге, посвящённые этому. Знакомые ребята горячо рекомендуют.
Для интервью по системному дизайну читаю рекомендованные книги.
Для интервью по алгоритмам повторяю leetcode.