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

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

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

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

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

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

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

Каталог

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

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

Реализуйте список на локальном state: пользователь должен иметь возможность добавлять и удалять элементы; данные не должны сохраняться после перезагрузки страницы.

Храните элементы в useState, добавляйте новую запись с устойчивым ID и удаляйте через filter. Без внешнего хранилища список сбросится после перезагрузки.

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

Реализуйте собственный утилитарный тип Pick<T, K>. Объясните, как работают mapped types и как реализовать аналог Partial<T>.

Mapped type перебирает ключи типа и строит новые свойства. Pick ограничивает набор ключей, а Partial добавляет каждому свойству модификатор optional.

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

Типизируй функцию getParam так, чтобы TypeScript сам подсвечивал наличие свойств в объекте. Сделай типизацию так, чтобы нельзя было передавать массивы.

Используйте K extends keyof T и возвращаемый тип T[K], а массивы исключите условным типом параметра. Это сохранит подсказки ключей объекта.

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

Напишите функцию преобразования строки из camelCase в snake_case. Нельзя использовать регулярные выражения, коды символов или жёстко заданный список символов; решение должно работать универсально. Оцените временную и пространственную сложность.

Сравнивайте символ с его lower/upper-вариантами и ставьте разделитель на границе регистра. Это позволяет обойтись без regex и списка кодов символов.

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

Реализуйте базовый REST-сервис на Express для задач: получение списка, создание, обновление и удаление задач.

Минимальный REST-сервис использует GET для списка, POST для создания, PATCH для изменения и DELETE для удаления, проверяя вход и существование задачи.

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

Создайте компонент Vue 3 с использованием Composition API и TypeScript, который принимает пропс `info` типа string. Используйте композиционную функцию `useInfo`, которая принимает строку `info` и возвращает вычисляемое свойство `formattedInfo`, форматирующее строку с добавлением префикса "Дополнительная информация: ". Отобразите в шаблоне компонента как исходный пропс `info`, так и `formattedInfo`.

UseInfo возвращает computed с нужным префиксом, а компонент отображает исходный prop и вычисленное значение. Строковый аргумент при этом является снимком.

Читать ответ