April 18, 2024
Что спрашивают на собеседовании у фронтенд разработчика в 2024 году
Хочу поделиться своей базой вопросов, собранной с 30+ собеседований. Надеюсь кто-то найдет для себя новый вопрос, который вероятно встретиться ему.
Ссылка на текстовый файл со всеми вопросами: клик
web / computer science
- Что делает браузер после того, как мы введем https://google.com
- Если ты будешь с нуля писать веб-приложение, какую архитектуру будешь использовать и стек? Почему?
- Что такое JWT
- Server-Side Rendering и разница с SPA
- Что такое кроссбраузерность
- HTTP / HTTPS
- Разница между cookie, sessionStorage и localStorage?
- Способы уменьшения времени загрузки веб-страницы и оптимизация
- Разница TCP / UDP
- ООП
- SOLID
- DRY / KISS / YAGNI
- Разница между Progressive Enchancement и Graceful Degradation
- MVC / FLUX
- Что такое middleware
- CORS
html
- Разница между <script>, <script async> и <script defer>?
- Что такое семантика + семантические теги
- Методология БЭМ
- Canvas - что это такое?
- Что такое doctype? И для чего он используется?
css
- Типы позиционирования css
- Перечислите блочные элементы, которые вам известны(хотя бы 5) и строчные
- Расшифруй CSS и почему каскад?
- Специфичность
- Виды адаптивных версток
- Сss анимации
- Свойство display - основное значение и как оно работает, другие значения display
- Почему важно указывать ширину и высоту для картинок
- Как увеличить в размере при наведении элемент, не сдвигая соседние
- Для чего служат vh, vw при указании размеров
- Что такое border box(блочная модель). Для чего нужно это свойство css
- Наследование css, принудительное наследование css
- Псевдоклассы и псевдоэлементы
- Схлопывание margin
- POSTcss
- Как отцентровать блок по горизонтали и по вертикали
- Переменные, миксины, функции в SCSS
javascript
- Способы объявления переменных
- Всплытие и погружение
- Типы данных
- Имутабельные и мутабельные типы
- Ложные и истинные типы (Boolean(…)
- Методы массивов
- Что такое EcmaScript
- Рекурсия и стек
- Замыкание
- Сборка мусора, утечки памяти
- Event loop
- Виды функций и их различия
- MAP / SET
- settimeout / setinterval / setImmediate
- Для чего в названия сбилженных javascript файлов добавляются хэши?
- Расскажи про области видимости(this). call, apply, bind
- Что такое iife
- Promise / Promise.all / Promise.any / Promise.allSettled / Promise.race.Promise.allSettled
- Что такое async/await и что используется под капотом
- Как работает settimeout / setinterval
- Делегирование событий? Зачем?
- Операторы spread VS rest
- Объекты. Способы создания.
- Объекты. Способы перебора.
- Объекты. Копирование объектов. Как избежать ссылочной зависимости при копировании объекта.
- Объекты. Разница между in и hasOwnProperty
- Объекты. object.keys, values, entries
- Что такое callback функция
- Чем похожи массивы, объекты и функции?
- Разница между e.preventDefault / e.stopPropagation / e.stopImmediatePropagation
- Как проверить на NaN
- Как проверить, является ли значение массивом
- Что такое объектная обертка (Wrapper Objects)
- Как передаются параметры в функцию: по ссылке или по значению?
- Разница между методами slice() и splice()?
- Что такое babel
typescript
- Зачем нужен typescript?
- Что такое кортежи
- Что такое enum
- Что такое generic
- Утилиты типов
- Декораторы
- Компиляция typescript
- Когда можно использовать any
- Различия interface и type
react
- Что такое реакт и зачем он нужен для бизнеса?
- Что такое react.createElement
- Что такое jsx
- Что такое props и props drilling
- Зачем нужны стейт менеджеры и какие ты знаешь?
- Как в React реализовать двустороннее связывание данных?
- Мемоизация
- bundle splitting, lazy imports
- Что такое HOC?
- Что такое virtual dom?
- Зачем нужны key?
- Что такое Flash Of Unstyled Content? Как его избежать?
- Расскажи про хуки в реакт
- Что такое портал (Portal)?
- Разница между memo и useMemo?
- Является ли React реактивным?
- Методы и стадии жизненного цикла компонента в React?