Вопросы по анимации
1. Как определяется переход между двумя состояниями в Angular?2. Что такое состояние wildcard?
3. Что такое триггер анимации?
Вопросы по архитектуре
1. Приведите хороший пример когда нужно использовать ngrx/store?2. Что такое "race condition" и какие баги могут быть связаны с этим? Как с ними справиться?
3. Разница между умным и презентационным компонентом? Приведите пример использования? Назовите преимущества?
4. Что такое Shared модуль?
5. Когда стоит строить архитектуру состояния приложения на Angular Signals, а когда лучше использовать NgRx/RxJS?
6. Как спроектировать слои приложения при использовании Signals для состояния?
7. Как мигрировать существующее приложение с @Input/@Output и RxJS к Signals, не переписывая всё сразу?
8. Какие анти‑паттерны при использовании Signals вы бы выделили?
Вопросы по API
1. Почему для доступа к элементам и манипуляции с ними лучше использовать renderer методы (а не доступ через нативный JS)?2. Как изменить размер элемента при изменении ширины окна?
3. Можете привести хороший пример использования NgZone сервиса?
4. Как защитить компонент от активации через роутер?
5. В чем разница между @ViewChild() и @ContentChild()?
6. Что такое Dependency Injection?
7. В чем разница между constructor и ngOnInit?
8. Что такое service-worker и его роль в Angular?
9. Что такое зона в zone.js?
10. Что такое Angular Signals и какие основные типы сигналов существуют?
11. Как использовать signals в компоненте вместо @Input / @Output?
12. Как сигналы используются в шаблоне и чем их чтение отличается от Observable?
13. В чем разница между сигналами и Observable с точки зрения change detection и производительности?
Вопросы по шаблонам (template)
1. Как при клике добавить класс "active" выбранному элементу списка?2. Что такое template variable? Как ее использовать?
3. Что случится если подписаться на поток данных несколько раз через async pipe?
4. В чем различия ng-content, ng-container и ng-template?
5. Когда мы байндим данные в шаблоне, мы работаем с атрибутами или с свойствами (property)?
6. Когда можно не использовать скобки при байндинге в шаблоне?
7. Как работает new if syntax?
Вопросы по компонентам
1. Какие минимальные требования к компоненту?2. В чем разница между компонентом и директивой?
3. Как происходит взаимодействие компонентов?
4. Как сделать двухстороннее связывание данных?
5. Как бы вы сделали компонент для показа сообщений об ошибках?
6. Что такое Lifecycle Hooks?
7. Что такое View Encapsulation?
8. Что такое динамические компоненты? 9. Что такое standalone компоненты?
Вопросы по взаимодействию компонентов и state management
1. Как передать данные из родительского компонента в дочерний?2. Как передать данные из дочернего компонента в родительский?
3. Какие компоненты будут оповещены о том, что был emit события?
4. Как кэшировать данные в Angular?
Вопросы по формам
1. Когда нужно использовать стандартные (template driven), а когда реактивные (reactive) формы?2. Как отправить форму?
3. В чем разница между NgForm, FormGroup, и FormControl?
4. В чем преимущество использования FormBuilder?
5. Как добавить валидацию к форме, сделанной с помощью FormBuilder?
6. В чем разница между состояниями dirty, touched и pristine?
7. Как получит доступ к ошибкам валидации, чтобы показать их в шаблоне?
Вопросы по ngModule
1. Зачем нужен NgModule?2. Когда нужно создавать новый NgModule?
3. В чем разница между методами forRoot() and forChild() и зачем они нужны?
4. Как используется свойство providedIn?
5. Что бы вы поместили в shared модуль?
6. Что бы вы не поместили в shared модуль?
7. В какой модуль вы бы поместили сервис которые используется по всему приложению?
8. Зачем нужны exports в NgModule?
9. Почему не стоит импортировать сервис из SharedModule в lazy loaded модуль?
Вопросы по RxJs
1. В чем разница между observable и promise?2. В чем разница между observable и subject?
3. Как кэшировать данные из observable?
4. Как с помощью rxjs реализовать несколько запросов к api, которые должны идти друг за другом?
5. В чем разница между switchMap, concatMap и mergeMap?
6. В чем разница между scan() и reduce()?
7. Что такое Subject?
8. В чем разница между BehaviorSubject, ReplySubject и AsyncSubject?
9. Что такое Observable высшего порядка (Higher-Order)?
10. В чем разница между of и from?
11. Что такое multicasting?
12. Что такое поток (stream) в RxJS?
13. В чем разница между операторами combineLatest и forkJoin?
14. Как обрабатывать ошибки в RxJS?
15. Как использовать оператор zip?
Вопросы по производительности
1. Что можно сделать, чтобы улучшить производительность приложения?2. Что такое и как работает ChangeDetection?
3. Что такое ChangeDetectionStrategy.onPush?
4. Что такое отключение Change Detection?
5. Что такое обнаружение локальных изменений (Local Change Detection)?
6. Что такое запуск вне Angular?
7. Как работает trackBy для директивы *ngFor?
8. Что такое Web Worker-ы?
9. Что такое Lazy Loading в Angular?
10. Какие бывают стратегии предварительной загрузки?
11. Что такое зона в zone.js?
Вопросы по пайпам
1. Что такое пайп в Angular?2. Что такое пайп async?
3. Какие данные могут быть использованы с async pipe?
4. Как сделать кастомный пайп?
5. Как async pipe предотвращает утечку памяти?
6. В чем разница между чистыми и нечистыми пайпами?
Вопросы по роутеру
1. В чем разница между RouterModule.forRoot() и RouterModule.forChild()?2. Как работает loadChildren?
3. Нужен ли отдельный Routing Module?
4. В какой момент загружается lazy loaded module?
5. В чем разница между ActivatedRoute и RouterState?
6. Зачем нужны гарды роутов?
7. Что такое RouterOutlet?
8. Что такое CanActivate, CanActivateChild, CanDeactivate и CanLoad?
Вопросы по сервисам
1. Зачем нужны сервисы?2. Как сервисы внедряются в приложение?
3. Что такое Singleton Service?
4. Какой жизненный цикл у сервиса в Angular?
5. Как зарегистрировать сервис в providers?
6. Как использовать сервис в компоненте?
Вопросы по структурным директивам
1. Что такое структурная директива?2. Как идентифицировать структурную директиву в шаблоне?
3. Можно ли использовать ngFor и ngIf на одном и том же элементе?
Вопросы по стилям
1. Как стилизовать кастомный компонент?2. Какой псевдокласс нужно использовать, чтобы стилизовать элемент, в котором находится компонент?
3. Как выбрать все дочерние компоненты элемента?
4. Как выбрать класс в любом родителе компонента (вплоть до корневого элемента)?
Вопросы по написанию кода (style guide)
1. Какие вы знаете Angular Style Guide рекомендации?2. Почему важно следовать style guide?
Вопросы по тестам
1. Какие бывают виды тестирования?2. Что такое code coverage?
3. Что такое spy object?
Вопросы по TypeScript
1. Как объявить кастомный тип?2. В чем разница между Interface и Class?
3. Что такое Discriminated union?
4. Что такое дженерики в TypeScript?
5. Что такое декораторы в TypeScript?