Джошуа Флюк показал процесс прохождения телефонного интервью на React-разработчика

Joshua Fluke 1,5 млн 20 мин 8 мин 21.05.2018
Главное

Популярный IT-блогер и программист Джошуа Флюк (Joshua Fluke) опубликовал уникальную запись своего реального технического интервью на позицию фронтенд-разработчика, специализирующегося на доступности веб-интерфейсов. В материале наглядно демонстрируется структура первичного телефонного скрининга, требования современных заказчиков к коммерческим проектам и реальные вопросы, с которыми сталкивается соискатель. Автор детально разбирает собственный опыт прохождения собеседования, анализирует допущенные ошибки и дает практические рекомендации для преодоления «паралича подготовки», из-за которого многие начинающие разработчики годами не решаются начать проходить реальные интервью.

📞 Страх подготовки и реалии телефонного скрининга 0:00

Многие начинающие программисты после окончания профильных курсов или кодинг-буткемпов совершают типичную ошибку — они бесконечно откладывают отправку резюме, пытаясь выучить абсолютно все. По мнению Джошуа Флюка, люди часто попадают в ловушку «режима исследования», скупая десятки книг и обучающих видео, но так и не переходя к реальным действиям. Стремление к идеальной готовности парализует, хотя лучший способ научиться проходить собеседования — это начать на них ходить.

Сам Джошуа на старте карьеры отправлял отклики на любые вакансии, где упоминалось создание программного обеспечения, даже если там требовалось 10 лет опыта работы на Java. До этого его опыт ограничивался лишь классическими HR-интервью в сфере машиностроения с шаблонными вопросами о конфликтах с коллегами и личных недостатках. Перед данным созвоном рекрутеры не предоставили детального плана, ограничившись размытой формулировкой о «технических вопросах». Поскольку вакансия была открыта на позицию Front End Engineer со специализацией на веб-доступности (accessibility), Джошуа сделал ставку на повторение принципов React и стандартов адаптации интерфейсов для людей с ограниченными возможностями.

Любое интервью, даже в формате короткого телефонного разговора, вызывает естественное волнение. По признанию блогера, ожидание звонка всегда сопровождается стрессом: когда представитель компании опаздывает даже на пару минут, кандидат начинает судорожно перебирать в голове возможные причины задержки. Тем не менее, ключевой навык здесь — умение сохранять внешнее спокойствие, говорить бодро и демонстрировать искреннюю увлеченность профессией.

🛠️ От инженерии к коду: карьерный путь кандидата 3:07

Собеседование началось со стандартного знакомства и верификации базовых условий работы. Интервьюер подтвердила, что позиция является полностью удаленной. В ответ на просьбу рассказать о себе, Джошуа Флюк кратко описал свой нетипичный переход в IT-индустрию:

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

💻 Технический стек и специфика веб-доступности 5:10

Значительная часть диалога была посвящена практическому опыту работы с государственными заказами. Джошуа рассказал, что на предыдущем месте работы занимался контрактом для правительственных структур, где ключевой технологической связкой выступали React и PHP. Основной упор в проекте делался на строгое обеспечение доступности по стандарту Section 508. Разработка требовала повсеместного внедрения ARIA-атрибутов, регулярного использования экранных дикторов (screen readers) для незрячих пользователей и проведения автоматизированных тестов через специализированные утилиты.

Отвечая на сопутствующие вопросы интервьюера, Джошуа раскрыл детали своих технических навыков:

🔄 Пошаговый процесс развертывания проекта и жизненный цикл

В ходе обсуждения архитектурных подходов Джошуа Флюк описал свой привычный пайплайн разработки:

  1. Старт проекта: Инициализация веб-приложения стандартно запускается через утилиту create-react-app.
  2. Архитектурное планирование: Интеграция стейт-менеджера Redux осуществляется на максимально раннем этапе, задолго до финального развертывания и деплоя.
  3. Контроль жизненного цикла компонентов: Для отслеживания изменений интерфейса используются классические методы. Кандидат пояснил, что метод componentDidUpdate служит для верификации корректной загрузки компонента после наступления определенного события, в то время как componentWillUpdate вызывается непосредственно перед обновлением элемента, например, по клику пользователя.
  4. Адаптация под особенности здоровья: Для оптимизации сайта под нужды людей с различными формами дальтонизма и нарушениями зрения применяется расширение AXE для браузера Chrome. Каждая страница в обязательном порядке прогоняется через десктопный экранный диктор для проверки корректности и понятности всех смысловых ARIA-лейблов.

🔄 Проекты, легаси и главные ошибки прошлого 8:45

Интервьюер попросила соискателя рассказать о самом запоминающемся проекте. Джошуа вспомнил масштабную задачу по полному обновлению пользовательского интерфейса (UI overhaul) крупного корпоративного приложения. Практически вся визуальная составляющая и логика переходов, за исключением статичных дизайн-макетов, были спроектированы и написаны им в одиночку. Проект удалось перевести, по его выражению, «из нуля в герои».

Основная сложность заключалась в техническом долге: легаси-приложение на C# плохо поддавалось модернизации, и прямое внедрение React заняло бы слишком много времени. Разработчику пришлось глубоко погрузиться в работу с устаревшими технологиями — библиотекой jQuery и фреймворком Bootstrap. Ему потребовалось буквально деконструировать внутренние JavaScript-файлы Bootstrap, переписывая их логику под специфические нужды устаревшей технологической платформы заказчика.

