Frontend
Знакомы ли вы с TBD (Trunk-based development)?
Был ли опыт с Node.js (фреймворки)?
Был ли опыт с AI-агентами? Каковы впечатления от работы с нейросетями?
Что для вас самое главное в организации работы и команды?
Как вы решаете технические разногласия в команде, когда мнения разработчиков расходятся?
Расскажите про самую сложную задачу, которую вы решили, и про задачу, с которой не вполне удалось справиться.
Расскажи о своём опыте работы. Как был организован процесс планирования задач?
Ты оценил задачу, взял её в работу и понимаешь, что оценил неправильно и не успеваешь. Что делаешь в этот момент?
У вас были тесты? Есть ли у тебя опыт написания автотестов (E2E)?
Какой был подход к написанию CSS? Знакома ли ты с подходом CSS-in-JS?
В каком порядке выведется console.log и почему? Объясни порядок выполнения синхронного и асинхронного кода (Event Loop, макро- и микрозадачи).
Какие есть способы обработать ошибку в Promise? Можно ли использовать конструкцию try/catch?
Как сделать так, чтобы конструкция try/catch заработала с Promise? Как сделать Promise синхронным через async/await?
function delayFunc(fn, delay) { return function c(...args) { return new Promise((resolve) => { setTimeout(() => { fn(...args) }, delay * 1000) }) } } function sum(a, b) { console.log(a + b) } const delayedSum = delayFunc(sum, 5); await delayedSum(3, 2); //спустя 5 секунд выведет 5 await delayedSum(5, 3); //спустя 5 секунд после предыдущего выведет 8
<div class="list"> <div class="item">1</div> <div class="item">2</div> ... <div class="item">N-1</div> <div class="item">N</div> </div>
Как у тебя дела с TypeScript? Есть тип Foo с полями a: string, b: number, c: null, d: boolean. Нужно сделать тип FooKeys на основе Foo, чтобы в нём были все ключи из Foo.
Чем ключевое слово type отличается от interface в TypeScript? Расскажи про наследование в типах и интерфейсах.
type Foo = { a: string; b: number; c: null; d: boolean; } // FooKeys type FooKeys = keyof Foo // Как объявить новый тип на основе FooKeys, но без значений b и d? type FooKeysWithoutBD
Как объявить новый тип на основе Foo, но без полей a и c, не используя Omit?
Есть функция foo, которая принимает аргументы типа any и возвращает их. Как сделать так, чтобы тип результата не был any, а соответствовал типу переданного аргумента? Используй Generic.