/Angular-interview-questions-RU

Ответы на вопросы на собеседовании по Angular на русском. Основы Angular.

Вопросы с ответами для собеседования по Angular. Основы Angular.

Содержание

Вопросы по анимации 1. Как определяется переход между двумя состояниями в Angular?
2. Что такое состояние wildcard?
3. Что такое триггер анимации?
Вопросы по архитектуре 1. Приведите хороший пример когда нужно использовать ngrx/store?
2. Что такое "race condition" и какие баги могут быть связаны с этим? Как с ними справиться?
3. Разница между умным и презентационным компонентом? Приведите пример использования? Назовите преимущества?
4. Что такое Shared модуль?
Вопросы по API 1. Почему для доступа к элементам и манипуляции с ними лучше использовать renderer методы (а не доступ через нативный JS)?
2. Как изменить размер элемента при изменении ширины окна?
3. Можете привести хороший пример использования NgZone сервиса?
4. Как защитить компонент от активации через роутер?
5. В чем разница между @ViewChild() и @ContentChild()?
6. Что такое Dependency Injection?
7. В чем разница между constructor и ngOnInit?
8. Что такое service-worker и его роль в Angular?
9. Что такое зона в zone.js?
Вопросы по шаблонам (template) 1. Как при клике добавить класс "active" выбранному элементу списка?
2. Что такое template variable? Как ее использовать?
3. Что случится если подписаться на поток данных несколько раз через async pipe?
4. В чем различия ng-content, ng-container и ng-template?
5. Когда мы байндим данные в шаблоне, мы работаем с атрибутами или с свойствами (property)?
6. Когда можно не использовать скобки при байндинге в шаблоне?
Вопросы по компонентам 1. Какие минимальные требования к компоненту?
2. В чем разница между компонентом и директивой?
3. Как происходит взаимодействие компонентов?
4. Как сделать двухстороннее связывание данных?
5. Как бы вы сделали компонент для показа сообщений об ошибках?
6. Что такое Lifecycle Hooks?
7. Что такое View Encapsulation?
8. Что такое динамические компоненты?
Вопросы по взаимодействию компонентов и 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?
Вопросы по производительности 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. Какие бывают стратегии предварительной загрузки?
Вопросы по пайпам 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?
Вопросы по структурным директивам 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?