Сегодня хочу рассказать про собеседования. Есть два основных метода, по которым компании проводят собеседования веб-разработчиков — я их называю «тестовое задание» и «экзамен». Иногда два этих метода совмещаются, но, как правило, этим грешат только крупные компании.
⠀
С тестовым заданием все предельно просто — компания даёт вам небольшое задание, вы должны выполнить его дома за пару дней и отправить архивом или ссылкой на GitHub тому, кто проводил с вами собеседование.
⠀
Какие бывают тестовые задания? Если речь идёт о front-end разработке, то обычно дают задание сверстать один-два блока сайта, возможно с применением тех или иных фреймворков или библиотек. Иногда это может быть меньше, чем один блок сайта — например, на собеседовании в Сбертех меня просили сверстать круговое меню со ссылками.
⠀
Но не думайте, что вас обязательно возьмут, если в тестовом все идеально! Потому что помимо ваших hard skills смотрят и на другие аспекты вашего опыта. Если вы и ваш конкурент на позицию сделаете одинаковое по уровню тестовое, но у вашего конкурента обширнее опыт работы, то возьмут на работу его, а не вас. Поэтому не расстраивайтесь, если вы классно делаете тестовые, а вас нигде не берут — компании всегда рассматривают сразу несколько кандидатов, и берут сильнейшего из них не только по результату тестового задания.
⠀
Что касается собеседования типа «экзамен» — это такое собеседование, где технический директор или тимлид (или два сотрудника сразу) прогоняют вас по вопросам, которые вы так или иначе будете решать на работе. Примеры частых вопросов по своему опыту я приведу в конце.
⠀
Как успешно пройти такое собеседование?
⠀
Во-первых, держаться спокойно, не переживать и не делать резких выпадов в сторону интервьюера. Во-вторых, много говорить по сути задаваемых вопросов. И в-третьих, даже если что-то не знаете — не зажиматься в себе, а предложить схожее решение проблемы. Включать мозг на максимум и вспоминать, что вы можете рассказать по теме хотя бы приблизительно.
Вопросы на собеседовании front-end разработчику
1. Что такое <!doctype>?
2. Как работает абсолютное позиционирование внутри элемента с относительным позиционированием?
3. В чем отличие padding от margin?
4. Что такое блочные и строчные элементы?
5. Имеют ли элементы базовую стилизацию при отображении на сайте?
6. В чем отличие display: none, visibility: hidden и opacity: О?
7. Как можно анимировать элемент?
8. Как работают флоаты? Что такое clearfix?
9. Как работает flexbox? Как работает grid?
10. Как сделать элемент высотой во весь экран?
11. Как подключать шрифты?
12. Как делать мобильную верстку?
1 3. В чем отличия HTML5/CSS3 от
предыдущих версий? Что такое fallback и graceful degradation?
14. Как загружается HTML и CSS? Как оптимизировать загрузку сайта?
15. Что такое ООП? Принципы ООП.
16. Что такое DOM?
17. Что можно делать с помощью JS?
18. Что такое jQuery?
14. Как загружается HTML и CSS? Как оптимизировать загрузку сайта?
15. Что такое ООП? Принципы ООП.
16. Что такое DOM?
17. Что можно делать с помощью JS?
18. Что такое jQuery?
19. Как выбрать конкретный элемент в JS? Как работает this?
20. Напишите простую функцию с добавлением класса в элемент.
21. В чем разница между == и ===?
22. Чем отличаются setTimeout и setlnterval?
23. В чем отличия let, const и var?
24. Как написать массив в JS?
25. Что означает <script async> и <script
defer>?