Тестовые вопросы

Исходный файл: Тестовые вопросы.docx
1. Какие из следующих утверждений верны для ASP.NET Core MVC?
(!) Использует паттерн Model-View-Controller.
(?) Позволяет полностью абстрагироваться от HTTP-деталей.
(!) Контроллеры и представления физически разделены.
(?) Razor Pages заменяют MVC в современных приложениях.
2. Какие компоненты относятся к слою данных в ASP.NET Core?
(!) Репозитории.
(?) Контроллеры.
(!) Unit of Work.
(?) Сервисы бизнес-логики.
3. Какие HTTP-методы соответствуют RESTful-семантике?
(!) GET — получение ресурса.
(!) DELETE — удаление ресурса.
(?) PATCH — создание ресурса.
(?) PUT — частичное обновление.
4. Какие утверждения верны для Dependency Injection в ASP.NET Core?
(!) Сервисы регистрируются в Program.cs.
(?) Контроллеры создают зависимости через new.
(!) Время жизни сервисов может быть Transient, Scoped или Singleton.
(?) DI не поддерживает интерфейсы.
5. Какие из перечисленных атрибутов используются для валидации моделей?
(!) [Required].
(?) [Route].
(!) [StringLength].
(?) [HttpPost].
6. Что относится к настройкам Identity в ASP.NET Core?
(!) Требования к сложности пароля.
(!) Время жизни куки аутентификации.
(?) Использование ViewResult для API.
(?) Прямое обращение к базе данных из контроллера.
7. Какие утверждения верны для паттерна Repository?
(!) Инкапсулирует логику доступа к данным.
(?) Позволяет напрямую использовать IQueryable<T> в контроллерах.
(!) Упрощает замену ORM.
(?) Заменяет необходимость использования DbContext.
8. Какие методы HTTP используются в RESTful API для изменения ресурсов?
(!) PUT.
(?) GET.
(!) POST (для создания).
(?) TRACE.
9. Какие инструменты используются для диагностики в ASP.NET Core?
(!) ILogger.
(?) Entity Framework Core.
(!) Application Insights.
(?) FluentValidation.
10. Какие утверждения верны для Model Binding?
(!) Данные из маршрута имеют высший приоритет.
(?) Параметры из тела запроса игнорируются.
(!) Поддерживает привязку коллекций и словарей.
(?) Требует ручного парсинга данных.
11. Что включает ролевая модель Identity?
(!) Создание ролей через RoleManager.
(!) Использование атрибута [Authorize(Roles = "Admin")].
(?) Хранение паролей в открытом виде.
(?) Отсутствие интеграции с DI.
12. Какие утверждения верны для Middleware в ASP.NET Core?
(!) Порядок Middleware важен.
(!) UseStaticFiles должен быть до UseRouting.
(?) Middleware выполняется после вызова контроллера.
(?) Обработка исключений невозможна через Middleware.
13. Какие из перечисленных методов относятся к Unit of Work?
(!) Commit().
(?) AddAsync().
(!) Rollback().
(?) Validate().
14. Какие утверждения верны для FluentValidation?
(!) Позволяет выносить валидацию из моделей.
(?) Требует использования DataAnnotations.
(!) Интегрируется через AddValidatorsFromAssembly().
(?) Работает только с синхронными методами.
15. Что относится к расширенным возможностям контроллеров?
(!) Глобальная фильтрация действий.
(!) Кастомные Route-атрибуты.
(?) Прямое обращение к HttpContext в моделях.
(?) Использование только стандартных HTTP-методов.
16. Какие утверждения верны для работы с файлами через IFormFile?
(!) Требует указания enctype="multipart/form-data".
(!) Размер файла можно ограничить через [RequestSizeLimit].
(?) Файлы сохраняются автоматически в корневую папку.
(?) IFormFile не поддерживает асинхронную обработку.
17. Что делает атрибут [ValidateAntiForgeryToken]?
(!) Защищает от CSRF-атак.
(?) Проверяет валидность модели.
(?) Обеспечивает аутентификацию пользователя.
(!) Требуется для POST-запросов.
18. Какие утверждения верны для сериализации в ASP.NET Core?
(!) System.Text.Json используется по умолчанию.
(!) [JsonIgnore] исключает поле из сериализации.
(?) Newtonsoft.Json — единственная поддерживаемая библиотека.
(?) Сериализация коллекций невозможна.
19. Какие из перечисленных компонентов относятся к бизнес-логике?
(!) Сервисы.
(?) Репозитории.
(!) Exception Filters.
(?) DbContext.
20. Какие утверждения верны для многопоточности в ASP.NET Core?
(!) Использование lock предотвращает состояние гонки.
(!) ConcurrentDictionary потокобезопасен.
(?) Асинхронные методы не требуют await.
(?) Task.Run всегда безопасен для IIS.
21. Какой атрибут используется для ограничения доступа к методу контроллера только аутентифицированным пользователям?
(!) [Authorize]
(?) [AllowAnonymous]
(?) [ValidateAntiForgeryToken]
(?) [Route]
22. Какой метод HTTP используется для полного обновления ресурса в RESTful API?
(!) PUT
(?) POST
(?) PATCH
(?) DELETE
23. Какой интерфейс используется для логирования в ASP.NET Core?
(!) ILogger<T>
(?) ILoggingProvider
(?) ILogWriter
(?) ILog
24. Какой паттерн инкапсулирует операции с базой данных в рамках транзакции?
(!) Unit of Work
(?) Repository
(?) Singleton
(?) Factory
25. Какой файл используется для настройки строки подключения к базе данных в ASP.NET Core?
(!) appsettings.json
(?) Program.cs
(?) Startup.cs
(?) web.config
26. Какой метод регистрирует сервис с временем жизни "один экземпляр на запрос"?
(!) AddScoped
(?) AddSingleton
(?) AddTransient
(?) AddInstance
27. Какой атрибут указывает, что параметр действия берется из тела запроса?
(!) [FromBody]
(?) [FromQuery]
(?) [FromRoute]
(?) [FromForm]
28. Какой инструмент позволяет анализировать дампы памяти в .NET?
(!) dotnet-dump
(?) dotnet-build
(?) dotnet-run
(?) dotnet-publish
29. Какой метод Middleware используется для обработки статических файлов?
(!) UseStaticFiles
(?) UseRouting
(?) UseAuthentication
(?) UseEndpoints
30. Какой атрибут применяется для проверки токена защиты от CSRF?
(!) [ValidateAntiForgeryToken]
(?) [Authorize]
(?) [HttpPost]
(?) [AllowAnonymous]
31. Сопоставьте типы сервисов DI с их временем жизни:
A. Transient
B. Scoped
C. Singleton
1. Один экземпляр на всё приложение
2. Новый экземпляр для каждого запроса
3. Один экземпляр на запрос
Ответ: A-2, B-3, C-1
32. Сопоставьте исключения с их обработчиками:
A. ArgumentNullException
B. DbUpdateException
C. UnauthorizedAccessException
1. Ошибка доступа к базе данных
2. Неавторизованный доступ
3. Нулевой аргумент
Ответ: A-3, B-1, C-2
33. Сопоставьте методы Middleware с их порядком выполнения:
A. UseExceptionHandler
B. UseStaticFiles
C. UseRouting
1. Обработка исключений
2. Маршрутизация
3. Статические файлы
Ответ: A-1, C-2, B-3
34. Сопоставьте методы аутентификации с их механизмами:
A. Cookie-аутентификация
B. JWT-аутентификация
C. OAuth
1. Использует токены в заголовках
2. Хранит сессию в куки
3. Интеграция с внешними провайдерами
Ответ: A-2, B-1, C-3
35. Сопоставьте методы работы с файлами с их описанием:
A. CopyToAsync
B. OpenReadStream
C. SaveAs
1. Сохраняет файл на диск
2. Асинхронно копирует содержимое
3. Возвращает поток для чтения
Ответ: A-2, B-3, C-1
36. Сопоставьте методы тестирования с их целями:
A. Unit-тесты
B. Интеграционные тесты
C. Нагрузочные тесты
1. Проверка взаимодействия компонентов
2. Проверка отдельных модулей
3. Оценка производительности под нагрузкой
Ответ: A-2, B-1, C-3
37. Сопоставьте HTTP-методы с их назначением:
A. Получение ресурса
B. Создание ресурса
C. Удаление ресурса
D. Полное обновление ресурса
1. GET
2. POST
3. PUT
4. DELETE
Ответ: A-1, B-2, D-3, C-4
38. Сопоставьте компоненты ASP.NET Core с их описанием:
A. Обрабатывает HTTP-запросы
B. Инкапсулирует доступ к данным
C. Управляет транзакциями
D. Содержит бизнес-логику
1. Контроллер
2. Репозиторий
3. Unit of Work
4. Сервис
Ответ: A-1, B-2, C-3, D-4
39. Сопоставьте атрибуты валидации с их действиями:
A. Проверяет, что поле не пусто
B. Ограничивает длину строки
C. Проверяет соответствие формата email
D. Указывает диапазон значений
1. [Required]
2. [StringLength(100)]
3. [EmailAddress]
4. [Range(1, 100)]
Ответ: A-1, B-2, C-3, D-4
40. Сопоставьте термины с их определениями:
A. Идемпотентный метод
B. Потокобезопасная коллекция
C. DI-контейнер
D. Мидлвар для логирования
1. ConcurrentDictionary
2. Метод, который можно вызывать многократно без изменения результата
3. Регистрирует и разрешает зависимости
4. Измеряет время выполнения запроса
Ответ: A-2, B-1, C-3, D-4
41. Расположите этапы обработки HTTP-запроса в ASP.NET Core MVC:
1. Middleware конвейер
2. Маршрутизация
3. Вызов действия контроллера
4. Формирование ответа
Ответ: 1 → 2 → 3 → 4
42. Расположите приоритет источников данных для Model Binding:
1. Тело запроса (для POST)
2. Маршрут
3. Query string
Ответ: 2 → 3 → 1
43. Расположите уровни логирования ILogger по возрастанию важности:
1. Trace
2. Debug
3. Information
4. Error
Ответ: 1 → 2 → 3 → 4
44. Расположите этапы работы с миграциями в EF Core:
1. Add-Migration
2. Update-Database
3. Изменение модели данных
Ответ: 3 → 1 → 2
45. Расположите методы жизненного цикла фильтра действий:
1. OnActionExecuting
2. OnActionExecuted
Ответ: 1 → 2
46. Расположите компоненты слоев архитектуры:
1. Контроллер
2. Сервис
3. Репозиторий
4. База данных
Ответ: 1 → 2 → 3 → 4
47. Расположите шаги настройки Identity:
1. Добавление ролей через RoleManager
2. Регистрация сервисов в Program.cs
3. Применение атрибута [Authorize]
Ответ: 2 → 1 → 3
48. Расположите этапы обработки файла через IFormFile:
1. Создание формы с enctype="multipart/form-data"
2. Прием файла в контроллере
3. Валидация размера и типа
4. Сохранение в файловую систему
Ответ: 1 → 2 → 3 → 4
49. Расположите этапы сериализации объекта в JSON:
1. Создание объекта
2. Настройка JsonSerializerOptions
3. Вызов JsonSerializer.Serialize()
Ответ: 1 → 2 → 3
50. Расположите методы HTTP для CRUD-операций:
1. GET (Read)
2. POST (Create)
3. PUT (Update)
4. DELETE (Delete)
Ответ: 2 → 1 → 3 → 4
51. Какой метод HTTP используется для частичного обновления ресурса в RESTful API?
Ответ: PATCH
52. Какой атрибут применяется для явного указания, что параметр действия берется из строки запроса (query string)?
Ответ: FromQuery
53. Какой метод в Program.cs регистрирует сервисы для работы с Identity?
Ответ: AddIdentity
54. Какой интерфейс в ASP.NET Core используется для работы с загруженными файлами?
Ответ: IFormFile
55. Какой метод EF Core сохраняет все изменения в рамках транзакции?
Ответ: SaveChangesAsync
56. Какой атрибут валидации проверяет, что строка соответствует формату email?
Ответ: EmailAddress
57. Какой метод Middleware добавляет маршрутизацию в конвейер обработки запроса?
Ответ: UseRouting
58. Какой параметр в appsettings.json задает минимальный уровень логирования для ILogger?
Ответ: LogLevel
59. Какой класс в ASP.NET Core Identity отвечает за управление ролями пользователей?
Ответ: RoleManager
60. Какой метод контроллера возвращает данные в формате JSON?
Ответ: Json