Frontend
Посочете детайлите, необходими за сглобяване на управляема машина от конструктор (нестандартен въпрос за системно мислене).
Кои utility типове в TypeScript знаеш?
Каква е разликата между Type и Interface в TypeScript?
Работил ли си с CI/CD, може би си създавал Docker контейнери или си настройвал пайплайни?
Какво означава, ако ref се нарича 'повърхностен' или 'висш' - който не следи обекта в дълбочина, само по горните му свойства? (въпрос за shallowRef)
Дадени са три нови типа. Трябва да се създаде нов тип въз основа на тях, който отговаря на условието (съдържа всички полета на дадените типове, тип-обединение). Какъв подход трябва да се използва?
Кой браузър обикновено причинява най-много проблеми при кросбраузърната разработка?
Какви опции има, за да не блокират скриптовете при рендиране на страницата?
Защо избрахте WebSocket? Има ли алтернативи?
Как се отнасяш към заявките вътре в компонентите?
Какъв е вашият стек — React, Next.js или нещо друго?
/* Три секции код са дадени. Трябва да напишете резултата от всяко console.log. */ var n = 1; function f(n) { n = 3; } f(n); console.log(n); // ?? // ---------------- var obj = { a: 1 }; function f1(o) { o.a = 5; } f1(obj); console.log(obj); // ?? // ---------------- var obj = { a: 1 }; function f2(o) { o = { hello: 1 }; } f2(obj);
Напишете персонализиран React hook useScreenWidth(targetWidth), който връща текущата ширина на екрана (screenWidth) и флаг isMobile (true, ако текущата ширина е по-малка от targetWidth). Hookът трябва да се актуализира при промяна на размера на прозореца.
Каква е разликата между методите some, find и includes?
Какво са Pick и Omit в TypeScript?
оставете i = 0; функция increment() { i++; console.log(i) } функция debounce(func, wait = 0) {} const debouncedIncrement = debounce(increment, 100); debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 1 setTimeout(debouncedIncrement, 150); // i = 2 setTimeout(debouncedIncrement, 200); // i = 2 setTimeout(debouncedIncrement, 350); // i = 3
Разкажи за най-интересната задача или най-интересната грешка на едно от последните ти две работни места.
Колко потребители ще имаме? Необходима ли е SEO-оптимизация? Необходима ли е локализация? Какви метрики трябва да събираме?
Какво може да блокира процеса на парсване на HTML?
Разкажете за Observable и Subject в RxJS — как се различават, какви видове Subject знаете?