Что такое компоненты, модули, сервисы, интерцепторы и директивы в Angular?
Что проверяют
Ориентируетесь ли вы в архитектуре фреймворка целиком, а не в одном привычном слое. Вопрос обзорный, поэтому ценится не пересказ документации, а понимание зон ответственности: что где живёт и почему логику нельзя просто положить в компонент.
Как отвечать
Идите по списку коротко и по делу.
Компонент это класс с шаблоном и стилями, он отвечает за кусок экрана, его состояние и обработку событий. Модуль (NgModule) собирает объявления и провайдеров в группу; в современных версиях компоненты по умолчанию standalone и объявляют зависимости сами через imports, а модули остаются в основном в старом коде и в библиотеках.
Сервис это класс без представления: работа с сетью, состояние, бизнес-логика. Поставляется через внедрение зависимостей, providedIn: 'root' даёт один экземпляр на приложение. Интерцептор перехватывает исходящие HTTP-запросы и ответы, это место для токена, повторов, единой обработки ошибок и логирования; сейчас его пишут функцией и подключают при настройке HTTP-клиента.
Директива добавляет поведение существующему элементу: атрибутная меняет вид или поведение, структурная меняет разметку. В новых версиях роль *ngIf и *ngFor в шаблонах взял встроенный синтаксис ветвления и циклов. Рядом упомяните пайпы: они преобразуют значение при выводе и директивами не являются.
Где спотыкаются
Описывают модули как обязательный каркас приложения и не знают про standalone. Это сразу датирует знания и обычно тянет за собой устаревшие ответы про остальное.
Кладут запросы и бизнес-логику в компонент, а сервис описывают как «класс со вспомогательными функциями». Граница проще: компонент про отображение и события, сервис про данные и их жизненный цикл, и он переживает пересоздание компонента при переходах.
Путают интерцептор с защитой маршрута. Первый работает на уровне HTTP-клиента, вторая решает, пускать ли пользователя на страницу. И забывают, что интерцептор видит все запросы приложения, включая обращения к сторонним адресам, поэтому подставлять токен нужно с проверкой адреса, иначе он утечёт наружу.