Кандидат сам выбирает задачи которые он хочет решить и по итогу решенных задач будет выставлен итоговый балл.
Напишите функцию fetchSequentially, которая принимает массив URL и возвращает массив результатов в том же порядке, что и URL. Используйте цепочку промисов для последовательного выполнения запросов. Напишите тесты, проверяющие порядок и корректность результатов.
Реализуйте метод myFlat для массивов, который работает аналогично Array.prototype.flat. Метод должен поддерживать любую вложенность, сделать никак прототип, а прсото функцию.
Создайте объект calculator с методами add, subtract, multiply, divide. Напишите функцию executeOperation, которая принимает метод calculator и выполняет его с правильным контекстом. Также результат математических операций должен накапливаться в объекте calculator и в конце цепочки рассчетов должен быть выведен правильный результат.
Напишите код, который демонстрирует разницу между var и let в циклах и блочной области видимости. Напишите тесты, которые показывают, как переменные ведут себя в разных контекстах.
Реализуйте метод myForEach для массивов, который работает аналогично Array.prototype.forEach. Напишите тесты, проверяющие корректность выполнения колбэка для каждого элемента массива.
Напишите функцию calculate, которая принимает массив чисел и колбэк, применяющий математическую операцию к каждому элементу. Напишите тесты, проверяющие работу функции с разными операциями (например, возведение в квадрат, вычисление факториала).
Реализуйте простой EventBus, который поддерживает методы on, off и emit. Метод on регистрирует обработчик события, off удаляет его, а emit вызывает все обработчики для указанного события. Напишите тесты, проверяющие корректность работы всех методов.
Напишите функцию maxSumSubarray, которая принимает массив чисел и число k. Функция должна возвращать максимальную сумму подмассива длиной k.
Напишите функцию reverseLinkedList, которая принимает односвязный список и возвращает его в обратном порядке.
Не используя рекурсию, напишите функцию breadthFirstTraversal, которая принимает дерево и возвращает массив значений в порядке обхода в ширину.