AI
prepair.app
Пройти интервью →
EnglishРусскийУкраїнська
🅰️

Junior Angular Frontendвопросы на собеседовании Angular

Junior · без опыта / до 1 года

Собеседование Angular охватывает внедрение зависимостей, RxJS, change detection и TypeScript — фреймворк строгий, поэтому вопросы проверяют, понимаете ли вы его механику. Ниже — самые частые с эталонными ответами. Junior: базовая теория, определения и простые практические кейсы.

Темы для подготовки

Dependency Injection
RxJS и Observables
Change Detection
Модули и компоненты
Реактивные формы
TypeScript

6 вопросов уровня Junior с ответами

1

Как работает Dependency Injection в Angular? Что такое провайдеры?

Ответ

В Angular иерархическое дерево инжекторов: запрос зависимости поднимается от инжектора компонента к корневому. Провайдер объясняет инжектору, как создать токен — через useClass, useValue, useFactory или useExisting. Регистрация сервиса в root даёт синглтон на всё приложение; регистрация на компоненте создаёт новый экземпляр на каждый экземпляр компонента, и именно так состояние ограничивают рамками фичи.

2

В чём разница между Observable и Promise?

Ответ

Promise — это одно будущее значение, которое начинает выполняться немедленно и не может быть отменено. Observable — поток из нуля или более значений, ленивый до подписки, отменяемый через отписку и преобразуемый операторами вроде debounce, retry или switchMap. Для HTTP-запросов практическая выгода в отмене: подсказка в поиске может отбросить предыдущий запрос, пока пользователь продолжает печатать.

3

Объясните change detection. Чем OnPush отличается от Default?

Ответ

Change detection обходит дерево компонентов после событий, таймеров или HTTP-ответов и перерисовывает изменившиеся привязки. Default проверяет каждый компонент на каждом цикле. OnPush проверяет компонент только когда изменилась ссылка во входном свойстве, внутри произошло событие или async pipe выдал значение — поэтому OnPush требует иммутабельных данных: изменение объекта на месте не меняет ссылку, и представление не обновится.

4

Что такое map, switchMap и mergeMap? В чём разница?

Ответ

map преобразует каждое пришедшее значение. switchMap и mergeMap разворачивают вложенный observable: switchMap отменяет предыдущую внутреннюю подписку при приходе нового значения, mergeMap выполняет все параллельно. switchMap берут для поиска или навигации, где важен только последний результат, mergeMap — когда каждый запрос обязан завершиться, а concatMap — когда важен порядок.

5

Что такое ngOnInit и чем он отличается от конструктора?

Ответ

Конструктор выполняется при создании экземпляра класса, до того как Angular заполнил входные привязки, поэтому там входные свойства ещё undefined. ngOnInit выполняется после первого прохода привязок, и именно туда относится инициализация, зависящая от входов. По соглашению конструктор только принимает внедрённые зависимости, а реальную подготовку делает ngOnInit.

6

В чём разница между template-driven и reactive формами?

Ответ

Template-driven формы строят модель неявно из директив в шаблоне и подходят для простых случаев. Reactive формы описывают FormGroup в классе компонента, благодаря чему валидация, динамические контролы и тестирование становятся явными и типобезопасными. Reactive рекомендуют по умолчанию для всего сложнее формы логина, потому что состояние формы живёт в коде, где о нём можно рассуждать.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Junior Angular Frontend →
Бесплатно · 3 интервью в месяц

Другие уровни — Angular Frontend

Middle Angular FrontendSenior Angular FrontendВсе вопросы Angular Frontend

Другие специализации

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend⚛️Junior React Frontend💚Junior Vue FrontendJunior Next.js