Рецепты: как преодолеть ступор при собеседовании на Senior Developer?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Всем привет! На днях я завершила процесс поиска новой работы на позицию Senior Developer. Я прошла множество разноплановых интервью и, разумеется, несколько раз столкнулась с главным, на мой взгляд, врагом сеньор-программиста на собеседованиях: ступором.

Стресс, желание показать себя в лучшем виде, давление высоких ожиданий и требований - этот коктейль иногда вскипает. Внезапно, может даже после самого простого вопроса (ответ на который вы точно знаете), голова становится полностью пустой, вы не можете выдавить ни слова и написать не то, что строчки, а даже одного символа кода, и долгие секунды тянутся вечность, лишь усугубляя ситуацию. Звучит страшно? На деле тоже очень не приятно.

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

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

Этап 1. Первое общение с HR

Данный этап обычно проходит спокойно. Общие вопросы о вашем опыте, об ожиданиях, об интересе к вакансии. Самый безопасный в плане вероятности возникновения ступора этап. И даже если на пару секунд зависните - не страшно. 

Ситуация: стресс может возникнуть, если речь идет о вакансии с требованием иностранного языка. Если у вас в резюме указано владение английским - у вас могут что-то на нем спросить и попросить на нем же ответить. Без практики это однозначно может вызвать ступор.

Рецепт: если вы рассматриваете вакансии с иностранным языком, перед созвоном (и перед описанным ниже этапом “soft skills”) попрактикуйтесь - проговорите какие-то ответы на общие вопросы вида “чего вы ожидаете от будущего места работы, какие качества коллег для вас имеют значение”. Если вы знаете язык, но мало практиковались - разминка спасает от ступора.

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

Этап 2. Оффлайн-тест

Вы поболтали с HR и вам предложили пройти небольшое тестовое задание на пару часов. Задачи, немного теории. Казалось бы, с чего тут может возникнуть ступор то?

Ситуация: комфортные условия, никто не наблюдает, никакого стресса… Вы запускаете приложение с тестом, читаете условие, и перед глазами пелена.

Рецепт: на этот случай он у меня один (помимо очевидных вида “кофе заварите заранее”)
- Перед тем, как приступить к тесту - решите несколько алгоритмических задачек на своем языке программирования. Просто чтобы набить руку и размяться. Обычно на офлайн-тесте время ограничено, и задачу, которую вы 100% решите, вы можете не успеть решить достаточно быстро. Тренировка тут единственный способ, на мой взгляд.

Этап 3. Теоретические вопросы по основам

И вот она, встреча с интервьюером лично.

Первое, что нужно помнить: теоретические вопросы по основам однозначно будут. Иногда даже самые банальные, самые поверхностные и самые базовые. Как показывает мой личный опыт - не так страшен сложный хитрый вопрос, как вопрос: “что такое HTTP” (а вы как раз не повторили точное определение!). Вот тут и появляется он - леденящий душу батюшка ступор. Голова пустая, только пульсирует мысль: “Но я же знаю, я постоянно работаю с HTTP, это вообще основа всей моей работы, почему я не могу сказать ни слова…”. И долгие секунды вы смотрите на интервьюера в шоке сами от себя.

Итак, рецепты:

  1. Не ~~ссать~~ бойтесь этого. Вы правда можете забыть определения и формулировки самых базовых вещей. Это часто встречается, посмотрите, к примеру, статью “квадрант компетентности”. Этот случай я отношу к “неосознанной компетентности” - когда знание уже впиталось в "подкорку": вы на уровне рефлекса умеете с этим работать, но сформулировать вслух сложно. В такой ситуации помните: забыть что-то базовое на собеседовании - это ожидаемо, и при стрессе случается даже у лучших. Эта мысль зачастую помогает успокоиться в момент первой паники.

  2. Но ответ таки нужно дать. Скажите интервьюеру что-то в духе: “Так, я не могу слету вспомнить красивое академическое определение, потому буду говорить своими словами”. И начинайте говорить все свои ассоциации. Вы уже не вспомнили слету идеальное определение, так что настало время для неидеальных. И знаете, скорее всего вы скажете все более менее правильно.

  3. Воспользуйтесь помощью аббревиатуры, если она там есть! Попробуйте её расшифровать. На примере HTTP: “Хипер-текст трансфер протокол…” А-а-а, трансфер протокол, точно! И понеслась. Мозг заработал, ступор побежден!

  4. “Но я действительно этого не знаю…” Иногда вы на самом деле не знаете ответа на вопрос, впервые видите какой-то синтаксис или никогда не читали о каком-то базовом понятии. Даже ассоциаций никаких нет. Такое тоже может случиться. Решение - скажите об этом прямо как есть. “Если честно, я не знаю. Вообще, даже ассоциации никакой не приходит.” Это как минимум сэкономит всем время и покажет вашу честность и умение признавать свои пробелы (первый шаг к решению проблемы - её признание, помните?). А как максимум - интервьюер подкинет еще пару смежных понятий, и окажется что вы таки понимаете о чем речь и сможете вполне прилично ответить.

