Frontend
Какие типы данных существуют в JavaScript? Чем примитивы отличаются от объектов? Как они хранятся в памяти?
Какие ещё React-хуки знаете? Расскажите про useRef, useReducer, useCallback, useMemo, useContext.
Что такое localStorage, sessionStorage и cookies? Чем они отличаются друг от друга?
Что для вас хорошая команда?
В чём разница между статическим и динамическим IP-адресом?
Расскажите о вашем текущем проекте и причинах поиска новой работы
Ты когда-нибудь предлагал что-то по собственной инициативе для улучшения проекта?
Как работают сессии и авторизация? Как после логина все последующие запросы не требуют повторной авторизации?
HTTP — это протокол какого уровня модели OSI? Что находится под ним?
Расскажи про критические этапы рендеринга браузера
Парсинг HTML и CSS происходит последовательно или параллельно?
Как на стороне фронтенда реализована интеграция с WebSocket-протоколом?
Как сделать глубокое копирование объекта? Расскажи про structured clone, JSON.stringify, lodash cloneDeep — в чём отличия?
During the month of May, crabs arrive on Delaware's beaches to lay eggs. Certain shorebirds depend on these eggs for food during their annual spring migration to their northern breeding grounds. Delaware's crab population has declined recently. This decline, however, poses no serious threat to the migrating shorebird populations: by remaining longer in Delaware, the birds will be able to eat enough crab eggs to allow them to complete their migration. Which of the following, if true, most seriously weakens the argument? - No other food available to the birds on Delaware's beaches is as nutritious and accessible as are crab eggs. - The decline in the number of crabs on Delaware's beaches is due to the harvesting of crabs by humans. - There are more crabs on Delaware's beaches than in any other area that the migrating birds pass through. - The crabs do not conceal their eggs. - The earlier in the season the shorebirds complete their migration, the more likely they are to breed successfully.
В прототипе рекламной сети продажа рекламных мест устроена следующим образом: покупатели заранее называют свою цену, а на каждое рекламное место отвечают, готовы они его купить или нет. Необходимо реализовать функцию, которая перед продажей рекламного места будет ожидать согласия или отказа от покупателей с высокой ценой ставки, а затем продаст рекламное место покупателю с самой высокой ценой среди тех, кто согласился на покупку. Вернуть ответ из функции нужно настолько быстро, насколько это возможно. Нужно вернуть индекс покупателя. Примеры: Покупатели предлагают цену 1, 5, 10 Покупатель с предложением 10 ответил отказом Покупатель с предложением 1 ответил согласием // Всё ещё ждём, поскольку может ответить покупатель с ценой 5 Покупатель с предложением 5 ответил согласием // Выбираем покупателя с предложением 5 ------------ Покупатели предлагают цену 1, 5, 10 Покупатель с предложением 10 ответил отказом Покупатель с предложением 5 ответил согласием // Не ждём ответа от покупателя с предложением 1 - его точно не выберем ------------ Покупатели предлагают цену 1, 2 Покупатель с предложением 1 ответил отказом Покупатель с предложением 2 ответил отказом // Не выбираем ни одного покупателя type Buyer = { price: number, accepts: () => Promise<boolean>, } async function bestBuyer(buyers) { const sorted = buyers.map((buyer, index) => ({buyer, index})) .sort((a, b) => a.buyer.price - b.buyer.price); const promise = sorted.map(({buyer}) => buyer.accepts()); for (let i = 0; i < sorted.length; i++) { const accepted = await promise[i]; if (accepted) { return sorted[i].index; } } if (await buyers[0].accepts()) { return 0; } return -1; }
Как вы понимали, что продукт работает плохо? Как собирали информацию об ошибках, как обрабатывали обращения пользователей?
С чем бы ты хотел поделиться из своего опыта? Какие-то значимые события, значимые успехи, о которых хочется рассказать, или наоборот какие-то фейлы?
Был ли опыт трассировки сквозных запросов?
Tell me about your current position and tech stack.
Explain the behavior of the following JavaScript Promise code and what will be logged to the console: ```javascript let promise = new Promise((resolve, reject) => { resolve("ok"); }) promise .then(result => `${result} one`) .then(result => `${result} two`) .then(result => {return new Error('error')}) .finally((result) => console.log('finally', result)) .catch(err => console.error(err.message)) ```