Пристига масив от 2 милиона елемента, всеки елемент трябва да бъде обработен за 100 милисекунди. Взаимодействието със сървъра не може да бъде променяно. Как да обработите този масив, за да не блокира потребителския интерфейс?
Frontend
Как реагирате на критиката по време на преглед на код?
console.log(foo); var foo = 1; console.log(foo); let foo = 2; console.log(foo); const foo = 3; console.log(foo);
Имали ли сте опит с Legacy код?
Уточнете: преместването беше от JS/JSVue към React и TypeScript, и сега се планира преместване към микрофронтендове?
Представете си ситуация: нашата производителност намалява поради проблем в JS кода. Какво ще проверите в профайлъра на DevTools, за да потвърдите или опровергаете тази хипотеза?
В функцията requestUserData три заявки се изпълняват последователно. Защо не можем просто да обвием всички три в Promise.all? Как да оптимизираме тази функция, за да изпълним заявките за минимално време?
Какво е SSR (Сървърна страна рендиране)? Защо да го използваме и какво е важно да имаме предвид при превода на приложение към SSR?
Защо не се препоръчва съхраняването на чувствителни данни в localStorage?
Защо не е препоръчително да правите всеки компонент на приложението отделен чанк чрез React.lazy? Какви проблеми може да създаде това (с рендиране, мрежа, размера на бандъла)?
let a = 5; setTimeout(function timeout() { //macro console.log(a); a = 10; }, 0); let p = Promise.resolve().then(data => { console.log(a); a = 25; resolve(); }).then() console.log(a); // 5 25 25
Имали ли сте опит с писане на тестове?
Има React приложение, създадено в един единствен чанък. Как да го разделим на няколко чанка и по какъв принцип да го правим?
Разкажи ми за Event Loop в JavaScript.