Тех собес на middle-senior Frontend Разработчик в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований в категории Frontend Разработчик

Посмотреть видео в категории

(2025-01-30)

Coding Task (JavaScript)

const nominals = [10, 50, 100, 200, 500, 1000, 2000, 5000];

function atm(amount, nominals) {

}

console.log(atm(12830, nominals)); // ["5000x2", "2000x1", "500x1", "200x1", "100x1", "10x3"]

React Refactoring Task

Отрефакторить реакт компонент

Есть реализация компонента, от которого требуется 2 вещи:

  1. выводить текущее значение вертикального скролла окна (window.scrollY)
  2. после монтирования асинхронно получить число и вывести его

Нужно найти, объяснить и исправить как можно больше проблем в реализации

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

// имитация запроса к серверу. просто получаем число асинхронно
const fetchRandomNumber = () => Promise.resolve(Math.random());

const NumberAndScroll = () => {
    const [number, setNumber] = useState();
    const [scroll, setScroll] = useState();

    useEffect(async () => {

        const number = await fetchRandomNumber();
        setNumber(number);

        window.addEventListener('scroll', () => setScroll(window.scrollY));

        return () => window.removeEventListener('scroll', () => setScroll(window.scrollY));

    }, );

    return (
        <div>
            <div> Number: { number } </div>
            <div> Scroll: { scroll } </div>
        </div>
    )
}