https://dev.ua/news/frontend

Базові знання
- Сфера 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 ви навряд чи стикатиметесь із прототипним наслідуванням, то на співбесіді про них можуть запитати.
- Під час розмови вас можуть також попросити написати код — дати завдання та запитати, як ви поліпшите перформанс і яке рішення вимоги замовника можете запропонувати.
- Можуть бути й дивні запитання. Наприклад, у мене колись цікавилися, що б я зробив, якби двоє моїх колеги побилися.
Цікаві тестові