Skip to content

Latest commit

 

History

History
169 lines (148 loc) · 12.3 KB

frontend.md

File metadata and controls

169 lines (148 loc) · 12.3 KB

Вопросы для фронтендеров

Вопросы по soft skills Вопросы по алгоритмам

Junior

Общие вопросы

  1. Решал ли какие-то задачки-каты? Codebattle, Codewars, Leetcode?
  2. Какие фреймворки знаешь, расскажи о своем опыте использования фреймворков?
  3. Как ты относишься к написанию кода: делаешь так, чтоб просто работало, или пишешь обдуманно?
  4. С какими менеджерами задач работал?
  5. Расскажи о своем пути в разработку, почему именно фронтенд?
  6. Приходилось ли писать тесты? Знаешь, что такое TDD, BDD?
  7. Как следишь за чистотой кода? Какие инструменты используешь?
  8. Какой сборщик возьмешь - webpack или vite?
  9. MobX или Redux?
  10. Для чего нужен TypeScript?
  11. Что такое CI/CD?
  12. Какой опыт работы с Docker?
  13. Отличие git revert от git reset?
  14. Сталкивался ли с ревью кода? Как проходило ревью? По какому принципу бы сам проводил ревью?
  15. Приходилось ли тебе работать в команде? Как у вас была устроена работа в Git?
  16. Какие инструменты разработки используешь?

JavaScript

  1. Отличие var, let, и const?
  2. В чем разница двойного равно и тройного (== и ===)?
  3. Что такое замыкание и hoisting (всплытие)? Привести пример замыкания. Есть ли разница при использовании var и let?
  4. Расскажи про область видимости.
  5. Что такое анонимные функции?
  6. Immediatly invoke function (самовызывающаяся функция). Это что?
  7. В чем разница function dеclaration и function expression?
  8. В чем отличие стрелочных функций от обычных?
  9. Что такое map(), reduce() и filter(). Расскажи про каждый и в чем разница?
  10. Расскажи про различия "старого" JavaScript и "нового"?
  11. Что такое чистая функция?
  12. Расскажи про прототипы, что это такое?
  13. Что делают call(), bind(), apply()?
  14. Чем отличается forEach() от map()?
  15. Что такое event.target и event.currentTarget?
  16. Какими способами можно обработать ошибку в Promise?
  17. Что такое Set, Map, WeakSet, WeakMap?
  18. Как добавить интернационализацию в приложение?
  19. Как сделать глубокую копию объекта?
  20. Как в JavaScript передается параметр в функцию - по ссылке или по значению?
  21. Что такое Event Loop? Для чего он нужен? Какую проблему решает?
  22. Расскажи про отличие null от undefined?
  23. Как проверить переменную на NaN?
  24. Стек и очередь: отличия и применение?
  25. Какие есть типы данных в JavaScript?
  26. Для чего нужны keyof и typeof?

React/Redux

  1. Какие вообще бывают современные фреймворки?
  2. Какие особенности у React? Что такое JSX? Что делает метод render() в React?
  3. Что такое Virtual DOM, Дерево элементов? Какие есть фазы рендеринга? Reconciliation (согласование) в react это что?
  4. Почему на jQuery не хотят писать, а на React хотят?
  5. Если пишешь на хуках, какой единственный классовый компонент всё же нужен?(Error boundary)
  6. Какие есть компоненты жизненного цикла? Как с помощью хуков заменить их?
  7. Что такое хуки? Какие бывают хуки?
  8. В чем проблема prop-drilling и как ее решить?
  9. Зачем нужен useRef()?
  10. Где в React компоненте правильно писать запросы к серверу?
  11. Отличия useMemo() от useCallback()?
  12. Что такое Redux? Зачем он нужен?
  13. Какие еще есть библиотеки, решающие эту же проблему?
  14. Что такое store?
  15. Что такое action creator?
  16. Где лучше всего делать запросы к серверу в Redux?
  17. В чем преимущества и недостатки MobX перед Redux?
  18. Можно ли использовать Redux без React?

Верстка

  1. Расскажи про специфичность селекторов.
  2. Что такое !important? Каково твое отношение к ним?
  3. Расскажи, как ты предпочитаешь работать со стилями CSS. Используешь ли какие-то препроцессоры?
  4. Размер 50vh - это сколько?
  5. Что такое семантика? Зачем она нужна?
  6. Что такое BEM методология?
  7. Что такое position absolute, relative и fixed?
  8. Разница между flex и grid?
  9. Что такое псевдоклассы? Рассказать подробно
  10. Селекторы >, +, ~. Расскажи про них, для чего используются?

