Питання на співбесіді з Angular (Senior) з відповідями
75 запитань для співбесіди з теми Angular (Senior) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Як Zone.js повідомляє Angular, коли запускати change detection?
- 2.Навіщо в застосунку на Zone.js викликати
NgZone.runOutsideAngular()? - 3.Як увімкнути zoneless change detection?
- 4.Що з переліченого в zoneless-застосунку НЕ запускає change detection?
- 5.Який стиль компонентів уже сумісний із zoneless change detection?
- 6.Як change detection за замовчуванням обходить дерево компонентів?
- 7.Що означає «glitch-free» для сигналів Angular?
- 8.Що не так із цим ефектом?
- 9.Коли варто передати сигналу власну функцію
equal? - 10.Що дає
httpResource(resource API)? - 11.Як виконати очищення всередині
effectперед його перезапуском чи знищенням? - 12.Коли RxJS досі підходить краще за сигнали?
- 13.Коли може знадобитися
ChangeDetectorRef.detach()? - 14.В OnPush-батька є OnPush-нащадок, який читає сигнал у шаблоні. Сигнал змінюється. Що оновиться?
- 15.Чому гетери й методи в шаблонах - часта проблема продуктивності?
- 16.У якому порядку Angular розв'язує
inject(Token)у компоненті? - 17.Для чого потрібен
runInInjectionContext? - 18.Рекурсивному компоненту вузла дерева потрібен батьківський вузол. Яка опція впровадження підходить?
- 19.Як завантажити конфігурацію до рендера застосунку?
- 20.Чим відрізняються
providersіviewProvidersу компоненті? - 21.Навіщо використовувати абстрактний клас як DI-токен?
- 22.Що робить гідратація в SSR-застосунку Angular?
- 23.Що часто ламає гідратацію з помилкою невідповідності?
- 24.Яку проблему розв'язує
withEventReplay()? - 25.Що додає інкрементальна гідратація?
- 26.Чому клієнт не повторює запити до API, зроблені під час SSR?
- 27.Як безпечно використовувати браузерні API (
window,localStorage) у SSR-застосунку? - 28.Що робить атрибут
priorityуNgOptimizedImage? - 29.Як попередньо завантажити ліниві маршрути після завантаження першої сторінки?
- 30.Що таке budgets в
angular.json? - 31.Чому компонент всередині
@deferусе одно може потрапити в основний бандл? - 32.Який інструмент показує, які компоненти перевіряються й скільки триває change detection?
- 33.Що Angular робить зі значенням, прив'язаним до
[innerHTML]? - 34.Коли
DomSanitizer.bypassSecurityTrustHtml()небезпечний? - 35.Як
HttpClientдопомагає захиститися від CSRF? - 36.Як рухаються дані в NgRx Store?
- 37.Чому селектори NgRx, створені через
createSelector, мемоізовані? - 38.Що таке ефект NgRx?
- 39.Що таке NgRx SignalStore?
- 40.Коли достатньо звичайного сервісу із сигналами замість бібліотеки стану?
- 41.Як зазвичай будують мікрофронтенди на Angular?
- 42.Що робить
ng update @angular/core @angular/cli, крім підвищення версій? - 43.Як централізовано надсилати необроблені помилки в застосунку Angular?
- 44.Що таке Angular Elements?
- 45.Який головний компроміс вбудованої i18n Angular (
@angular/localize)? - 46.Для чого потрібні component harnesses?
- 47.Чому цей тест не підміняє сервіс, який використовує компонент?
- 48.Як протестувати guards і компоненти маршрутів разом?
- 49.Чому вкладені виклики
subscribeвважаються антипатерном? - 50.Чим холодний Observable відрізняється від гарячого?
- 51.Чому
takeUntilDestroyed()кидає помилку, коли його викликають в обробнику кліку? - 52.Чим небезпечний
shareReplay(1)безrefCount: trueна довгоживучому джерелі? - 53.У якому порядку функціональні інтерсептори обробляють запит і відповідь?
- 54.Як налаштувати рендеринг за маршрутами (SSR, пререндер, лише клієнт) в Angular SSR?
- 55.Як SSR-коду прочитати вхідний HTTP-запит (наприклад, cookie)?
- 56.Як змусити SSR дочекатися асинхронної роботи, що не є HTTP-запитом (наприклад, ініціалізації за таймером)?
- 57.Коли
ngSkipHydrationна компоненті - розумний обхідний шлях? - 58.Як використовувати CSP nonce з вбудованими стилями Angular?
- 59.Чим допомагає підтримка Trusted Types в Angular?
- 60.Що дає
createEntityAdapterз@ngrx/entity? - 61.Що додає
createFeatureу NgRx? - 62.Що таке Signal Forms в останніх версіях Angular?
- 63.Навіщо може знадобитися власний
RouteReuseStrategy? - 64.Як показати глобальний індикатор прогресу, поки завантажується лінивий маршрут?
- 65.У чому головна перевага
inject()над параметрами конструктора в базових класах? - 66.Що означає
providedIn: 'platform'? - 67.Де в Angular SSR зазвичай стається витік даних користувачів між запитами?
- 68.Коли
effectкращий заcomputed, а коли це поганий знак? - 69.Чому зміна властивості об'єкта всередині сигналу не оновлює представлення?
- 70.Як з'ясувати, які залежності роздувають основний бандл?
- 71.Як не допустити у великій Angular-кодовій базі циклічних імпортів чи імпортів «не в той бік» між фічами?
- 72.Чому template-driven форми гірше масштабуються, ніж реактивні, на складних екранах?
- 73.Що робить
@defer (hydrate on interaction)під час інкрементальної гідратації? - 74.Чому частий обробник
mousemoveшкодить застосунку на зонах, але менше - zoneless-застосунку? - 75.Як влаштувати ефекти NgRx, що обробляють багато одночасних запитів до одного ендпоінта?