Как обогатить онлайн-пользователей данными отдела
Постройте Map отделов по ID, отфильтруйте online и создайте новые объекты пользователей. Так поиск отдела не требует полного прохода для каждой строки.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Постройте Map отделов по ID, отфильтруйте online и создайте новые объекты пользователей. Так поиск отдела не требует полного прохода для каждой строки.
Читать ответПервый результат — 16: начальные 10 складываются с 1, 2 и 3. Для пустого массива возвращается initialValue, то есть 10.
Читать ответПересечение string и number даёт never, поэтому одноимённое обязательное поле станет недопустимым для обычного значения.
Читать ответВ своей области видимости var до присваивания имеет значение undefined. Доступ к let до инициализации вызывает ReferenceError из-за temporal dead zone.
Читать ответДля чистой синхронной функции одного примитивного аргумента храните результаты в Map и проверяйте наличие через has, чтобы кешировать даже undefined.
Читать ответОграничьте ожидание через Promise.race с таймером, но помните: это не отменяет запрос разрешения. Поздно полученный поток после timeout нужно остановить.
Читать ответВ браузере при данном скрипте вывод будет S, E, P, T1, T2. Promise-реакция выполняется после синхронного кода и до callbacks таймеров.
Читать ответИспользуйте feature query @supports (display: grid), а базовую раскладку задайте снаружи как fallback.
Читать ответМеняйте ссылки у каждой соседней пары, используя фиктивный узел перед головой. Значения узлов остаются неизменными; непарный последний узел сохраняет место.
Читать ответPromise.all принимает iterable значений/Promise, возвращает результаты в исходном порядке и отклоняется при первом отказе. Пустой вход даёт успешный Promise с [].
Читать ответДля обычного массива результат имеет тип элемента или undefined, а для непустого кортежа можно сохранить точный тип первого элемента. Пустой массив нельзя игнорировать в контракте.
Читать ответpromisify возвращает обычную функцию, которая передаёт исходные аргументы и error-first callback, а результат callback превращает в resolve или reject.
Читать ответ