Загрузка…
Загрузка…
frontend / middle / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Поведенческий
Расскажите про себя, свой опыт и задачи, которые вы решали.
Этап знакомства/рассказа о себе.
02
Кейс
Сколько ты зарабатываешь сейчас и сколько хотел бы зарабатывать (комфортная вилка)?
Финансовая секция. Кандидат: ~170-185 сейчас, хочет от 200.
03
Код
Напишите компонент на React, который сходит по ссылке (эндпоинт), получит данные в формате { result, items: [{id, name}] } и отрендерит items в виде списка.
Лайвкодинг. По ходу обсуждались состояния loading/error, обработка ответа, использование api.get, ключи в map. Запрос предполагалось вынести из компонента.
04
Теория
Объясните своими словами, что такое Promise.
Кандидат упомянул однопоточность JS и состояния pending/fulfilled/rejected.
05
Теория
Есть ли способ выполнить действие после завершения всех промисов из набора? Чем отличаются Promise.all и Promise.allSettled?
06
Код
Напишите полифилл для Promise.all: функция получает массив промисов и возвращает промис, который резолвится массивом результатов в исходном порядке.
Оптимистичная задача (все промисы успешно резолвятся). Важно сохранить порядок результатов по индексам. Обсуждался эксперимент в консоли с авто-резолвом промиса.
07
Теория
Что такое полифилл?
Уточняющий вопрос по ходу задачи про полифилл Promise.all.
Заметки
Собеседование в подразделение Сбера — Центр индустрии здоровья (экосистемные/медицинские проекты: СберЗдоровье, аптека, Медэкс). Кандидата приглашают на проект СберАвто (доработка, React-фронтенд). Текущее место кандидата — Газпромбанк (личный кабинет физ/юр лиц, аналитика транзакций, карты с отображением трат, кредитный калькулятор, цифровой клиентский путь). Процессы: SberAgile, спринты 2 недели, планирование по кварталам и спринтам, бэклог, груминг, демо, ретро. Используются React, Redux, TypeScript, Next.js; saga только в старых проектах; FSD соблюдается частично. Бонусы: годовые премии (упоминалось ~2.5 зарплаты за 2022). После тех-собеса — финалка с IT-лидером (нетехническая), где обсудят зарплату (можно запрашивать 200+).
Подготовка
Подготовиться к лайвкодингу на React (компонент с fetch, состояния loading/error, рендеринг списка) и к написанию полифиллов на промисах (Promise.all с сохранением порядка). Знать различия Promise.all/allSettled, состояния промиса, понятие полифилла. Полезно учитывать крайние случаи и обработку ошибок.
Стиль интервьюера
Дружелюбный, сразу перешёл на ты, подробно рассказал о подразделении и процессах. На задачах подчёркивал, что это не экзамен, а работа в паре; давал подсказки, предлагал проверить гипотезы экспериментом в консоли. Отметил тягу кандидата к обработке исключительных ситуаций как плюс. Предложил написать свою телегу для вопросов.