Разбор поведения при нажатии кнопки
Исходный компонент не компилируется из-за повреждённого синтаксиса. Даже после исправления скобок изменение обычного let currentCount не вызовет рендер, поэтому видимый счётчик не обновится.
Читать ответПодготовка к интервью
1058 вопросов с собеседований в Альфа-Банк
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Альфа-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: devops, infrastructure, database.
Каталог
Исходный компонент не компилируется из-за повреждённого синтаксиса. Даже после исправления скобок изменение обычного let currentCount не вызовет рендер, поэтому видимый счётчик не обновится.
Читать ответДля корректных дат YYYY-MM-DD строковая сортировка совпадает с календарной. Отсортируйте копию массива и сгруппируйте MM-DD по первым четырём символам даты.
Читать ответУкажите параметр типа: const numericSet = new Set<number>(). Тогда TypeScript разрешит add с числами и отклонит строковые аргументы.
Читать ответВ обычном нестрогом браузерном script без глобальных firstName/lastName вывод: Bill, undefined, Boris, Bill, undefined, Boris, undefined. В strict mode последовательность прервётся раньше.
Читать ответИсходник содержит синтаксические ошибки, а обычная переменная count не обновляет интерфейс. Исправьте скобки и JSX, затем храните счётчик в useState.
Читать ответCSV нельзя в общем случае разобрать split по запятым: поля могут содержать кавычки, запятые и переводы строк. Для данного простого примера достаточно разделения строк и полей с явным ограничением формата.
Читать ответКомпонент накапливает обработчики и интервалы, а таймеры захватывают старый count. Нужны очистка эффекта, актуальное значение через ref и согласованное обновление связанных count/items.
Читать ответИсправьте JSX и имя компонента с заглавной буквы. Подписку создавайте в эффекте с cleanup; не запускайте новый бесконечный интервал на каждый клик и каждый рендер.
Читать ответРазрешите произвольные строковые ключи через Record<string, unknown> и возвращайте unknown[]. Для отсутствующего собственного поля добавляйте undefined; также исправьте имя вызова и скобки цикла.
Читать ответВ нестрогом браузерном script без глобальных firstName/lastName вывод: Bill, undefined, Boris, Bill, undefined, Boris, undefined. В строгом режиме выполнение прервётся уже на b().
Читать ответДля примера с отложенным показом children используйте состояние true и переключите его в false после первого commit через useEffect. Это также вызовет необходимый второй рендер.
Читать ответПорядок: start, promise constructor, final, promise2, promise4, timeout. Первый then пропускается из-за reject, а второй catch не срабатывает после успешного первого catch.
Читать ответ