Вернуться в видеотеку

НЕУДАЧНОЕ СОБЕСЕДОВАНИЕ на FRONTEND РАЗРАБОТЧИКА. Live coding

Разбор неудачного для автора фронтенд-собеседования с live coding и вопросами по JavaScript, React и TypeScript. Во второй части собеседники рассказывают о монорепозитории, Context/RxJS, собственном UI kit и миграции проектов на Next.js.

Источник: Ulbi TV

Открыть на YouTube

Таймлайн

Коротко о видео

Автор показывает записанное для канала техническое собеседование на позицию 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 эти риски снижает.

Рекомендуем посмотреть