Middle

Общие вопросы

  1. Расскажи о своем пути в разработку, почему именно фронтенд?
  2. Расшифруй и объяснени принципы SOLID.
  3. В чем отличие методов test() и match()?
  4. Что такое HTTPS и в чем отличие от HTTP?
  5. Каким образом webpack понимает, что ему какую-то часть кода нужно вынести в отдельную чанку?
  6. Что такое XML и XSD?
  7. Для чего используются куки и в чем различия между localStorage и sessionStorage?
  8. Что такое мемоизация?
  9. В чем разница между WebSocket и SSE?
  10. Плюсы и минусы Next.js?
  11. Расскажи про фронтовые архитектуры.
  12. Что такое Web Vitals? Чем отличается от Sentry?
  13. Есть ли тело запроса у GET
  14. Какие паттерны программирования знаете?
  15. Как бы вы реализовали взаимодействие бэкенда с фронтендом?
  16. Что такое Big O notation? Как рассчитывается сложность алгоритма?
  17. На Webpack или Vite настраивал ли SSR или SSG без Next.js?
  18. Сталкивался ли с ситуацией, где пришлось решать проблему серьезной утечки памяти?
  19. Расскажи про ООП и как использовал.
  20. Что такое протокол?
  21. Что такое websocket?
  22. Доводилось ли писать собственную авторизацию? Расскажи про авторизацию через токены.

JavaScript

  1. Что такое наследование? Что дает нам прототипное наследование? Через какое свойство мы наследуем? В чем разница proto и prototype?
  2. Всё ли в JS объект?
  3. В чем разница итерация по ключам объектов через for.. in.. и через Object.keys(...)?
  4. Что такое async, await?
  5. Как принудительно отправить функцию в очередь микрозадач?
  6. Чем множество отличается от массива в Javascript?
  7. Сталкивался ли с CORS? Что это такое, почему из Postman можно выполнить запрос, а из браузера нет? Как обойти?
  8. Можешь рассказать, что такое промисы в Javascript? Где они используются?
  9. Есть браузер, в адресную строку вводим адрес и нажимаем Enter. Что в это время происходит?
  10. Для чего используются async и defer при загрузке скриптов?
  11. Если у нас есть какой-то большой файл стилей, например 50kb. Заблокирует ли он нам рендеринг?
  12. Что такое debounce()? Зачем нужен. Написать реализацию
  13. Зачем нужны классы в JS? Какие плюсы/минусы/подводные камни?
  14. Расскажи про Eslint, huski. В чем разница prettier и eslint?

TypeScript

  1. Какие утилитарные типы ты можешь назвать?
  2. Что такое дженерики?
  3. Отличие интерфейсов от типов
  4. Что такое абстрактные классы? Может ли абстрактный класс нести реализацию конкретного метода? Можем ли мы методу абстрактного класса прокинуть дженерик?
  5. В чем разница между типом any и unknown? Будет ли разница при сборке?

React

  1. Какие хуки имплементируют методы жизненного цикла? Как именно? Что делает хук useLayoutEffect()?
  2. В чем разница useImperativeHandle() и useRef()?
  3. Что такое forwardRef()?
  4. Какие есть способы принудительного рендера компонента?
  5. Для чего нужны ключи в React?
  6. Что такое reconciliation в React?
  7. Что такое React Fiber?
  8. В чем будет разница, если в реакт компоненте обращаться к компоненту и менять его через document.querySelector() и через ref?
  9. Что такое SSR, зачем он нужен? Как организовать SSR в React?
  10. Что такое headless компонент?
  11. Использовал ли ErrorBoundary? Как бы реализовал свой ErrorBoundary?

Верстка

  1. Как рендерится HTML в браузере. Опиши этапы.
  2. Как мы можем принудительно вынести РЕЬД элемент на слой?
  3. В чем будет разница работы render flow, если мы будем менять позицию элемента через координаты top/left и через transform/translate?
  4. Отличие тега image от тега picture (технически и семантически)
  5. С какими препроцессорами CSS работал, с какими методологиями работал?
  6. Расскажи, как ты предпочитаешь работать со стилями CSS. Используешь ли какие-то препроцессоры?
  7. Что такое миксины?
  8. Что такое placeholder селекторы?
  9. Расскажи про различие директивы @import и @use в SCSS.
  10. Приходилось работать с готовыми Uikit?
  11. Почему плохо использовать transition: all?
  12. Какие существуют способы изоляции стилей?