Frontend
Разкажи ми за Event Loop: стек за извиквания, микротаски, макротаски.
Имате ли тестове — юнит тестове, e2e — в проекта?
Извършихте тест с хиляда връзки чрез WebSocket — как го тествахте, как премина тестът за натоварване?
Как да реализираме търсене по valueChanges на полето за въвеждане с заявка към бекенда: кои RxJS оператори да използваме и защо?
Как работи маршрутизирането в Next.js?
Какво е Composable в Nuxt/Vue? Можеш ли да дадеш пример?
Има ли начин да обработите формата без стандартното изпращане? Как да изпратите форма чрез JavaScript?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(() => someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)) } return ( <> <button onClick={onClick}> Увеличи </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />; --- Дясната страна обсъжда: - Използване на TypeScript с генерични типове: "<T extends object, K extends keyof T>" - Проверка дали данните са низ с помощта на типова защита: "isString(data: unknown): data is string { ... }" - Използване на useState с функция, за да се избегне повторното изпълнение при всеки рендер: ``` const [state, setState] = useState(getComplexData); // или const [state, setState] = useState(() => getComplexData()); ``` - Функцията, предадена на useState, ще се изпълни само веднъж при монтиране на компонента. - Предупреждение за директна мутация на състоянието на ред 11 с prev.concat. --- Техническата задача е да се анализира и евентуално да се поправи или оптимизира React компонентният код, като се фокусира върху: - Правилната ленивата инициализация на състоянието с useState. - Избягване на директна мутация на състоянието. - Разбиране на генериците на TypeScript и тип защитниците. - Осигуряване, че компонентът актуализира състоянието правилно при кликване на бутона.
Какви са начините за обявяване на променливи в JavaScript: var, let, const? Какви са разликите?
Обяснете концепцията за лениво зареждане в React и как може да подобри производителността на приложението.
Разкажи за своя релевантен опит в работата.
Разкажете за най-критичните грешки през последната година или две. Какво се случи и как бяха поправени?
[име] попита: задача: има input на страницата. Напишете код, който позволява запазването на въведеният стойност в localStorage, така че след презареждане на страницата стойността да се възстанови.
Какво ще се случи, ако в useEffect без масив с зависимости извикате setState?
Как се отнасяш към работата в офиса? Имаш ли опит в работата в офис?
Какво ще се покаже в конзолата и защо?
С кои държавни мениджъри сте работили и какво ви харесва, какви плюсове и минуси виждате?
Какви са вашите бъдещи професионални планове за следващите няколко години? Няма ли да стане скучно без React?
Къде може да се съхранява състоянието във Vue? В кои случаи е по-добре да използвате Pinia/Vuex, а в кои provide/inject?
За какво са нужни useMemo и useCallback? Винаги ли е рационално да ги използваме?