Уточнение: приложението беше десктоп в браузъра или нативно?
Frontend
Разкажи за последния ти проект: с какво се занимаваше, какви бяха ключовите постижения и твоя принос?
На кои части може да се раздели HTTP заявката?
Как работи вътрешно една хеш таблица (HashMap)?
Работили ли сте с WebSocket, Server-Sent Events, long polling? Разкажете за тях.
Какви други методи за HTTP заявки съществуват освен GET? Как се наричат?
Какви са недостатъците на FSD? Кога не бихте го внедрили?
Защо първо се изпълняват всички микрозадачи, а след това макрозадачите? Защо не обратното?
Знаеш ли за различните версии на протокола HTTP (HTTP/1, HTTP/2, HTTP/3)? В чем е разликата?
Бил ли си собственик на функции, проектирал ли си архитектурата на приложението и таблата — какво ти липсваше на текущото място?
Какво искаш от новата работа? От какво имаш нужда, за да се развиваш?
Относно последното ти място на работа, където работиш три и половина години, пише, че отговаряш за архитектурата на фронтенда и техническите решения. Това ли е формалната ти роля?
Какво не искаш в проекта?
Задача на JavaScript: определете реда на изход в конзолата за код, използващ setTimeout и Promise (микро и макро задачи).
Как измерихте ускоряването на onboarding на нови разработчици с 30-40%?
Каква е сложността (Big O) на метода unsubscribe във вашата реализация?
Знаеш ли патърна EventEmitter? Реализирай клас с методите subscribe, unsubscribe и fire.
Как точно подобриха производителността на тежките страници? Какво точно забавяше рендирането? Как измерваха — от 5 секунди до 150-250 милисекунди?
Какво се случва, когато хеш таблицата се запълни и вече не могат да се добавят нови елементи (rehashing)?
Пакетът беше 1,5 мегабайта, стана 700-800 килобайта. Точно как са намалили пакета? Как бихте започнали сега да оптимизирате пакет с размер 2 мегабайта?