Frontend
CSS задача: нарисувайте червен квадрат в центъра на екрана.
Има ли случаи, когато е трябвало да предадете функция, която не беше в задачата?
Нуждае ли се от отделна функция toggleLoading или може без нея?
Какво е requestAnimationFrame и какво гарантира?
В резюмето е написано, че си разработвал с Next.js — това правилно ли е? Това беше Next.js с App Router или Pages Router?
Къде минава границата между feature и entity? Кога поставяте бизнес логиката?
Ако нямаше NgRx, какво бихте използвали вместо него?
Разкажи ми за Teleport и Suspense във Vue.js: какви са, използвал ли си ги в работата си?
Опишете структурата на системния дизайн: клиент, DNS, сървъри, балансировач на натоварване, база данни, S3 хранилище, CDN, кеширане (Redis).
Какви проблеми решава dependency injection в Angular и какви предимства дава предоставянето на услуги на ниво приложение и компоненти?
Каква е разликата между interface и type в TypeScript?
В прототип на рекламна мрежа продажбата на рекламни места работи по следния начин: купувачите предварително посочват цената си, а за всяко рекламно място отговарят дали са готови да го купят или не. Необходимо е да се реализира функция, която преди продажбата на рекламното място ще изчака съгласието или отказа на купувачите с най-висока цена, а след това ще продаде рекламното място на купувача с най-висока цена сред тези, които са се съгласили. Отговорът на функцията трябва да бъде възможно най-бързо. Трябва да върнете индекса на купувача. Примери: Купувачите предлагат цени 1, 5, 10 Купувачът с предложение 10 отказа Купувачът с предложение 1 се съгласи // Все още чакаме, тъй като може да отговори купувачът с цена 5 Купувачът с предложение 5 се съгласи // Избираме купувача с предложение 5 ------------ Купувачите предлагат цени 1, 5, 10 Купувачът с предложение 10 отказа Купувачът с предложение 5 се съгласи // Не чакаме повече отговор от купувача с предложение 1 - той със сигурност няма да бъде избран ------------ Купувачите предлагат цени 1, 2 Купувачът с предложение 1 отказа Купувачът с предложение 2 отказа // Не избираме никого interface 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; }
Харесва ли ви оформлението? Имали ли сте опит с CSS Grid и Flexbox?
Технически — ти разгръщаш проекта от нулата и настройваш всичко сам?
Тествахте ли нещо на фронтенда?
Как работи enum в TypeScript — какво се случва с ключовете и стойностите, ако стойностите не са посочени или са посочени явно?
Какви проекти сте реализирали в [компания]?
Как да избегнем преливане на стек при обход на дърво? Как да реализираме итеративен обход чрез стек в JavaScript?
setTimeout(function timeout() { console.log('Таймаут'); }, 0); let p = new Promise(function(resolve, reject) { console.log('Създаване на обещание'); resolve(); }); p.then(function(){ console.log('Обработка на обещанието'); }); console.log('Край на скрипта'); // Усложнен случай // console.log(1); // setTimeout(() => console.log(2)); // Promise.resolve().then(() => console.log(3)); // Promise.resolve().then(() => setTimeout(() => console.log(4))); // Promise.resolve().then(() => console.log(5)); // setTimeout(() => console.log(6));
Какво мислиш за Pixel Perfect оформление?