Как можете да разберете дали има проблеми с формуляра в продукция, ако той спре да работи (например, не завършва регистрацията)?
Frontend
Метриката TTFB (Time To First Byte) — как може да се понижи при SSR, каква е природата на спадовете и как може да се подобри? Опишете какво се случва от момента, в който натискате Enter до появата на нещо на екрана.
функция promiseWithResolve() { // Не е реализирана } const { resolve, promise } = promiseWithResolve(); promise.then((v) => console.log(v)) setTimeout(() => resolve(13), 10)
Реализирайте функцията callLimit, която ограничава броя на извикванията на предадената функция до зададен лимит, и също така предоставя метода reset за нулиране на брояча.
Трябва да напишете функция sum, която при извикване с аргумент натрупва число, а при извикване без аргумент връща натрупаното число. Например: sum(2)(1)(2)() трябва да върне 5.
Представете си ситуация: малко преди пускането откривате грешка, поради която функцията работи неправилно. Пускането не може да бъде отложено, но разбирате, че нещо работи неправилно. Какво бихте направили в такава ситуация?
Потребителят натисна бутона, дойде голям масив от данни от бекенда и екранът замръзна. Какво може да е причинило това и как да решите проблема?
Реализирайте типизация в TypeScript за валидиране на URL, за да се разрешават само коректни URL от вида: основен домейн + път (users/orders/messages) + метод (get/update/delete/ban). Произволни низове трябва да предизвикат грешка при компилация.
Да предположим, че имаме онлайн магазин, където списъкът с продукти се показва по 50 броя на страница, с пагинация. Когато потребителят премине към втората страница, особено на телефона, дълго време вместо изображения се показват бели квадрати. Как да направим така, че изображенията да се появяват по-бързо?
Работил ли си с CI/CD, може би си създавал Docker контейнери или си настройвал пайплайни?
export function foo(o, arr) { return arr.reduce((a, x) => { // ако (o.hasOwnProperty(x)) a[x] = o[x]; if (o[x]) a[x] = o[x]; return a; }, {}); } const obj = {a: 's'} foo(obj, ['a'])
Уверете се, че компонентът UserName показва новото име на потребителя след успешно изпращане на формуляра.
Да предположим, че виждаме, че стиловете се зареждат бавно всеки път, когато потребител влезе в сайта или обнови страницата. Направа на критично CSS е трудно. Какво трябва да проверим конкретно по отношение на CSS и изобщо по всякакъв статичен контент?
Разберете какво прави този код и как може да бъде използван. Има подобен помощник в lodash — ако го разпознаете, можете просто да посочите името му.
Как да получите данни от API вътре в thunk, като се има предвид, че API се предава като допълнителен аргумент в middleware-то на thunk?
Работили ли сте с SSR? Какво правехте — SSR, SSG или просто използвахте Next.js?
Потребител се оплаква, че бутонът понякога не реагира, но локално проблемът не се възпроизвежда. Какви са вашите стъпки за отстраняване на грешки? Какви могат да бъдат причините?
Какво може да блокира процеса на парсване на HTML?
Отговорът на API може да съдържа грешка, която трябва да се показва на потребителя до съответното поле.
Чували ли сте за Web Vitals и по-специално за метриката FCP? Разкажете какво знаете за метриките Web Vitals.