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

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

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

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

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

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

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

Каталог

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

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

Напиши код: получи с эндпоинтов JSONPlaceholder три массива — посты, пользователей и комментарии — затем агрегируй их в общий массив постов, добавив к каждому посту поле `username` и количество комментариев. Данные связаны по идентификаторам (`post.userId`, `comment.postId`).

Ниже пример реализации React-компонента, который принимает массив команд и пользователей, сопоставляет участников по ID и выводит карточки с участниками:

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

Реализуйте функцию mapper, которая принимает данные (source), поля (fields), фильтр (filter) и сортировку (order). Необходимо: валидировать параметры (fields должен быть массивом, source/filter/order — функциями, поля из fields должны присутствовать в данных), получить данные через вызов source(), отфильтровать через filter, отсортировать через order и вернуть только запрошенные поля из fields.

javascript function mapper({ source, fields, filter, order }) { // Валидация параметров if (!

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

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

Для решения задачи с ограничением количества одновременных fetch-запросов можно использовать очередь и контролировать количество активных промисов. Ниже пример реализации на JavaScript с использованием async/await:

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

Напишите функцию sleep, которая возвращает Promise и завершается через заданное количество миллисекунд.

Функция sleep должна возвращать Promise, который разрешится через заданное количество миллисекунд. Вот пример реализации:

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

Посмотрите на функцию makeBook. Определите, что выведется в консоли на строках 20-21 (две закомментированные строки). Объясните поведение функции.

Без полного кода функции makeBook сложно дать точный ответ, но обычно в подобных вопросах речь идёт о поведении замыканий, областей видимости или особенностях работы с объектами в JavaScript.

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

Есть input, куда пользователь вводит значение. Нужно, чтобы при перезагрузке страницы введённое значение сохранялось в этом input. Опишите решение и напишите код с использованием localStorage.

Используя JSON.stringify() для сериализации объекта в строку перед сохранением и JSON.parse() для десериализации строки обратно в объект при получении.

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

Задача: что выведет консоль? (код с var в цикле for и массивом functions)

Если метод getMultiSum реализован через обычную function, а не стрелочную, то внутри него this не будет ссылаться на экземпляр класса, а будет либо undefined (в строгом режиме), либо глобальным объектом (в нестрогом).

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

Практическая задача: реализовать аналог метода Array.flat(), но для объектов (рекурсивное выравнивание вложенного объекта).

Для реализации аналога Array.flat(), но для объектов, нужно рекурсивно пройти по всем вложенным объектам и "вытянуть" их свойства в один плоский объект с ключами, отражающими путь к значению.

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

Задача на React: реализуйте компонент поиска вхождений подстроки в тексте. Требования: загрузка текста с API при первом рендере, индикация загрузки, обработка ошибок, поиск вхождений без учёта регистра, подсветка найденных вхождений, отображение общего количества вхождений, кнопка загрузки дополнительного текста.

jsx import React, { useState, useEffect } from 'react';

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

Реализуйте функцию asyncFilter, которая принимает массив чисел и асинхронную функцию-предикат, и возвращает отфильтрованный массив. Например, на входе [1, 2, 3] и функция, оставляющая нечётные числа, на выходе должно быть [1, 3].

Функция asyncFilter должна последовательно или параллельно применять асинхронный предикат к каждому элементу массива и возвращать новый массив с элементами, для которых предикат вернул true.

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

Исправьте ошибку потери контекста `this` при передаче метода в `reduce`: что выведет код и как исправить его поведение? Какие ещё есть способы сохранить контекст `this`?

Потеря контекста this в методе getMultiSum обычно происходит, когда метод передается как callback или вызывается вне объекта. Чтобы исправить это, можно использовать несколько подходов:

Читать ответ