Frontend
Разкажи за най-интересната задача или най-интересната грешка на едно от последните ти две работни места.
А последният проект – колко разработчици общо имаше, какъв беше екипът, с когото трябваше да се комуникира?
С кои рамки или инструменти работите? Използвате ли AI инструменти в работата си?
Очаквания за заплата — 270 хиляди рубли?
Когато проектът се разраства и може да се отделят няколко бизнес същности (личен кабинет, профил, промоции), може ли да ги разделите на отделни репозитории и да ги свържете като микрофронтендове?
Каква е разликата между REST API и WebSocket?
Практическо задание: напишете функция, която приема число и връща Promise с резултата от проверката за четност/нечетност, а при грешка (не число) връща -1.
Уточнете: преместването беше от JS/JSVue към React и TypeScript, и сега се планира преместване към микрофронтендове?
Реализирайте функцията promisify: тя приема функция с callback error-first (loadScript) и връща нова функция, която приема всякакви аргументи, добавя callback error-first и обгръща извикването в Promise.
Какво е по-добре да използвате за съхраняване на данни по ключ: Map или обикновен обект? Какви са предимствата на Map?
Разкажи за променливите var, let, const: области на видимост, hoisting, временна мъртва зона.
Какво ще се случи с елементите на списъка, ако техните ключове (индекси) се променят?
Как да коригирате излишните повторни рендери, така че при кликване върху 'Rerender' да се рендерира само App, а при въвеждане на текст — само Parent (без Child)?
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
Какво може да се настрои в ESLint и кои плъгини или конфигурации се използват?
Ясно обяснение, Dmytro—добро използване на делегирането и проверките "най-близки"; потокът ви е лесен за следване. Когато казвате, че управлявате клавиатурата "по същия начин", можете ли да ми обясните точно кои клавиши поддържате и как предотвратявате фокусирането върху деактивирани връзки?
Споменахте разработването на библиотека с повторно използваеми компоненти UI-kit, базирана на Angular Material. Има ли принципна разлика между компонентите на библиотеката и обикновените многофункционални компоненти на приложението? От какво може да се откаже в обикновените компоненти, но не и в библиотечните?
Не знаеш в коя специалност е [име] — фронтенд, бекенд или DevOps — и каква е ролята му в компанията?
// Необходимо да реализирате метода groupBy, който разширява стандартните методи на масивите. // Методът трябва да връща групирана версия на масива — обект, // в който ключовете са резултатите от извикването на функцията fn(arr[i]) за всеки елемент, // а стойностите са масиви, съдържащи всички елементи на оригиналния масив с този ключ. // код тук // Пример 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Пример 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Пример 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }
Може ли да се импортира от един ниво FSD в друго на същото ниво?