25 самых популярных вопросов и ответов на собеседование по микросервисам

Anonim

Скачать PDF

1) Объясните архитектуру микросервисов

Микросервисная архитектура - это архитектурный стиль разработки, который строит приложение как набор небольших автономных сервисов, разработанных для бизнес-домена.

2) Назовите три наиболее часто используемых инструмента для микросервисов.

  • Wiremock, 2.) Docker и 3.) Hysrix - важные инструменты микросервисов.

3) Что такое монолитная архитектура? Монолитная архитектура похожа на большой контейнер, в котором все программные компоненты приложения объединены в один пакет.

4) В чем преимущества микросервисов?

Вот некоторые важные преимущества использования микросервисов:

  • Разнообразие технологий, например, микросервисы могут легко сочетаться с другими фреймворками, библиотеками и базами данных.
  • Изоляция сбоев, например сбой процесса, не должна приводить к отказу всей системы.
  • Большая поддержка небольшой и параллельной команды
  • Самостоятельное развертывание
  • Сокращение времени развертывания

5) Что такое Spring Cloud?

Spring Cloud - это программное обеспечение для интеграции, которое интегрируется с внешними системами. Он позволяет фреймворку микросервисов создавать приложения, выполняющие ограниченные объемы обработки данных.

6) Обсудите использование отчетов и информационных панелей в среде микросервисов.

Отчеты и информационные панели помогают отслеживать и поддерживать микросервисы. Тонны инструментов мониторинга приложений помогают в этом.

7) Каковы основные различия между микросервисами и монолитной архитектурой?

Микросервисы Монолитная архитектура
Сервис запускается быстро Запуск службы требует времени
Микросервисы - это слабосвязанная архитектура. Монолитная архитектура в основном тесно связана.
Изменения, внесенные в одну модель данных, не влияют на другие микросервисы. Любые изменения в модели данных влияют на всю базу данных
Микросервисы ориентированы на продукты, а не на проекты Монолитность подчеркнет весь проект

8) С какими проблемами сталкиваются при использовании микросервисов?

  • Микросервисы всегда полагаются друг на друга. Следовательно, им нужно общаться друг с другом.
  • Поскольку это распределенная система, это очень сложная модель.
  • Если вы используете микросервисную архитектуру, вам нужно быть готовым к накладным расходам.
  • Вам нужны квалифицированные специалисты для поддержки разнородно распределенных микросервисов.

9) В каких случаях лучше всего подходит микросервисная архитектура?

Архитектура микросервисов лучше всего подходит для настольных компьютеров, Интернета, мобильных устройств, Smart TV, носимых устройств и т. Д.

10) Назовите несколько известных компаний, использующих микросервисную архитектуру.

Большинство крупномасштабных веб-сайтов, таких как Twitter, Netflix, Amazon, перешли от монолитной архитектуры к архитектуре микросервисов.

11) Каковы характеристики микросервисов?

  • Основные фреймворки обмена сообщениями
  • Децентрализованное управление
  • Простая автоматизация инфраструктуры
  • Дизайн на провал
  • Автоматизация инфраструктуры

12) Что такое RESTful?

Репрезентативная передача состояния (REST) ​​/ веб-службы RESTful - это архитектурный стиль, который помогает компьютерным системам обмениваться данными через Интернет. Эти веб-службы упрощают понимание и реализацию микросервисов.

13) Объясните три типа тестов для микросервисов? В архитектуре микросервисов тесты делятся на три большие категории:

  • В тесте нижнего уровня мы можем выполнить общий тест, такой как тесты производительности и модульные тесты. Подобные тесты полностью автоматизированы.
  • На среднем уровне мы можем выполнять исследовательские тесты, такие как стресс-тесты и тесты удобства использования.
  • На верхнем уровне мы можем проводить приемочные испытания, которых обычно меньше. Это также помогает заинтересованным сторонам узнать о различных функциях программного обеспечения.

14) Что такое клиентские сертификаты?

Клиентские сертификаты - это цифровой сертификат, используемый для выполнения аутентифицированных запросов к удаленному серверу. Он называется сертификатом клиента.

15) Объясните использование PACT в архитектуре микросервисов?

Это инструмент с открытым исходным кодом, который позволяет тестировать взаимодействие между поставщиками услуг и потребителями. Однако это отделено от заключенного контракта. Это увеличивает надежность приложений микросервисов.

16) Что означает OAuth?

OAuth означает открытый протокол авторизации. Этот протокол позволяет вам получать доступ к клиентским приложениям по HTTP для сторонних поставщиков GitHub, Facebook и т. Д. Он помогает вам обмениваться ресурсами, хранящимися на одном сайте, с другим сайтом без необходимости их учетных данных.

17) Что такое сквозное тестирование микросервисов?

Сквозное тестирование подтверждает правильность работы каждого процесса в рабочем процессе. Это также гарантирует, что система работает вместе как единое целое и удовлетворяет всем требованиям.

18) Почему контейнеры используются в микросервисах?

Контейнеры - это самый простой и эффективный способ управления приложением на основе микросервисов. Это также помогает вам разрабатывать и развертывать индивидуально. Docker также позволяет инкапсулировать микросервис в образ контейнера вместе с его зависимостями. Эти элементы микросервис может использовать без дополнительных усилий.

19) В чем смысл семантического мониторинга в архитектуре микросервисов?

Семантический мониторинг сочетает в себе автоматизированные тесты с мониторингом приложения. Это позволяет узнать причины, по которым ваш бизнес не получает больше прибыли.

20) Что такое CDC?

CDC - это договор, ориентированный на потребителя. Это шаблон для разработки микросервисов, чтобы внешние системы могли их использовать.

21) Какая польза от Докера?

Docker предлагает контейнерную среду, в которой можно разместить любое приложение. Это программное приложение и поддерживающие его зависимости тесно упакованы.

22) Что такое реактивные расширения в микросервисах?

Реактивные расширения также называют Rx. Это шаблон проектирования, который позволяет собирать результаты, вызывая несколько служб, а затем компилировать комбинированный ответ. Rx - популярный инструмент в распределенных системах, который работает прямо противоположно устаревшим потокам.

23) Объясните термин «Непрерывный мониторинг».

Непрерывный мониторинг - это метод, который используется для поиска вопросов соответствия и рисков, связанных с операционной и финансовой средой компании. Он содержит людей, процессы и рабочие системы, которые поддерживают эффективные и актуальные операции.

24) Как независимые микросервисы общаются друг с другом?

Это зависит от потребностей вашего проекта. Однако в большинстве случаев разработчики используют HTTP / REST с JSON или двоичным протоколом. Однако они могут использовать любой протокол связи.