Вопросы по soft skills Вопросы по алгоритмам
- Решал ли какие-то задачки-каты? Codebattle, Codewars, Leetcode?
- Какие фреймворки знаешь, расскажи о своем опыте использования фреймворков?
- Как ты относишься к написанию кода: делаешь так, чтоб просто работало, или пишешь обдуманно?
- С какими менеджерами задач работал?
- Расскажи о своем пути в разработку, почему именно фронтенд?
- Приходилось ли писать тесты? Знаешь, что такое TDD, BDD?
- Как следишь за чистотой кода? Какие инструменты используешь?
- Какой сборщик возьмешь - webpack или vite?
- MobX или Redux?
- Для чего нужен TypeScript?
- Что такое CI/CD?
- Какой опыт работы с Docker?
- Отличие git revert от git reset?
- Сталкивался ли с ревью кода? Как проходило ревью? По какому принципу бы сам проводил ревью?
- Приходилось ли тебе работать в команде? Как у вас была устроена работа в Git?
- Какие инструменты разработки используешь?
- Какие виды уязвимостей знаешь? Что такое OWASP?
- В чем отличия
null
иundefined
? - Отличие
var
,let
, иconst
? - Строгий режим (strict mode) в JavaScript?
- Какие есть типы данных в JavaScript?
- Строки в JavaScript изменяемые? Или при добавлении символа в конец строки, это уже будет новая строка?
- Что такое анонимные функции?
- Что такое замыкание и hoisting (всплытие)? Привести пример замыкания. Есть ли разница при использовании
var
иlet
? - В чем разница function declaration и function expression?
- В чем разница двойного равно и тройного (
==
и===
)? - Как проверить переменную на
NaN
? - Как в JavaScript передается параметр в функцию - по ссылке или по значению?
- Что делают
call()
,bind()
,apply()
? - Чем отличается
forEach()
отmap()
? - Что такое
map()
,reduce()
иfilter()
? Расскажи про каждый и в чем разница? - Как сделать глубокую копию объекта?
- Расскажи, какие ты знаешь способы копирования объекта в JavaScript?
- Что такое глубокое копирование и поверхностное?
- Расскажи про прототипы, что это такое?
- Расскажи про область видимости.
- Что на конце цепочки прототипов?
- Что такое NodeJS? Из чего он состоит?
- Из каких компонентов состоит Node.js?
- Какими способами можно обработать ошибку в Promise?
- Когда-нибудь приходило к тебе понимание типа “а вот здесь я хочу использовать eventemitter”? Когда его лучше использовать?
- Что такое Event Loop? Для чего он нужен? Какую проблему решает? Можешь рассказать, что такое Event Loop? Какие есть фазы? Если в Event Loop ничего не останется после выполнения, то что произойдет? В какой последовательности вызываются микро и макро таски?
- Что такое
keyof
иtypeof
? - Что такое
Set
,Map
,WeakSet
,WeakMap
? - Что такое дескрипторы объекта?
- Как добавить интернационализацию в приложение?
- Что такое package.json?
- Что такое package-lock.json? Зачем нужен? Зачем его коммитить? В чем разница
npm i
иnpm ci
? - Отличия ES5 и ES6?
- Расскажи про различия "старого" JavaScript и "нового"?
- Если поставить таймер на 10 секунд, то через сколько он сработает? Почему?
- Можешь рассказать, что такое замыкания в JS? Есть ли такое в других языках?
- Immediatly invoke function (самовызывающаяся функция). Это что?
- Расскажи мне про React, что это вообще такое?
- Какие особенности у React? Что такое JSX? Что делает метод
render()
в React? - Что такое Virtual DOM, Дерево элементов? Какие есть фазы рендеринга? Reconciliation (согласование) в react это что?
- Почему на jQuery не хотят писать, а на React хотят?
- Если пишешь на хуках, какой единственный классовый компонент всё же нужен?(Error boundary)
- Какие есть компоненты жизненного цикла? Как с помощью хуков заменить их?
- Что такое хуки? Какие бывают хуки? Какие знаешь?
- В чем проблема prop-drilling и как ее решить?
- Зачем нужен
useRef()
? Как работает? - Чем отличается
useRef()
отuseState()
? - Как работает
useLayoutEffect
в React и чем он отличается отuseEffect
? - Где в React компоненте правильно писать запросы к серверу?
- Отличия
useMemo()
отuseCallback()
? - Что такое Redux? Зачем он нужен?
- Какие еще есть библиотеки, решающие эту же проблему?
- Что такое
store
? - Что такое
action creator
? - Где лучше всего делать запросы к серверу в Redux?
- В чем преимущества и недостатки MobX перед Redux?
- Можно ли использовать Redux без React?
- Что такое волна ререндеринга в React?
- Какие существуют в React причины для ререндера компонента?
- Что такое порталы React?
- Зачем нужен key в React?
- Что такое батчинг в React?
- Расскажи про процесс обновления Virtual DOM.
- Расскажи мне про базовую структуру HTML документа. Какие там основные теги?
- Расскажи про специфичность селекторов.
- Что такое
!important
? Каково твое отношение к ним? - Расскажи, как ты предпочитаешь работать со стилями CSS. Используешь ли какие-то препроцессоры?
- Размер
50vh
- это сколько? - Что такое семантика? Зачем она нужна?
- Что такое BEM методология?
- Что такое
position absolute
,relative
иfixed
? - Разница между flex и grid?
- Что такое псевдоклассы? Рассказать подробно
- Селекторы
>, +, ~
. Расскажи про них, для чего используются? - Какие есть три главных жизненных цикла в рамках того, как работает наша html-страничка? В эти три пункта входит рендер?
- Можешь рассказать, какие есть атрибуты для подключения JS-файлов? Каков их порядок вызова?
- За что отвечает свойство
box-sizing
в CSS? - Расскажи про веса селекторов в CCS, от наиболее незначительных, до наиболее специфичных.
- Как мы можем хранить данные на фронтенде, какие хранилища знаешь?
- Чем отличается вообще протокол HTTP и чем он отличается от HTTPS?
- Что такое CORS? Это связано именно с HTTP?
- Что такое REST API?
- Какие коды ответа HTTP знаешь?
- Как работает HTTP? Из чего состоит HTTP запрос?
- Что такое Reflow и Repaint?
- Когда пользователь вводит запрос в адресной строке браузера или кликает на ссылку, что происходит? Расскажи про этапы рендера.
- Представим, ты работаешь в своей ветке, которая отделилась от develop. Внес изменения в нескольких файлах, тебя просит тимлид добавить hotfix в другой ветке. Что будешь делать. Если тебе сейчас нельзя сделать коммиты? Тебе нужно перейти из своей текущей ветки в другую, но при этом коммит делать нельзя
- Знаешь, в чем отличие merge от rebase?
- Представим, что у тебя есть ветка с тремя коммитами, и тебе нужны изменения из develop. Что произойдет с твоими коммитами, Например при ребейзе? А как с мержем?
- Расскажи о своем пути в разработку, почему именно фронтенд?
- Расшифруй и объяснени принципы SOLID.
- В чем отличие методов
test()
иmatch()
? - Что такое HTTPS и в чем отличие от HTTP?
- Каким образом webpack понимает, что ему какую-то часть кода нужно вынести в отдельную чанку?
- Что такое XML и XSD?
- Для чего используются куки и в чем различия между
localStorage
иsessionStorage
? - Что такое мемоизация?
- В чем разница между WebSocket и SSE?
- Плюсы и минусы Next.js?
- Расскажи про фронтовые архитектуры.
- Что такое Web Vitals? Чем отличается от Sentry?
- Есть ли тело запроса у GET
- Какие паттерны программирования знаете?
- Как бы вы реализовали взаимодействие бэкенда с фронтендом?
- Что такое Big O notation? Как рассчитывается сложность алгоритма?
- На Webpack или Vite настраивал ли SSR или SSG без Next.js?
- Сталкивался ли с ситуацией, где пришлось решать проблему серьезной утечки памяти?
- Расскажи про ООП и как использовал.
- Что такое протокол?
- Что такое websocket?
- Доводилось ли писать собственную авторизацию? Расскажи про авторизацию через токены.
- Какие способы оптимизации приложения знешь?
- Что такое наследование? Что дает нам прототипное наследование? Через какое свойство мы наследуем? В чем разница
proto
иprototype
? - Всё ли в JS объект?
- В чем разница итерация по ключам объектов через
for.. in..
и черезObject.keys(...)
? - Что такое
async
,await
? - Как принудительно отправить функцию в очередь микрозадач?
- Чем множество отличается от массива в Javascript?
- Сталкивался ли с CORS? Что это такое, почему из Postman можно выполнить запрос, а из браузера нет? Как обойти?
- Можешь рассказать, что такое промисы в Javascript? Где они используются?
- Есть браузер, в адресную строку вводим адрес и нажимаем Enter. Что в это время происходит?
- Для чего используются
async
иdefer
при загрузке скриптов? - Если у нас есть какой-то большой файл стилей, например 50kb. Заблокирует ли он нам рендеринг?
- Что такое
debounce()
? Зачем нужен. Написать реализацию - Зачем нужны классы в JS? Какие плюсы/минусы/подводные камни?
- Расскажи про Eslint, huski. В чем разница prettier и eslint?
- Для чего нужен TypeScript, расскажи про плюсы и минусы?
- Какие утилитарные типы ты можешь назвать?
- Что такое дженерики?
- Отличие интерфейсов от типов
- Что такое абстрактные классы? Может ли абстрактный класс нести реализацию конкретного метода? Можем ли мы методу абстрактного класса прокинуть дженерик?
- В чем разница между типом
any
иunknown
? Будет ли разница при сборке? - Что такое union в TypeScript?
- Как работают
keyof
иtypeof
в TS? - Что такое
infer
в TS? - Что такое
never
в TypeScript?
- Какие хуки имплементируют методы жизненного цикла? Как именно? Что делает хук
useLayoutEffect()
? - В чем разница
useImperativeHandle()
иuseRef()
? - Что такое
forwardRef()
? - Какие есть способы принудительного рендера компонента?
- Для чего нужны ключи в React?
- Что такое
reconciliation
в React? - Что такое React Fiber?
- В чем будет разница, если в React компоненте обращаться к компоненту и менять его через
document.querySelector()
и черезref
? - Что такое SSR, зачем он нужен? Как организовать SSR в React?
- Что такое headless компонент?
- Использовал ли ErrorBoundary? Как бы реализовал свой ErrorBoundary?
- Как рендерится HTML в браузере. Опиши этапы.
- Как мы можем принудительно вынести HTML элемент на слой?
- В чем будет разница работы render flow, если мы будем менять позицию элемента через координаты
top/left
и черезtransform/translate
? - Отличие тега
image
от тегаpicture
(технически и семантически) - С какими препроцессорами CSS работал, с какими методологиями работал?
- Расскажи, как ты предпочитаешь работать со стилями CSS. Используешь ли какие-то препроцессоры?
- Что такое миксины?
- Что такое
placeholder
селекторы? - Расскажи про различие директивы
@import
и@use
в SCSS. - Приходилось работать с готовыми Uikit?
- Почему плохо использовать
transition: all
? - Какие существуют способы изоляции стилей?