Критическим элементом профессионального интервью является способность признавать свои прошлые архитектурные ошибки. Отвечая на вопрос о том, что бы он изменил в прошлых проектах при наличии второго шанса, Джошуа выделил задержку с внедрением стейт-менеджмента:

«В проекте на PHP и React мы внедрили Redux слишком поздно. Если бы я мог вернуться назад, я бы добавил его в самую первую очередь. Интегрировать управление состоянием в уже написанный код — это настоящая головная боль. Мне пришлось буквально вырезать старые части приложения и переписывать их заново в React, что обернулось мучительной борьбой с версионированием зависимостей» [10:25 - 10:58].

🏢 Новый проект: правительственный контракт и команда из Apple 11:11

Представитель нанимающей стороны детально описала задачу, под которую привлекается новый сотрудник. Компания ведет крупное коммерческое направление на базе Shopify, однако сейчас она активно выходит на рынок государственных контрактов [11:11 - 11:26]. Новый проект создается в интересах государственного ведомства и нацелен на обеспечение абсолютной веб-доступности цифровых сервисов для ветеранов и людей с инвалидностью.

Проект разделен на две ключевые составляющие: создание принципиально нового пользовательского опыта (UX) и последовательное проектирование инклюзивных функций для интеграции с правительственной платформой. Именно поэтому организации требуется инженер, сочетающий в себе экспертные знания библиотеки React и практические навыки обеспечения доступности интерфейсов.

Условия работы и структура будущей команды выглядят следующим образом:

👥 Культура компании и этапы отбора 13:30

В ходе ответного расспроса со стороны кандидата выяснилось, что нанимающая организация весьма компактна. Она была основана в 2016 году всего двумя соучредителями — Робином и Трэвисом. Проводящая собеседование сотрудница отметила, что пришла в компанию в том же году сразу после окончания аналогичного кодинг-буткемпа, застав все этапы ее трансформации [14:26 - 14:38].

На текущий момент структура компании включает в себя 4 ключевых сотрудника, работающих в центральном офисе на постоянной основе. Общий штат распределенной команды насчитывает от 15 до 20 специалистов, рассредоточенных по разным проектам. Большинство из них являются удаленными независимыми подрядчиками (contractors). Сама интервьюер последние три месяца занята переработкой устаревшего государственного портала, который, по ее признанию, страдает от классических проблем госструктур: переизбытка хаотичных ссылок и запутанной навигации, заставляющей пользователей блуждать по страницам [15:35 - 15:47].

Удаленный формат взаимодействия накладывает жесткие требования к гибким навыкам (soft skills). Ключевым фактором успеха становится непрерывная коммуникация. Сотрудники обязаны постоянно запрашивать обратную связь, оперативно отвечать на вопросы коллег и поддерживать контакт в мессенджерах. Примечательно, что внутри коллектива сформировалась дружеская атмосфера: после закрытия официального корпоративного пространства в Slack разработчики создали собственный приватный чат, где продолжают общаться каждый день.

В финале беседы интервьюер обозначила дальнейшие шаги в процессе отбора кандидатов:

  1. Домашнее задание: Высылка практического тестового задания (homework challenge) для проверки навыков написания кода.
  2. Защита решения: Персональный разбор выполненного задания вместе с технической командой.
  3. Формирование оффера: Финальное согласование коммерческого предложения и детальный инструктаж по обязанностям.

Рекрутер пообещала вернуться с обратной связью по итогам первичного скрининга в течение одной недели.

Подводя итог, Джошуа Флюк подчеркнул, что подобные разговоры представляют собой классический пример первичного ознакомительного интервью. Они не требуют демонстрации экрана или немедленного написания алгоритмов на доске, хотя в его практике бывали случаи, когда технические специалисты заставляли кодить в прямом эфире по громкой связи. Главный вывод автора — не нужно бояться показывать изнанку индустрии, ведь реальный опыт прохождения собеседований гораздо ценнее идеальной теоретической подготовки.

💬 Цитаты

«Вы можете читать книги бесконечно, но так и не начать действовать, оказавшись парализованными избытком информации.»

Джошуа Флюк 01:07

«На телефоне нужно звучать открыто, бодро и счастливо, транслируя искренний интерес своим голосом.»

Джошуа Флюк 19:38
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Section 508
Поправка к закону о реабилитации США, требующая от федеральных ведомств обеспечивать доступность электронных технологий для людей с инвалидностью.
ARIA-атрибуты
Спецификация HTML, позволяющая делать веб-контент и веб-приложения более доступными для людей с ограниченными возможностями, использующих экранные дикторы.
AXE
Популярный инструмент и расширение для браузеров, предназначенное для автоматизированного тестирования цифровой доступности интерфейсов.
Телефонный скрининг
Первичный короткий этап собеседования, в ходе которого проверяются базовые навыки кандидата, его бэкграунд и соответствие требованиям вакансии.
📊 Цифры
🗓 Хронология
  1. 2016 год Основание компании Робином и Трэвисом; приход в команду текущего интервьюера сразу после окончания буткемпа.
  2. 3 месяца назад Интервьюер приступила к работе над обновлением навигации и структуры старого правительственного сайта.
⚖️ Другая сторона
Технологии и IT Joshua Fluke React Redux веб-доступность