Подготовка к интервью

Лайвкодинг на собеседовании

3221 вопрос в категории «Лайвкодинг»

3221 вопрос 1634 компании 353 технологии

Что проверяют на интервью

Как устроена подборка

В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.

Каталог

Результаты поиска

Найдено: 3221
Лайвкодинг

Типизируйте функцию преобразования массива на TypeScript: определите нужные generic-типы для типа элементов исходного массива и типа результата.

Для map-подобного преобразования нужны два generic-параметра: T для исходного элемента и U для результата callback.

Читать ответ
Лайвкодинг

Напишите функцию, преобразующую одномерный массив в матрицу заданного числа строк и столбцов: первый столбец заполняется сверху вниз, второй — снизу вверх, и так далее. Если размер матрицы не соответствует длине массива, нужно выбросить ошибку.

Индекс элемента определяет столбец, а строка идёт прямо для чётного столбца и в обратном порядке для нечётного.

Читать ответ
Лайвкодинг

Есть кнопка, внутри неё иконка. При наведении на кнопку нужно плавно повернуть иконку на 180 градусов за 200 мс. Какие CSS свойства для этого потребуются?

Для плавного поворота задайте иконке transition: transform 200ms и меняйте transform: rotate(180deg) при hover кнопки.

Читать ответ
Лайвкодинг

Реализуйте упрощённую функцию `reactive(object)`, имитирующую Vue 3: при чтении свойства должна вызываться `track(target, key)`, а при изменении свойства — `trigger(target, key)`.

Для упрощённой реактивности нужен Proxy с get для track и set для trigger при успешном изменении свойства.

Читать ответ
Лайвкодинг

Реализуйте на TypeScript хук `usePage`, который принимает URL, загружает данные пользователя, возвращает `data`, `loading` и `error`, повторяет запрос при изменении URL и корректно отменяет запрос при размонтировании компонента или смене URL.

Хук должен связывать ответ с текущим URL, очищать предыдущий запрос и отдельно возвращать загрузку и ошибку.

Читать ответ
Лайвкодинг

Задача на TypeScript: описать тип пользователя с полями имя, фамилия, опциональное отчество и флаг наличия отчества. Написать функцию форматирования полного имени. Описать тип телефона, который всегда начинается с +7. Преобразовать тип с маленькой буквы в тип с заглавными буквами ключей без рефакторинга, используя возможности TypeScript.

Связь флага и отчества описывается discriminated union, префикс телефона — template literal type, а новые имена ключей — mapped type.

Читать ответ