Вопросы для собеседования с front-end разработчиком
Рекрутинг технического специалиста — это всегда лотерея. Даже качественный прескрин и часовое CBI не гарантируют хороший результат для нанимающего менеджера. Ведь сложность состоит не только в оценке компетенций, но и в прогнозировании поведения кандидата в будущем. Чтобы в деталях разобраться с воронкой найма front-end-разработчиков, мы поговорили со специалистами HURMA.
Оглавление:
Воронка рекрутинга
Прескрин: вопросы по soft skills для frontend-разработчика
Как провести техническое интервью: вопросы для собеседования фронтенд-разработчика
CBI — интервью по компетенциям для технического специалиста
Комитет: комплексно рассматриваем front-end разработчика
Главная особенность рекрутинга фронтенд-разработчика
Воронка рекрутинга
Воронка рекрутинга для разработчика выглядит вполне стандартно: на первом этапе к поиску специалиста подключается сорсер, далее информация о кандидате попадает к техническому рекрутеру.
На этом этапе важно проанализировать резюме и не упустить ключевые моменты о технических скиллах, общем опыте работы с технологиями. Оценивайте любые спорные моменты, например, город/страну проживания, предыдущие места работы, количество работодателей. Когда кандидатов много, и они очень востребованы на рынке, всегда существует соблазн отправить специалиста дальше по воронке, проглядев резюме лишь поверхностно.
Любые вопросы следует задавать ещё до звонка, желательно, просто написав письмо или личное сообщение в мессенджер для уточнения всех деталей.
Прескрин: вопросы по soft skills для frontend-разработчика
Следующий важный этап работы рекрутера — прескрин с кандидатом, который подходит под заявленные требования. На звонке следует выяснить ключевые мотиваторы и проверить софт-скиллы frontend-разработчика.
«Человек должен сразу понимать, куда он идет. И я говорю не только о позиции или стеке. Фронтенд-разработчик должен выяснить для себя цели компании и приблизительно представлять процессы внутри.
Для меня замотивированный соискатель — специалист, желающий разобраться в продукте. Он смотрит презентации и видео, а после задает вопросы о том, что именно его интересует. Он горит желанием выяснить, как всё работает».
технический рекрутер в HURMA
На прескрине можно задать следующие вопросы кандидату:
- Какая технология, по твоему мнению, наиболее популярна сейчас и будет популярной в течение нескольких последующих лет?
- В каком направлении тебе хотелось бы развиваться и почему?
- Сталкивался ли ты когда-нибудь с членом команды, который постоянно критиковал твои идеи?
- Как ты строишь отношения с коллегами, которые обладают значительной экспертизой в твоей области?
- Как ты анализируешь свой код и ищешь ошибки в нем?
На самом деле, вопросы на этом этапе могут быть абсолютно другими. Здесь все зависит от позиции, опыта самого кандидата, его поведения, актуальных фреймворков, технологий. Универсального шаблона не существует. Просто держите в голове, что для каждой технической позиции будет свой набор требований.
Главное на этапе прескрина выяснить цель кандидата. Возможно, он просто пришёл посмотреть зарплатные вилки и не проявляет особого интереса к реальной работе в компании. Технический рекрутер видит все мотиваторы уже на раннем этапе общения с соискателем и отсеивает тех людей, которые не подходят под общий запрос.
На следующем этапе (в случае с продуктовой компанией HURMA) технический рекрутер отправляет информацию о претенденте непосредственно Head of Engineering. Он получает скоркард с первыми оценками (4 или 5, если встреча прошла успешно).
Обратная связь от технического специалиста с большим опытом дает возможность «свежим» взглядом ещё раз посмотреть на кандидата и найти подводные камни, блокирующие моменты.
Если с мотиваторами, софт-скиллами и общим опытом нет никаких проблем, кандидата двигают дальше по воронке на этап технического интервью.
Как провести техническое интервью: вопросы для собеседования фронтенд-разработчика
«Оптимально, чтобы техническое интервью проводил нанимающий менеджер. В случае, когда это невозможно, важно присутствовать, чтобы сложить свое мнение о кандидате. Если загрузка не позволяет нанимающему менеджеру присутствовать на каком-либо интервью, важно доверять интервьюерам, которых он просит оценить кандидата по хардам и софтам. Для нового интервьюера важна обратная связь от нанимающего менеджера после первых собеседований, она помогает прийти к общим ценностям».
Head of Engineering в HURMA
Базовые вопросы по HTML и CSS для фронтенд разработчика
- На что необходимо обратить внимание при разработке мультиязычных сайтов?
- Что такое прогрессивная отрисовка?
- Объясни разницу между <script>,<script async> и <script defer>
- Какие существуют принципы семантической вёрстки?
- Что такое #shadow-root в инспекторе HTML-страницы?
- Назови популярные CSS-методологии и их различия
- Как изменить цвет в svg-файле?
Базовые вопросы по JavaScript для фронтенд разработчика
- Что такое замыкание (closure) и какие существуют сценарии его использования?
- Что такое Event loop и как он работает? Можешь в подробностях рассказать про микро- и макрозадачи?
- С помощью чего в JS реализуются наследование?
- Как объекты преобразовываются в примитивы?
- Как работает «сборщик мусора» в JS?
- Объясни разницу между cookie, sessionStorage и localStorage.
- Что такое полифил?
- Что такое webpack?
- Что такое XSS (Cross-Site Scripting)?
- Приведи пример функции с мемоизацией. Когда необходимо использовать эту технику?
Базовые вопросы по React
- Как работает алгоритм Virtual DOM?
- Какие библиотеки менеджмента состояния React-приложения вы знаете? Зачем они нужны?
- Как бы ты построил хорошую архитектуру проекта на React?
- В чем разница между функциональными и классовыми компонентами?
- Расскажи про основные библиотеки React, которые ты знаешь. Какие у них плюсы и минусы?
Базовые вопросы по Vue
- Каковы преимущества Vue.js?
- Расскажи про хуки жизненного цикла компонента в Vue.js?
- Как подключить внешний css-файл в Vue?
- Как реализовать двустороннюю привязку?
- Что такое Vue Router?
Базовые вопросы по Angular
- Как подготовить сборник к деплою?
- Зачем нужна forRoot-функция модуля?
- Что такое NgRx? Когда стоит использовать?
- Как работает Dependency injection?
- Как протестировать API-сервис?
Помните, что хорошо подключать тимлидов на финальном этапе проверки кандидата. Крайне рекомендуется это делать в том случае, если они не проводили техническое интервью. Так мы снижаем риск получить «кота в мешке». Кроме того, кандидату приятно познакомиться с человеком, который будет его непосредственным руководителем, если соискатель в будущем получит оффер от компании.
«Хорошей практикой считается постоянная доработка всей воронки рекрутинга. Для этого на каждом этапе мы анализируем обратную связь от соискателя и прорабатываем неочевидные вопросы.
Между нанимающим менеджером, тимлидом, сорсером и техническим рекрутером сохраняется постоянная связь через HRM HURMA. Это дает возможность сократить срок найма конкурентного специалиста до 3-4 дней. Тесная работа в команде помогает быстро нанимать лучших frontend-разработчиков».
технический рекрутер в HURMA
CBI — интервью по компетенциям для технического специалиста
Если кандидат на техническом интервью показал себя хорошо, он попадает на CBI. На этом этапе его компетенции рассматриваются подробнее. Для этого используется стандартная техника STAR, помимо этого детальнее анализируется прошлый опыт и позиции. Команда выявляет риски для бренда работодателя и проверяет кандидата более глубоко, чем на прескрине.
Очень часто соискатель не проходит дальше по причине отсутствия необходимых софт-скиллов. Тимлид оценивает не только его способности, но и общий fit: подойдет ли новый член команде, хорошо ли он впишется в коллектив, насколько он конфликтен, амбициозен, эмпатичен.
Возьмем простой пример: кандидат хорошо показал себя на техническом интервью и соответствует позиции Middle+, но он тяжело вступает в коммуникацию, не показывает нужных разговорных навыков, остается закрытым и не идет на контакт. На CBI можно выяснить истинные причины такого поведения человека.
Команда определяет настоящие мотивы ухода кандидата с прошлой позиции, смотрит на его поведение в конфликтной ситуации, думает о проблемах, которые могут возникнуть конкретно с этим фронтенд-разработчиком через 6-8 месяцев. Достаточно ли в нем мотивации для самостоятельного обучения? Он ищет помощи со стороны или может справиться с трудностями самостоятельно?
«Частый запрос от кандидатов — это менторинг и обучение внутри компании. Соискатели хотят, чтобы их буквально тыкали носом в ошибки. Запрос у них направлен не на код ревью, а на получение более глубоких знаний. Даже на позиции Middle и Senior приходят кандидаты, для которых один из основных мотиваторов — это менторинг или обучение чему-то новому.
При этом они не всегда готовы делиться своими знаниями или они не делали этого раньше. Для нас отсутствие желания делиться опытом является признаком профессиональной незрелости».
Head of Engineering в HURMA
Front-end разработчику на CBI можно задать следующие вопросы:
- В каких компаниях тебе хотелось бы поработать и почему? Что привлекает в продукте и аутсорсе?
- Если в течение нескольких лет ты будешь занимать одну должность — это ок для тебя?
- Рассматриваешь ли ты для себя в обозримом будущем переход с одной технологии на другую?
- Опиши свою работу на прошлом проекте и расскажи, как сильно выросли твои компетенции за это время
- Назови свой основной скилл, который позволяет тебе эффективно развиваться
Отлично помогают раскрепостить человека открытые вопросы или общение на отвлеченные темы. Правильный small-talk о хобби способствует расслабленной беседе, впоследствии кандидат отвечает более открыто. Такие эмоциональные качели — один из способов получить нужную нам информацию.
Совершенно другой подход заключается в том, чтобы «раскачать» человека по триггерам, болевым точкам. Например, спросить его о том, почему он не хочет работать с определенной технологией или фреймворком.
После выяснения всех нюансов по кандидату на CBI легко «допродать» компанию. Соискателя можно заинтересовать регулярным пересмотром зарплаты, опытом роста коллег в команде, ИПР и прочими ценностными предложениями компании как работодателя.
Комитет: комплексно рассматриваем front-end разработчика
Финальный этап найма технического специалиста — ещё один коллегиальный скрин кандидата. На комитете оцениваются плюсы и минусы соискателя, а также проходят дебаты по спорным моментам.
На этом этапе обязательно подключается CEO и HRD, которые оценивают риски со своей стороны. Возможно, технические специалисты пропустили что-то важное и влияющее на бренд работодателя. Например, это может быть образование, пробелы в профессиональной деятельности, работа в силовых структурах и т.д. На комитете решается, нужно ли дополнительно запросить фидбек и рекомендации с предыдущих мест работы.
Сопоставляются все факты и определяется финальный рейт в оффере. Также рассматривается вариант контроффера, если кандидат получил уже несколько предложений от других компаний, или предоффера, когда необходимо согласовать сумму.
Главная особенность рекрутинга фронтенд-разработчика
С наймом фронтенд-разработчиков всегда непросто: они понимают свою ценность на рынке, могут часто менять компании, остаются нелояльными к маленьким командам. Помните, что воронка должна охватывать максимальное число релевантных кандидатов, чтобы в ней оказался нужный вам соискатель. В среднем по индустрии, количество людей, которые дошли до этапа прескрина, составляет не больше 10%. А оффер получают не больше 1-2%.
Поэтому важно на следующих этапах воронки работать точечно и подходить индивидуально к каждому кандидату. Это касается составления вопросов для технического интервью и CBI, а также проверки софт-скиллов.
Учитывайте запрос тимлидов, актуальный стек, предстоящее масштабирование проекта и планы по миграции с одной технологии на другую.
Мануал для джуна. Что нужно знать новичку в 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 отличается от того, что применяют разработчики на реальных проектах. К примеру, способы работы с определенными типами данных берутся из библиотек как lodash, при всем этом те же классы изредка употребляются при построении интерфейсов на React, разница есть и в работе с объектами, массивами, примитивами, прототипами, классами и другими вещами «под капотом». Подход к решению задач также иной, но без понимания классического JavaScript вы не сможете взаимодействовать с более высоким уровнем абстракции на проекте.
- При работе на React, вероятно, вы не будете сталкиваться с прототипным подражанием. На собеседовании же о них могут спросить.
- Во время большинства интервью в блоке о JavaScript вас спросят типы данных в этом языке, что означает и как работает ключевое слово «this», дадут несколько заданий на синтаксис, прототипы, алгоритмы и различные структуры данных по типу стека или очереди. А по фреймворкам, например, React — как работать с перформансом, инструментами для этого, о рендеринге и хуках, а также взаимодействие с жизненным циклом компонента. При этом если при работе на React вы вряд ли будете сталкиваться с прототипным подражанием, то на собеседовании о них могут спросить.
- Во время разговора вас также могут попросить написать код — дать задание и спросить, как вы улучшите перформанс и какое решение требования заказчика можете предложить.
- Могут быть и странные вопросы. Например, у меня когда-то интересовались, что бы я сделал, если бы двое моих коллег подрались.
Интересные тестовые
Тестовые задания — хорошая возможность проверить свои знания и показать, что вы умеете. Однако его задача — это не создать софт для компании, а посмотреть, как разработчик мыслит и работает — например, как объявляет переменные, функции какой структуры проекта придерживается. Но работа над тестовым не должна превышать четырех часов.
- На некоторых технических собеседованиях находился блок live-coding. Выдали данные людей и попросили сверстать адаптивную страницу, используя эти карты. Или просили изобразить карты гостиниц и настроить фильтрацию поиска. Задачей такой задачи — увидеть, как разработчик мыслит, подходит к задаче или использует оптимальные решения при работе с кодом.
- Еще одной интересной задачей было реализовать бесконечный скролл страницы и решить проблему, возникающую из-за перегрузки системы элементами — сайт начинает зависать. Например, это возможно с помощью библиотек как React-virtualized, где элементы виртуализируются и меньше нагружают девайс пользователя.
Подготовка к интервью
Перед собеседованием не нужно пытаться изучить все наизусть — программирование слишком многообразно, чтобы знать все. Вместо этого надо понимать: если вы изучили синтаксис языка и понимаете, как фича работает, мозг начинает воспроизводить эти знания на практике.
А чтобы удостовериться в своих силах и освежить теорию, можно потренироваться на задачах на Leetcode, на Codewars, посмотреть репозитории с популярными вопросами на собеседованиях — там есть блоки по CSS, HTML, JavaScript. Можно также просмотреть похожие кейсы, фреймворки, особенности взаимодействия с ними и работы с перформансом.
Red flags
Общее впечатление. По описанию вакансии вы можете лучше понять направление и технологии, с которыми придется работать. Да, если не нравится сфера или вам неинтересный стек, лучше не подаваться на эту позицию.
Тайм-трекеры. Получить задание и сразу начать писать код неправильно и бесполезно. Разработчик должен проанализировать задачу, посмотреть схожие кейсы имплементации, ознакомиться с документацией и продумать логику кода. Да, можно целый день решать в голове или на бумаге проблему, а качественный код написать за 30 мин.
Размытый график работы. Когда рабочие часы неопределенны, а рекрутеры уклоняются от прямого вопроса, это может указывать на частые овертаймы, что не очень хорошо для начинающего.
Junior-специалистам лучше больше времени уделять повышению квалификации и обучению. Тогда результат будет гораздо более ценным и для вас, и для компании.
Альтернативная польза собеседований
Когда специалист проходит собеседования, лучше понимает свою позицию на рынке — знаете ли актуальные технологии и потребности бизнеса и соответствуют ли ваши навыки и опыт.
IT-специалист должен постоянно повышать квалификацию, посещать курсы и создавать pet-проекты. И не стоит пытаться показаться более квалифицированным. Не знаете чего-то — не стесняйтесь сказать об этом, но попытайтесь логически понять, как это можно сделать.
Собеседование — это всегда новый опыт и универсальный шаблон, как его провести, нет. Вы столкнетесь с чем-то новыми даже на 40-м интервью и нервничать по этому поводу не стоит. Интервью можно рассматривать как возможность узнать что-то полезное для себя и пообщаться с профессионалами, которые могут чему научить, посоветовать или рассказать инсайдерские вещи о сфере.
Больше мануалов для начинающих здесь .
ВОПРОСЫ ДЕЙСТВИТЕЛЬНЫХ ДЕЙСТВИТЕЛЬНЫХ ДЕЙСТВИТЕЛЬНЫХ ДЕЙСТВИТЕЛЬНЫХ ДЕЙСТВИТЕЛЬНЫЙ ДЕЙСТВИТЕЛЬНЫЙ ДЕЙСТВИТЕЛЬНЫЙ СОДЕРЖАНИЕ
- Понимание интервью для разработчиков Front End
- Вопросы интервью JavaScript
- Вопросы CSS
- . Экосистемные вопросы
- Вопросы для интервью с серверной частью
- Вопросы безопасности
- Инструменты для интервью с клиентской частью
- Заключение
Понимание собеседования с разработчиком внешнего интерфейса
Процесс собеседования
Процесс собеседования с разработчиком внешнего интерфейса может сильно различаться в зависимости от компании. Но, как правило, они следуют одному из следующих двух потоков:
- Начальный телефонный экран с рекрутером или менеджером по найму.
- Домашнее задание, которое вы выполняете в свободное время.
- Выездное собеседование, состоящее из двух или трех личных бесед. Скорее всего, покрывает или расширяет ваш заработок.
- Начальный телефонный экран с рекрутером или менеджером по найму.
- Экран телефона с инженером в команде.
- Выездное собеседование, состоящее из четырех или пяти личных бесед.
Домашние задачи могут варьироваться от создания полного клиентского приложения до задачи алгоритма в стиле HackerRank. Иногда взятие домой будет ограничено по времени до установленного периода времени. Одним из недостатков домашнего задания является дополнительное время. Кроме того, если это не ограничено по времени, вы, по сути, соревнуетесь за то, чтобы быть человеком, который тратит больше всего времени на совершенствование своего ответа. Положительным моментом является то, что большинство мест, которые проводят домашние интервью, строят свои последующие интервью на основе проекта, который вы уже завершили.
Это означает, что при подготовке к собеседованию с разработчиком внешнего интерфейса вы захотите попрактиковаться как в межличностных навыках, которые вам понадобятся, чтобы преуспеть на экране рекрутера или менеджера по найму, так и в навыках программирования, которые вам понадобятся для на дом и на месте.
При подготовке к интервью важно поставить себя на место интервьюера! Если вы когда-либо были по другую сторону стола, используйте этот опыт. Они, вероятно, в середине рабочего дня с «Интервью» в своем календаре. Надеюсь, они просмотрели ваше резюме и получили инструкции от менеджера по найму.
Некоторые компании позволяют каждому интервьюеру спрашивать все, что он хочет. Другие ведут списки «приемлемых» или «запрещенных» вопросов. Некоторые даже структурируют весь процесс собеседования, назначая каждому человеку конкретную тему для обсуждения.
В любом случае у них есть 45 минут (обычно), чтобы встретиться с вами, представиться, познакомиться с вами и решить любые проблемы с кодированием, которые они могут принести. Хороший интервьюер вначале наметит процесс, но часто они разбиты следующим образом:
- Интервьюер рассказывает о себе (2 минуты)
- Во время интервью вас просят рассказать о вашей недавней работе (5 минут)
- Технические вопросы высокого уровня (7 минут)
- Кодирование (25 минут)
- У интервьюируемого есть возможность задать вопросы (5 минут)
Имейте в виду, что некоторые компании поступают совсем иначе. Часто полезно попросить вашего рекрутера предоставить любую информацию, которую он может предоставить относительно процесса собеседования. Иногда они расскажут вам общую структуру, а иногда даже дадут вам список тем для изучения!
Собеседования могут быть пугающими. Интервьюируемый получает случайный вопрос из воздуха, и вы должны приступить к его решению! Имейте в виду, что есть много вещей, которые вы можете сделать, чтобы улучшить свой опыт, независимо от заданного вопроса. Вот несколько советов, которые я всегда стараюсь помнить:
- Не начинайте программировать слишком быстро! Пусть объяснят вопрос. Найдите минутку, чтобы убедиться, что вы действительно понимаете это. Задавайте уточняющие вопросы. Может быть, написать несколько «тестовых случаев», даже если это просто псевдокод. Например: «Итак, если бы я передал число 19837, он вернет 13789″?
- Не бойтесь задавать вопросы. Могут быть некоторые вопросы, на которые интервьюер не ответит, но в большинстве случаев задавание вопросов сыграет вам на руку!
- Разложите проблему по полочкам.
- Используйте волшебные функции! Также довольно часто вы сталкиваетесь с отдельными частями, которых не знаете. как это решить при решении задачи кодирования. Возможно, вы пишете код для доступа к API и забыли синтаксис для `window.fetch`. Не беспокойтесь об этом слишком сильно! Создайте «волшебную» функцию, например `getDataFromAPI` и просто продолжайте двигаться вперед. Всегда лучше, чтобы что-то работало, чем вообще ничего. Волшебная функция с хорошим названием может помочь вам в этом. Такие вещи, как `turnStringIntoArray`, `iterateThroughObject` или `fetchChildDOMNode` вам вернуться к той части проблемы, которую вы понимаете танд.
Вопросы на собеседовании по JavaScript
Что такое ключевое слово this в JavaScript?
`this` немного сложно в JavaScript. Его значение определяется тем, как называется функция, внутри которой вы находитесь. В глобальном состоянии `this` устанавливается на объект окна. Значение this также зависит от того, находитесь ли вы в строгом режиме. Внутри функции верхнего уровня строгий режим this будет неопределенным, тогда как нестрогий режим this будет объектом окна. Также стоит знать, что значение `this` может быть перезаписано методом привязки.
Первоначально var была единственной возможностью JavaScript для определения переменных. В ES6 мы получили const и let в качестве дополнительных опций. Важные выводы:
- Переменные, определенные с помощью const, не могут быть переназначены.
- Переменные const и let имеют блочную область видимости.
- Переменные Var относятся к области действия функции.
- Подняты переменные, определенные с помощью var.
Двойное равенство проверяет только значение. Перед проверкой он выполняет любое необходимое приведение типов. Например, строка «1» будет == целому числу 1, но не ===. Многие современные проекты предпочитают всегда использовать ===. Хотя некоторые люди выступают за написание кода, который хорошо работает с приведением типа ==.
Ознакомьтесь с getElementById, querySelector и querySelectorAll.
Вы можете хранить пользовательские данные в localStorage, cookies или sessionStorage.
Вы можете получить узел DOM с помощью `getElementById` или `querySelector`. Затем вы можете получить все его дочерние элементы, вызвав `.childNodes` (примечание: childNodes возвращает NodeList, а не массив). Затем вы можете перемещаться по DOM, перебирая дочерние узлы и вызывая `. childNodes` для каждого из них. Вы можете вернуться обратно, проверив `parentNode` любого узла.
Для получения дополнительной информации просмотрите все свойства, хранящиеся на узлах DOM.
Функциональное программирование относится к использованию чистых функций. В контексте JavaScript это означает знакомство с картой, фильтрацией и сокращением. Также стоит понимать концепцию неизменности.
Вопросы для интервью по CSS
Что такое блочная модель?
Блочная модель CSS относится к тому, как CSS обрабатывает макет. Каждый элемент состоит из содержимого, отступов, границ и полей.
Многие вопросы на собеседовании потребуют от вас знания селекторов классов, таких как `.foo`, и селекторов идентификаторов, таких как `#bar`. Также полезно знать, что вы можете выбрать братьев и сестер `div + p`, потомков `div p` и детей `div > p`.
Если в вашем CSS два конфликтующих селектора, кто победит? Например, если вы напишете
, будет ли слово «привет» красным или синим? Чтобы решить эту проблему, в CSS есть порядок приоритета, определяющий, какие типы селекторов имеют преимущество над другими. Теги `!important` самые сильные, а универсальный селектор `*` самый слабый. Чтобы получить забавную иллюстрацию, которая поможет вам изучить специфику CSS, посетите сайт specifishity.com.
Псевдоэлементы — это ключевые слова, которые позволяют указать отдельные части элемента, а не все целиком. Например, вы можете выбрать `::first-line` элемента или выбрать `::before` элемента.
Flexbox — это система компоновки, специфицированная W3 для CSS. Это позволяет легко размещать элементы внутри контейнера, даже если размер этого контейнера является динамическим. Вам следует ознакомиться с некоторыми основными макетами Flexbox. Вот некоторые бесплатные ресурсы:
- Полное руководство по Flexbox
- Flexbox Zombies
Grid — это система W3 для создания целых макетов страниц. CSS Grid отлично подходит для буквальных сеток и полных страниц, тогда как Flexbox отлично подходит для групп элементов на странице. Некоторые бесплатные ресурсы включают в себя:
- Полное руководство по Grid
- CSS Grid Garden
HTML Вопросы для интервью
Что означает семантический HTML?
Семантический HTML означает использование наиболее подходящего тега для текущей задачи. Это означает использование осмысленных элементов, таких как `