Frontend
Расскажите про последнее место работы: опыт, стек, яркие моменты и проекты.
Опишите структуру системного дизайна: клиент, DNS, серверы, load balancer, база данных, S3-хранилище, CDN, кэширование (Redis).
[имя] расскажите про проекты в [организация]. Как замеряли количество пользователей, кто они были, как измеряли их удовлетворённость продуктами?
Есть родительский элемент и дочерний с position: absolute. Как это влияет на родителя?
Что произойдёт при ошибке в одном из запросов в for...of с await? Как обработать ошибки не останавливая цикл?
Как реализовать клавиатурную навигацию (стрелки вверх/вниз) в виртуализированном списке с использованием @tanstack/virtual?
Как соединить виртуализацию с поиском и фильтрацией данных?
Как оптимизировать написанный скрипт для production?
Можно ли использовать библиотеку для виртуального скролла? Как реализовать виртуализацию через @tanstack/virtual?
Практическое задание: реализовать логику разблокировки кнопок после прокрутки контейнера до конца (JavaScript).
Что больше всего нравилось в текущей работе?
Практическое задание: сделать скролл внутри контейнера (article), а не на body. Кнопки прибить к низу контейнера (sticky). Скрыть scrollbar стилями.
Как можно оптимизировать рендеринг списка из 10 000 элементов без пагинации?
Реализуй функцию fetchAll, которая принимает массив URL и fetcher, и возвращает массив результатов. Как сделать параллельные и последовательные запросы?
Что такое область видимости и лексическое окружение в JavaScript? Чем отличается var от let/const?
Какие способы объявления функций существуют в JavaScript? Чем отличается function declaration от function expression? Чем стрелочная функция отличается от function declaration?
Задача 1 У нас есть массив из 10 000 объектов (например, «Сотрудники» или «Товары»). Нам нужно реализовать компонент для выбора элемента, который не «повесит» браузер и будет удобен пользователю. Что нужно реализовать (Требования) 1. Типизация данных: Создать интерфейс Item с полями id: string, label: string и category: string. 2. Поиск (Input): При вводе текста список должен фильтроваться. 3. Работа с DOM и событиями (Keyboard Navigation): * Пользователь должен иметь возможность перемещаться по списку стрелками Up и Down. 4. При нажатии Enter выбранный элемент «подтверждается». 5. Важный нюанс: Выбранный стрелками элемент должен всегда быть в поле видимости (нужно программно скроллить контейнер, если курсор уходит за границы). 6. Оптимизация (Performance): * Поскольку данных много (10k), обсудить или реализовать простую «ленивую отрисовку» (рендерить только первые 20-30 элементов или использовать IntersectionObserver). Вывод компонента
Какие минимальные зарплатные пожелания? Какая была сумма на последнем месте работы?
Можно ли использовать индекс массива как key в React? Почему не рекомендуется?
Реализуй функцию-счётчик с замыканием, где счётчик нельзя изменить извне.