Вроде все вопросы стандартные, но ответить на них можно сильно по-разному. В оригинале спрашивали в случайном порядке, без разбивки по темам
Цикл событий:
- Что такое EventLoop, как он работает? Как он работает с Promise? (статья)
- Перечисли всё, что относится к макротаскам в JS?
Вопрос частый и рассказать можно много:
Базовый ответ — просто перечислить методы.
-> setTimeout, setInterval
-> DOM события (click, input, load и т.д.): именно асинхронные, вызванные пользователем
-> setImmediate (Node.js) -> можно рассказать про фазы event loop в Node.js),
-> I/O операции (Node.js)
-> MessageChannel, BroadcastChannel (можно рассказать про каналы)
-> postMessage
Чуть более развернутный ответ — также рассказать про отдельные очереди и их порядок в асинхронном потоке:
-> requestAnimationFrame
-> requestIdleCallback
Идеальный ответ для меня, — перечислить и сказать пару слов про особенности и применение каждого метода, а если интервьюер захочет углубиться в опыт использования чего-то конкретного, уйти в эту тему.
TypeScript:
- Что такое infer в TS? (видео)
- Для чего нужны Generics в TS? (видео)
- Что даёт использование const в Generics?
- Что такое union types в TS?
- Что такое enum в TS и для чего? (видео)
- Что такое типы высшего порядка в TS? И какие используются чаще всего?
Типы высшего порядка — типы, которые принимают другие типы как параметры.
Часто используемые:
- Generics: `Array<T>`, `Promise<T>`, `Map<K, V>`
- Utility Types: `Partial<T>`, `Required<T>`, `Pick<T, K>`
- Mapped Types: `{ [K in keyof T]: T[K] }`
- Conditional Types: `T extends U ? X : Y`
Мемоизация:
- Что делают хуки useMemo, useCallback, React.memo? (статья)
Верстка:
- Какие приёмы есть в CSS для адаптивности?
- Что такое container query в CSS? (MDN)
- Какие есть возможности у медиа запросов? (MDN)
- Почему в методологии БЭМ не используются margin у родительского блока?
- Из чего состоит Box Model в CSS? (MDN)
- Что такое схлопывание margin? (MDN)
Общее:
- Чем отличаются JWT token от сессионных кук? (статья)
- Какие параметры можно задать в <meta name="viewport">?
- Какие есть варианты хранения данных на стороне браузера?
JavaScript:
- Как ведёт себя this в обычной функции?
- Что такое оператор new в JS и как он работает? (learnjs)
- Что такое прототипы в JS? (learnjs)
React:
- Что такое контекст в React и для чего используется?
- Если мы создаём Portal в React, будет ли там доступен контекст?
Ставьте 👍 если формат с вопросами полезен, или 🤝 если следующий пост делаем с разбором задач в крупной компании 👋
