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

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

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

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

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

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

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

Каталог

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

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

Нужно написать функцию memoize — обёртку для мемоизации. Для простоты можно считать, что функция всегда будет иметь только один аргумент, и это будет примитивное значение.

Для чистой синхронной функции одного примитивного аргумента храните результаты в Map и проверяйте наличие через has, чтобы кешировать даже undefined.

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

Как защититься от бесконечного Promise при запросе доступа к камере и микрофону? Предложи варианты с использованием статических методов Promise.

Ограничьте ожидание через Promise.race с таймером, но помните: это не отменяет запрос разрешения. Поздно полученный поток после timeout нужно остановить.

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

Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list's nodes (i.e., only nodes themselves may be changed.)

Меняйте ссылки у каждой соседней пары, используя фиктивный узел перед головой. Значения узлов остаются неизменными; непарный последний узел сохраняет место.

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

Реализуйте полифил Promise.all: что он принимает на вход и как должен работать при успешном выполнении, ошибке и пустом массиве?

Promise.all принимает iterable значений/Promise, возвращает результаты в исходном порядке и отклоняется при первом отказе. Пустой вход даёт успешный Promise с [].

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

Как бы вы типизировали функцию на TypeScript, которая принимает на вход массив любых типов данных и возвращает тип первого элемента массива?

Для обычного массива результат имеет тип элемента или undefined, а для непустого кортежа можно сохранить точный тип первого элемента. Пустой массив нельзя игнорировать в контракте.

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

Нужно написать функцию, которая возвращает функцию, принимающую любые аргументы, и оборачивает callback (с колбэк-стилем error-first) в промис (promisify).

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

Читать ответ