Примечание: Кстати, именно там, где я поначалу словила ступор на вопросе “что такое PHP-FPM?” мне в итоге сделали отличный оффер на сеньор девелопера со стеком PHP+Golang. Видите, не так страшен волк, как его малюет наше паникующее сознание.

Этап 4. Лайвкодинг

Раньше это была самая страшная для меня секция. Что может быть хуже - ты отлично рассказал о своем супер-опыте, теория отскакивала от зубов, но вот тебе дали задачу, ты один на один с кодом и… Не можешь написать ни строчки. Дальше мрак и паника, “они решат, что я дилетант, дно, чсв-теоретик который на самом деле ничего не умеет…”

Но это чушь. Коллеги, вы собеседуетесь на сеньора. Вы уже работали программистом. А это значит, что вы совершенно точно, 100% умеете писать код. И единственная причина, почему вы не можете написать ВООБЩЕ ничего - гребаный ступор.

Мои рецепты преодоления ступора на лайв-кодинг секции:

  1. Не можешь написать ни строчки? Напиши пару символов! Объяви переменную. Голова боится, а руки делают. Это поможет преодолеть первую панику, погрузит вас в привычную вам сферу - написание кода.

  2. В задаче присутствует массив? Напиши цикл, который для начала просто по нему пробежится. Постепенно шаг за шагом добавляй условия из требования.

  3. Скажи интервьюеру прямо: “Буду решать маленькими шажками поэтапно! Возможно, в процессе реализация поменяется полностью!”. Интервьюер, скорее всего, и так не против, но тебе это поможет побороть очень опасную и совершенно необоснованную мысль: “а вдруг я начну писать дичь, вот позорище, меня посчитают идиотом…” Но ты предупредил, что можешь начать писать дичь, и вообще Кент Бек и другие гиганты завещали не пытаться решать все сразу правильно, а решать маленькими шажками. Это прекрасная методология. Все в порядке.

  4. Озвучивай! Каждое действие проговаривай вслух.
    Свежий пример из жизни:
    Так, мне надо заполнить двумерный массив рандомными числами от 1 до 100 без повторений… Слету решение в голову не пришло (прим. помните, у нас же был ступор), потому буду писать поэтапно. Для начала, напишу цикл “for”, заполню хотя бы одномерный массив не-рандомными числами. Ага, теперь нам понадобится функция “rand”. А нам двумерный нужен был? Так, делаем вложенный цикл. Вот, супер, заполнили… А как бы теперь избавиться от коллизий… А, так надо отдельно хранить все значения, которые мы уже использовали!.." 

    Вот так, шаг за шагом я пишу и всё проговариваю вслух. Интервьюер видит развитие моей мысли, и знаете, мне кажется, им обычно это нравится! Они ведь, зачастую, ход вашей мысли хотят узнать куда больше, чем получить эталонное решение. 

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

  6. Бонусный пункт: кстати, с кодом ты вовсе не один на один. Интервьюер тоже в деле, и запросто может направить/подкинуть идею. Иногда это только сбивает - тут не стоит сразу бросаться решать его методом - так можно снова впасть в ступор, лучше просто вслух проанализировать идею. А иногда стоит и прямо попросить подсказку, так и сказать: “Что-то у меня ступор, подскажите, пожалуйста, с чего начать вот тут”. Лучше спросить и хотя бы попытаться сделать, чем даже не спросить и проиграть всего-то собственной панике.

Примечание: иногда в очень серьезных статьях я видела советы вида “сначала хорошенько продумай решение, а потом начинай писать!”. Но лично мне, к сожалению, такой подход никак не помогает преодолеть ступор, а наоборот, только его усугубляет. Если чувствуете что-то похожее - попробуйте начать писать код по “пошаговому” рецепту.

Примечание 2: рецепты работают и при написании SQL-запросов. Точно также, начинайте с обычного SELECT, постепенно добавляйте условия. 

Этап 5. Архитектурное собеседование

Казалось бы, вот оно, море, в котором мы почувствуем себя “рыбой в воде”, а то и “акулой этого бизнеса”. Сейчас то я покажу свой скилл в построении распределенной архитектуры, выборе хранилищ и знании паттернов систем пакетных вычислений!

Вам говорят: “Спроектируйте простенькое приложение по загрузке и обработке csv-файлов пользователя, где он хранит данные о своих покупках за месяц.

Не вопрос! Очереди, распределенные хранилища, шарды, реактивная архитектура… 

Интервьюер: “Так а как пользователь файл загрузит то?..”
Все в мире: через форму на сайте методом POST!
Вы: … (тут начался ступор)

Это абсолютно свежий пример из жизни. Я то думала, что от меня ожидают верхнеуровневых определений и в целом перечисления всего, что бывает. И простой жизненный вопрос сбил с толку.

