Вернуться в видеотекуНЕУДАЧНОЕ СОБЕСЕДОВАНИЕ на FRONTEND РАЗРАБОТЧИКА. Live coding
Разбор неудачного для автора фронтенд-собеседования с live coding и вопросами по JavaScript, React и TypeScript. Во второй части собеседники рассказывают о монорепозитории, Context/RxJS, собственном UI kit и миграции проектов на Next.js.
- Направление
- Frontend
- Формат
- Техническое собеседование
- Длительность
- 50 мин
Коротко о видео
Автор показывает записанное для канала техническое собеседование на позицию Senior/Middle Frontend-разработчика в блокчейн-направлении: перед беседой он разбирает вакансию и её стек. На интервью обсуждают JavaScript, алгоритм слияния двух отсортированных массивов, порядок React-рендеринга и callback ref, типизацию action/payload в TypeScript, а затем архитектуру проектов команды. В финале автор считает, что прошёл собеседование плохо, и отдельно разбирает свои ошибки в React-задаче, но не называет компанию и не подтверждает результат найма.
Затронутые темы
Что взять на заметку
- Для слияния двух отсортированных массивов стоит уверенно объяснять решение двумя указателями: сохранять дубликаты, сдвигать нужный индекс и отдельно добавлять остаток непустого массива.
- Нужно уметь объяснить, как через Proxy и его обработчик set преобразовать записываемые значения свойства, например числа, в строки; интервьюер принимал устное описание подхода.
- К React-вопросам стоит готовить не только общие слова о монтировании, а точный порядок вызовов console.log, useEffect и callback ref; автор признаёт, что запутался именно в этой последовательности.
- Для action с зависящим от type payload автор предлагает отдельные интерфейсы и их union, то есть дискриминируемое объединение; он считает вложенные conditional types плохо масштабируемыми и нечитаемыми.
- Со слов интервьюеров, в их приложениях Redux заменён React Context и RxJS: Context хранит верхнеуровневые данные и Observable, а локальное сложное состояние может жить ниже через useReducer.
- При обсуждении Context полезно назвать компромиссы: лишние рендеры, provider wrapper hell и отсутствие Redux DevTools с пошаговой историей состояния; интервьюеры утверждают, что их схема с RxJS эти риски снижает.