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

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

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

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

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

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

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

Каталог

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

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

Дана синхронная функция и время в миллисекундах. Нужно вернуть новую версию этой функции, выполнение которой ограничено заданным временем. Если функция выполнится за заданное время — промис резолвится с полученными данными. Если не выполнится — промис реджектится со строкой 'time limit exceeded'.

Синхронную функцию нельзя прервать таймером в том же JS-потоке. Для жёсткого ограничения времени вычисление нужно вынести в worker или отдельный процесс.

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

Реализуйте функцию, которая повторяет fetch-запрос несколько раз при неудаче. Что должно происходить после исчерпания попыток?

После исчерпания попыток функция должна завершиться ошибкой, а не зависнуть или вернуть undefined; правила повторов задаются явно.

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

Реализуйте функцию request: она вызывает getData, возвращает успешный результат, а при ошибке повторяет вызов до заданного количества попыток и после исчерпания попыток возвращает последнюю ошибку.

Выполните не более заданного числа вызовов, возвращая первый успешный результат; после всех неудач верните последнюю ошибку, как требует условие.

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

Реализуйте функцию `promisify`, которая преобразует callback-based функцию в функцию, возвращающую `Promise`; учтите передачу аргументов и сохранение контекста `this`.

Обёртка возвращает обычную функцию, сохраняет её this и передаёт исходные аргументы вместе с error-first callback в конце.

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

Реализуйте класс хранилища по паттерну «Наблюдатель»: класс хранит данные, позволяет подписывать и отписывать callback-функции, а при изменении данных уведомляет всех текущих подписчиков, передавая им новые данные.

Хранилище держит значение и набор обработчиков; subscribe возвращает функцию отписки, а set уведомляет снимок текущих подписчиков.

Читать ответ