Frontend
Въз основа на изискванията за новия проект (независимост от рамката, отделно внедряване на модулите, удобство при разработка в един репозиторий), какви въпроси бихте задали и каква архитектура бихте избрали?
Настройвали ли сте някога лентър с оглед на типизацията на TypeScript?
За какво е необходим атрибутът key при рендериране на списъци? Може ли да се използва индексът на масива като ключ?
Как беше организиран екипът и как бяха настроени процесите?
Какво е значението на границите за грешки в React?
Какви инструменти за изграждане са използвани? Какви са предимствата и недостатъците на Webpack и Vite?
Какво ви привлече в нашата обява? Защо решихте да кандидатствате?
Какви видове JOIN съществуват в релационните системи за управление на бази данни?
Каква е разликата между computed и watch?
Задача: реализирайте клас с методи subscribe, unsubscribe и next (патърн Observer/наблюдател). Всички методи трябва да бъдат строго типизирани в TypeScript. Методът subscribe трябва да връща функция за отписване.
Написвали ли сте единични тестове и E2E тестове? Как избирахте елементите в тестовете, познавате ли патърна Page Object?
Какво е unknown? В какво е по-добър от any?
Какво бихте искали да правите в бъдеще?
Как да поправите загубата на реактивност при деструктуриране на props? Разкажете за toRef/toRefs.
В кода функцията мутирa масива и връща неговата дължина вместо самия масив — как да го поправим правилно?
Ако и двата блока са абсолютни, кой ще бъде показан върху другия и защо?
/** * Реализирайте функцията sumPromises, която приема * обещания като аргументи и връща сумата * на резултатите им. * * Функцията може да приема всякакъв брой аргументи. * Може да използвате всяко API за обещания. */ // Пример за използване const promise1 = Promise.resolve(1); const promise2 = Promise.resolve(2); sumPromises(promise1, promise2).then(console.log); // 3
Каква е разликата между Type и Interface в TypeScript?
Има задача да преместите елемент на страницата. Два начина: чрез position + left/top или чрез transform. Кой метод е по-предпочитан и защо?
Реализирайте собствен Event Emitter с методи за абониране, отписване и генериране на събития (on, off, emit). Запазете обработчиците на събития, проверете работата им с тестови данни и поддържайте веригови извиквания на методи.