Frontend
/* У нас есть набор билетов вида: [ { from: 'London', to: 'Moscow' }, { from: 'NY', to: 'London' }, { from: 'Moscow', to: 'SPb' }, ... ] Из этих билетов можно построить единственный, неразрывный маршрут. Петель и повторов в маршруте нет. Нужно написать программу, которая возвращает эти же объекты билетов в порядке следования по маршруту. */ function getRoute(tickets = [], startCity) { // your code here } console.clear() console.log(getRoute([ { from: 'London', to: 'Moscow' }, { from: 'NY', to: 'London' }, { from: 'Moscow', to: 'SPb' }, ], 'NY')); /* [ { from: 'NY', to: 'London' }, { from: 'London', to: 'Moscow' }, { from: 'Moscow', to: 'SPb' }, ] */
Насколько плотно работал с Next.js? Какими особенностями пользуешься?
Из этих билетов можно построить единственный, неразрывный маршрут. Петлей и повторов в маршруте нет. Нужно написать программу, которая возвращает эти же объекты билетов в порядке следования по маршруту. ```javascript function getRoute(tickets = []) { const cities = new Map(); for (const ticket of tickets) { cities.set(ticket.from, ticket); } const result = []; let currentCity = startcity; while (cities.has(currentCity)) { const next = cities.get(currentCity); result.push(next); currentCity = next.to; } return result; } console.clear() console.log(getRoute([ { from: 'London', to: 'Moscow' }, { from: 'NY', to: 'London' }, { from: 'Moscow', to: 'Spb' }, ])); ```
Как тебе подходит наш формат работы? Насколько он привлекателен?
// а каждое значение — массивом, содержащим все элементы исходного массива с этим ключом. // code here // Пример 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Пример 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String));
Виртуальный скролл вы реализовывали самостоятельно или использовали библиотеку?
Это был B2B или B2C сервис? Были ли метрики для отслеживания ошибок и пользовательского опыта?
Расскажи немного про предыдущий опыт, чем занималась на прошлой работе. Какие-то интересные кейсы или какова роль в команде была?
Расскажите про самые критичные баги за последние год-два. Что происходило и как их исправляли?
Как обрабатываешь ошибки в JavaScript? Какие подходы или инструменты используешь?
Использовали ли вы FSD (Feature-Sliced Design) на проекте? Как писали samples и подписки на события в Effector при использовании FSD?
Что такое reflow и repaint? Что такое forced reflow (принудительная перерисовка)? Как можно оптимизировать рендер, чтобы уменьшить количество принудительных перерисовок?
Как React работает под капотом? Объясните механизм reconciliation, Virtual DOM, Fiber-архитектуру и зачем нужны две фазы (render и commit).
От чего зависит IP-адрес устройства? Что такое белые и серые IP-адреса?
В резюме написано про адаптивный дизайн — в мобильных браузерах тоже использовалось приложение?
Task 2: Given multiple Todo interface declarations below, explain what happens when they are present in the same scope. Discuss how TypeScript treats them and fill in the `myTodo` object to satisfy the merged Todo interface requirements. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
Расскажи про CORS: что это такое, зачем нужен, какие задачи решает и как работает.
Как проходит онбординг и вливание в коллектив?
Что такое reflow и какие этапы рендеринга браузера ты знаешь (layout, paint, composite)?
Если у нас будет очень мощный сервер, нужен ли нам load balancer?