Skip to content

Latest commit

 

History

History
39 lines (30 loc) · 6.31 KB

questions.md

File metadata and controls

39 lines (30 loc) · 6.31 KB

Лаб 1. Инверсия контроля

Принцип инверсии контроля (Inversion of control), проблематика, решаемые задачи. Внеднение зависимостей(Dependency injection) как средство реализации инверсии контроля. Преимущества и недостатки построения приложений на основе этого принципа. Фреймворк Spring как средство реализации внедрения зависимостей, аналогичные фреймворки. Конфигурирование внеднерия зависимости в Spring. Внешние конфигурации. Автоматическое связывание. Виды автоматического связывания (по типу, по имени). Связывание, основанное на метаданных (аннотациях). Смешанные виды связывания. Инверсия контроля и тестирование приложения.

Лаб 2. Компонентное(сервисное) построение web-приложений.

Принцип внедрения зависимости и бизнес-логика приложения. Применение внедрения зависимостей при создании web-приложений на Java. Внедрение зависимостей и разделение приложения на модель-представление-контроллер. Spring MVC: Параметры контроллера, передача данных во view, контроллеры без view. Формы и валидация. Аспектно-ориентированное программирование. Aspect (аспект), Join point (точка соединения), Advice (совет), Pointcut(срез).

Лаб 3. Динамическая подгрузка модулей приложения

Способы уменьшения связности в компонентных приложениях. Различные этапы связывания компонентов при разработке приложений. Технологии создания плагинов к приложениям. Горячая замена кода. Зависимости между подключаемыми модулями. Конфликты зависимостей в подключаемых модулях и способы их разрешения. ClassLoader-ы в Java. ServiceLoader. OSGI. Динамическая подгрузка модулей в веб-приложениях.

Лаб 4. Событийные распределенные архитектуры

Асинхронные(неблокирующие) операции ввода-вывода, особенности реализации, преимущества и недостатки. Промежуточное ПО для обработки сообщений, брокеры сообщений (AMQP, JMS), темы (topic) сообщений, очереди сообщений. Гарантированная доставка сообщений. Распределение нагрузки при помощи брокеров сообщений. Реализация полнодуплексного соединения в web. Websockets.

Вопросы к экзамену

  1. Принцип инверсии контроля (Inversion of control), проблематика, решаемые задачи.
  2. Внеднение зависимостей(Dependency injection) как средство реализации инверсии контроля.
  3. Фреймворк Spring как средство реализации внедрения зависимостей, аналогичные фреймворки.
  4. Конфигурирование внеднерия зависимости в Spring. Внешние конфигурации. Автоматическое связывание.
  5. Виды автоматического связывания (по типу, по имени). Связывание, основанное на метаданных (аннотациях). Смешанные виды связывания.
  6. Инверсия контроля и тестирование приложения.
  7. Принцип внедрения зависимости и бизнес-логика приложения.
  8. Применение внедрения зависимостей при создании web-приложений.
  9. Spring MVC: Параметры контроллера, передача данных во view, контроллеры без view. Формы и валидация.
  10. Аспектно-оринтированное программирование. Aspect (аспект), Join point (точка соединения), Advice (совет), Pointcut(срез).
  11. Различные этапы связывания компонентов при разработке приложений. Способы уменьшения связности.
  12. Загрузчики классов в Java.
  13. Плагины приложений. Зависимости между плагинами.
  14. Технологии горячей замены кода. OSGI.
  15. Асинхронные(неблокирующие) операции ввода-вывода, особенности реализации, преимущества и недостатки.
  16. Промежуточное ПО для обработки сообщений, брокеры сообщений (AMQP, JMS),
  17. Темы (topic) сообщений и очереди сообщений в системах распределенной обработки сообщений. Гарантированная доставка сообщений.
  18. Распределение нагрузки при помощи брокеров сообщений.
  19. Событийные распределенные архитектуры приложения
  20. Реализация полнодуплексного соединения в web. Websockets.
  21. Технологии удаленного вызова процедур. SOAP, Thrift. Prorobuf и т.п.