Рецепты преодоления ступора следующие:

  1. Выкиньте из головы мысль, что вам нужно предусмотреть сразу все. Это только застопорит вас. Представьте, что вам просто надо сделать самую простую базовую фичу на одной физической машине, и начинайте говорить, можно попутно рисовать модель на бумажке. А уже после вопросов интервьюера вида: “А где хранить, а как снизить задержку, а обеспечьте доступность, масштабируемость, отказоустойчивость и т.д.”, - добавляйте элементы. Он точно спросит.

  2. А если не знаете - не страшно. Предполагайте и предлагайте. Помните: архитектура, не смотря на то, что казалось бы каждый чих покрыт паттерном, методологией и готовым решением - это все равно более стратегический вопрос. Единственно правильного решения архитектурной задачи НЕТУ. Все зависит от конкретного сервиса, требований, возможностей бизнеса и т.д.. Знать всё - невозможно. А вот предполагать - это нормально, может именно этого от вас и ждут.

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

Этап 6. Софт-скиллз (или общение “за жизнь, опыт и планы”)

Обычно в этом месте уже идет знакомство с командой, обсуждение планов на будущее. И тут вам больше не нужно “пройти дальше что бы то ни было”. Тут вам следует самому понять, хотите ли вы идти дальше именно с этой командой. 

Этот этап я для себя называю “Обоюдные смотрины”. Теперь не только вас оценивают, тут уже и вы решаете, подходят ли вам эти люди, сможете ли вы с ними плодотворно работать и развиваться. И именно это отношение помогает преодолеть любой ступор.

Примечание: вы, разумеется, также оцениваете команду на всех этапах, но на мой взгляд именно этот этап - ключевой.

Да, тут все равно может попасться вопрос, который собьет с толку, на который не будет ответа. 

Примеры:

  1. “А вспомните последнюю конфликтную ситуацию на работе”. Что думает паникующий мозг? “Как правильно ответить, что они хотят услышать, а если я расскажу про тот случай, когда мы на повышенных тонах спорили в переговорке за лучший паттерн…” 

    Рецепт: посмотрите на вопрос как на возможность узнать команду. Если у вас был конфликт в действительно важной для вас ситуации, расскажите, обсудите. Если вы с командой не сработаетесь - вы сами же это почувствуете при обсуждении именно таких вопросов.

  2. Еще одна ситуация, которая может вызвать ступор. Интервьюер: “Теперь наша очередь отвечать на ваши вопросы. Задавайте!” Мозг: “Но как так то… Надо что-то спросить?..”

    Рецепт: у вас точно это спросят, так что просто подумайте заранее, что для вас действительно важно, и составьте список вопросов на листочке.

P.S. Бонусная кулстори о моих вопросах работодателю

Кому интересно - делюсь опытом. У меня недавно была эта ситуация. Я давно не собеседовалась, и настолько готовилась отвечать сама, что на вопрос “А какие у вас к нам вопросы” растерялась и еле выдала робкое “а как у вас с удаленкой, когда в офис планируете?”.

К следующему собеседованию я уже подготовилась и накидала на листочке важные для меня вопросы (карьерный рост, участие в конференциях, обучение, примеры реальных задач на последнем спринте). И к вопросу “о моих вопросах” была полностью готова. Знаете, есть у меня смутное чувство, что это сильно сыграло мне на руку как в плане того, что я и правда узнала всё, что для меня важно, так и интервьюеры узнали, чего я ожидаю. В одном из мест мой эйчар организовала дополнительную встречу с еще парой команд. И знаете что? Мои интервьюеры подготовились к моим вопросам заранее! Это было так приятно. Я даже не ожидала такого эффекта.

Заключение

Вот и все мои нехитрые рецепты. В данной статье я обобщила свой опыт успешного прохождения серии интервью на позицию “Senior Developer”.

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

Источник: https://habr.com/ru/post/551840/


Интересные статьи

Интересные статьи

Эта статья не о том, как проходить собеседования, чтобы вас взяли. Она о том, как смотреть на работодателей, чтобы сделать выбор в условиях, когда тексты вакансий, рекрут...
Английский язык на первый взгляд довольно логичный. Когда только принимаешься за его изучение, практически все правила кажутся понятными. Но среди них есть и ужасно странные правила и...
Возможность интеграции с «1С» — это ключевое преимущество «1С-Битрикс» для всех, кто профессионально занимается продажами в интернете, особенно для масштабных интернет-магазинов.
Реализация ORM в ядре D7 — очередная интересная, перспективная, но как обычно плохо документированная разработка от 1с-Битрикс :) Призвана она абстрагировать разработчика от механики работы с табл...
Сегодня мы поговорим о перспективах становления Битрикс-разработчика и об этапах этого пути. Статья не претендует на абсолютную истину, но даёт жизненные ориентиры.