💳 Trustee Plus — твоя персональна картка європейського банку: 3 хвилини і 10 євро 👉
Марія БровінськаВойти в IT
7 сентября 2022, 12:12
2022-09-07
Мануал для джуна. Что нужно знать новичку в frontend-разработке перед собеседованием на проект мечты: вопросы на интервью и примеры тестовых
Создавать IТ-продукты можно на разных уровнях и совершенствовать их как изнутри, (backend), так и снаружи (frontend). Возьмем, к примеру, сайт. Специалист может работать с задачами под капотом, а может развивать интерфейс сайта, приложения или специальное программное обеспечение для бизнеса, чтобы они были удобными, понятными и функциональными.
Последним как раз занимается frontend-инженер. Что еще нужно знать джунам о frontend-разработке, что не стоит делать перед собеседованием и на какие вопросы ответить, чтобы быть готовым на 100% — Frontend Engineer в Levi9 Алексей Горбунов разложил все по полочкам в этом материале.
Сфера frontend-разработки достаточно велика. Специалист может выполнять рядовые задачи, как станки страницы, настраивать передачу информации с сервера на сайт и делать это в понятном пользовательском виде, так и разрабатывать программы для IOS/Android, интерфейсы для работы со статистическими данными, структурирование информации и файлов, интерактивные доски и инструменты производительности, как Trello, Jira, Notion.
Языки для работы: JavaScript, TypeScript
Фреймворки: общие — React, Angular, Vue; для мобильной разработки — React Native и Ionic; для десктоп-разработки — Electron
Английский: чтобы иметь возможность быстро расти и работать на международных рынках и с интересными проектами, нужно владеть английским языком — по крайней мере, уровень В2, чтобы комфортно общаться с командой и клиентом.
Frontend-разработчик может работать в любой сфере. Да, в e-commerce ты отвечаешь за взаимодействие клиентов с вашим сайтом и его наполнением, работаешь с браузером и его фичами. Если это мобильное приложение, то разработчик встречается с нативными модулями — настройка уведомлений, интеграция диплинков, элементы видео, как сканирование QR-кода или получение информации с камер. У каждой сферы есть свои нюансы и особенности, но это нормально — разработчик постоянно учится.
Опыт собеседований и их особенности
В общем собеседования можно разделить на два этапа: ознакомительное интервью с HR-ом о ваших пожеланиях, опыте и работе компании, а также общение с техническими специалистами с проверкой ваших навыков разработки. При этом техническое собеседование может занять несколько часов — у меня был и 3-часовой митинг.
Вопросы на интервью
Если soft-skills вопросы нацелены на то, чтобы раскрыть ваши личностные качества, то на техническом интервью внимание уделяется hard-навыкам. Обычно много надо говорить о работе с «чистым» JavaScript, то есть без фреймворков и библиотек.
Если речь идет о языке программирования, то классический JavaScript отличается от того, что применяют разработчики на реальных проектах. К примеру, способы работы с определенными типами данных берутся из библиотек как lodash, при всем этом те же классы изредка употребляются при построении интерфейсов на React, разница есть и в работе с объектами, массивами, примитивами, прототипами, классами и другими вещами «под капотом». Подход к решению задач также иной, но без понимания классического JavaScript вы не сможете взаимодействовать с более высоким уровнем абстракции на проекте.
При работе на React, вероятно, вы не будете сталкиваться с прототипным подражанием. На собеседовании же о них могут спросить.
Во время большинства интервью в блоке о JavaScript вас спросят типы данных в этом языке, что означает и как работает ключевое слово «this», дадут несколько заданий на синтаксис, прототипы, алгоритмы и различные структуры данных по типу стека или очереди. А по фреймворкам, например, React — как работать с перформансом, инструментами для этого, о рендеринге и хуках, а также взаимодействие с жизненным циклом компонента. При этом если при работе на React вы вряд ли будете сталкиваться с прототипным подражанием, то на собеседовании о них могут спросить.
Во время разговора вас также могут попросить написать код — дать задание и спросить, как вы улучшите перформанс и какое решение требования заказчика можете предложить.
Могут быть и странные вопросы. Например, у меня когда-то интересовались, что бы я сделал, если бы двое моих коллег подрались.
Интересные тестовые
Тестовые задания — хорошая возможность проверить свои знания и показать, что вы умеете. Однако его задача — это не создать софт для компании, а посмотреть, как разработчик мыслит и работает — например, как объявляет переменные, функции какой структуры проекта придерживается. Но работа над тестовым не должна превышать четырех часов.
На некоторых технических собеседованиях находился блок live-coding. Выдали данные людей и попросили сверстать адаптивную страницу, используя эти карты. Или просили изобразить карты гостиниц и настроить фильтрацию поиска. Задачей такой задачи — увидеть, как разработчик мыслит, подходит к задаче или использует оптимальные решения при работе с кодом.
Еще одной интересной задачей было реализовать бесконечный скролл страницы и решить проблему, возникающую из-за перегрузки системы элементами — сайт начинает зависать. Например, это возможно с помощью библиотек как React-virtualized, где элементы виртуализируются и меньше нагружают девайс пользователя.
Подготовка к интервью
Перед собеседованием не нужно пытаться изучить все наизусть — программирование слишком многообразно, чтобы знать все. Вместо этого надо понимать: если вы изучили синтаксис языка и понимаете, как фича работает, мозг начинает воспроизводить эти знания на практике.
А чтобы удостовериться в своих силах и освежить теорию, можно потренироваться на задачах на Leetcode, на Codewars, посмотреть репозитории с популярными вопросами на собеседованиях — там есть блоки по CSS, HTML, JavaScript. Можно также просмотреть похожие кейсы, фреймворки, особенности взаимодействия с ними и работы с перформансом.
Red flags
Общее впечатление. По описанию вакансии вы можете лучше понять направление и технологии, с которыми придется работать. Да, если не нравится сфера или вам неинтересный стек, лучше не подаваться на эту позицию.
Тайм-трекеры. Получить задание и сразу начать писать код неправильно и бесполезно. Разработчик должен проанализировать задачу, посмотреть схожие кейсы имплементации, ознакомиться с документацией и продумать логику кода. Да, можно целый день решать в голове или на бумаге проблему, а качественный код написать за 30 мин.
Junior-специалистам лучше больше времени уделять повышению квалификации и обучению. Тогда результат будет гораздо более ценным и для вас, и для компании.
Альтернативная польза собеседований
Когда специалист проходит собеседования, лучше понимает свою позицию на рынке — знаете ли актуальные технологии и потребности бизнеса и соответствуют ли ваши навыки и опыт.
Собеседование — это всегда новый опыт и универсальный шаблон, как его провести, нет. Вы столкнетесь с чем-то новыми даже на 40-м интервью и нервничать по этому поводу не стоит. Интервью можно рассматривать как возможность узнать что-то полезное для себя и пообщаться с профессионалами, которые могут чему научить, посоветовать или рассказать инсайдерские вещи о сфере.
Roosh запускает новую образовательную платформу AI HOUSE CLUB для ML/AI-специалистов и дата сайнтистов. Рассказываем, как подать заявку и чему будут учить
«Після випуску про IT-Generation хочеться зробити тред про те, як IT-школи вас най**ують». Відомий IT-блогер Діма Малєєв розповів, що думає про IT-освіту
За проханням автора публікуємо текст тільки українською.
Відомий IT-блогер Діма Малєєв розповів своє ставлення до IT-курсів, які наразі продукуються в Україні. «Після сьогоднішнього випуску про IT-Generation, хочеться зробити невеликий тред про те, як IT-школи вас най**ують, продаючи курси, які вам ніяк не допоможуть. І навіть якщо ви виграєте грант від програми — ви просто згаєте час», — написав він у Twitter.
Публікуємо його допис із частковою цензурою.
50 вопросов и ответов по программированию для подготовки к техническому интервью
Готовясь к собеседованию, многие начинающие программисты понятия не имеют, каких вопросов ожидать от интервьеюров — будь то собеседование в стартап или технологический гигант вроде Amazon, Microsoft или Google. В статье на Hacker Noon разработчик Джавин Пол собрал вопросы, которые любят задавать на таких интервью, а также ответы на них и дополнительные ресурсы для подготовки.