Frontend
Есть ли опыт с Redis?
Свои UI-киты и дизайн-систему приходилось разрабатывать?
Задача 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). Вывод компонента
type Foo = { a: string; b: number; c: null; d: boolean; } // FooKeys type FooKeys = keyof Foo // Как объявить новый тип на основе FooKeys, но без значений b и d? type FooKeysWithoutBD
Задача №6: что вернёт данный кусок кода (вызов стрелочной функции через оператор new)?
Классы в JavaScript — это синтаксический сахар над чем?
Нужны ли сейчас классовые компоненты в React? Есть ли что-то, что можно сделать в классовых компонентах, но нельзя в функциональных?
Какие типы данных вы знаете в JavaScript?
Async/await часто называют синтаксическим сахаром над промисами. Как вы понимаете это выражение? Что значит 'синтаксический сахар'?
Если объявить async-функцию и вызвать её без await, что она вернёт?
Задача на порядок вызова console.log: расставьте порядок вывода логов (часть 1 — синхронный код, часть 2 — с асинхронным кодом, промисами и setTimeout).
JavaScript — это многопоточный язык программирования?
Есть задача сдвинуть элемент на странице. Два способа: через position + left/top или через transform. Какой способ предпочтительнее и почему?
Реализуйте компонент для вывода списка команд с участниками. Приходит массив команд (с названием и списком user ID участников) и отдельный массив пользователей (с ID и именем). Нужно сопоставить команды с пользователями по user ID и вывести карточки команд с перечислением участников. Если участников нет — выводить 'нет участников', если user ID есть, но пользователь не найден в списке — выводить прочерк. Особенность: user ID может приходить в виде массива, числа, null или undefined.
Расскажи про SCSS миксины для медиа-запросов
Реализуй функцию fetchAll, которая принимает массив URL и fetcher, и возвращает массив результатов. Как сделать параллельные и последовательные запросы?
Как исправить задачу с var в цикле, кроме замены var на let?
Ты знаком с Next.js? В чём разница между SSR, SSG, ISR и CSR? Когда бы что использовал?
// Необходимо проверить решение задачи по двум сервисам, вызвав: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Если оба запроса вернули true - вывести в console.log() success // - Если хоть один вернул false - вывести в console.log() fail // - Если хоть один не ответил - вывести в console.log() error // - Если хоть один отвечает дольше 1 сек - вывести в console.log() timeout
Общее понимание JavaScript: передача параметров, асинхронность, прототипы, обработка ошибок