Frontend
Лайв-кодинг: открой предоставленный код и найди все баги, визуальные ошибки и недочёты (неиспользуемые переменные, проблемы с useCallback, useEffect зависимостями, useMemo и т.д.).
// Необходимо вынести логику перерендерa в отдельный внешний хук, // который дает возможность из вне работать с таймером (например остановить через 10 секунд). // Нужно сделать новый компонент RandOnce на основе компонента Rand, // который при использовании в App // не будет обновлять случайное число каждые 3 секунды, а выведет случайно число только 1 раз.
Расскажите о вашем рабочем процессе: как вы работаете с задачами от получения до деплоя?
async function f(result = 1) { let promiseB = new Promise(resolve => { setTimeout(() => resolve("1e"), 200) }); let promiseA = new Promise(resolve => { setTimeout(() => resolve("ab"), 1000) }); result += await promiseA; result += await promiseB; alert(result); // ? } f(null);
Задача на React: реализуйте компонент поиска вхождений подстроки в тексте. Требования: загрузка текста с API при первом рендере, индикация загрузки, обработка ошибок, поиск вхождений без учёта регистра, подсветка найденных вхождений, отображение общего количества вхождений, кнопка загрузки дополнительного текста.
Расскажи про типы данных в TypeScript, утилити типы, отличие типов от интерфейсов, наследование в них.
Какие у тебя есть вопросы по компании и команде? Из кого будет состоять команда?
Что такое доступность (accessibility) в вебе? Какие атрибуты и HTML-элементы используются для обеспечения доступности?
Что можно передавать в GET-запросе?
Расскажи про CSS-свойство position: какие значения бывают и какие у них особенности?
С какой графикой вы работали?
Что вывело вас на рынок и что сподвигло рассматривать новые предложения?
Расскажи о себе
Как решить проблему с trackBy, если в массиве есть дублирующиеся значения и нет уникального идентификатора?
Какие задачи тебе комфортнее: с подробным описанием или абстрактные?
Что такое React.memo? Можно ли обернуть всё приложение в memo? Почему плохо использовать мемоизацию повсеместно?
Можешь привести пример, когда можно использовать uncontrolled input вместо controlled?
В чём преимущества и недостатки микрофронтендов?
Задача: реализовать класс с методами subscribe, unsubscribe и next (паттерн Observer/Наблюдатель). Все методы должны быть строго типизированы на TypeScript. Метод subscribe должен возвращать функцию для отписки.
Расскажите про HTTP протоколы и методы, которые используются.