Для разработки любого программного проекта мы следуем некоторой архитектуре, такой как

  1. Монолитная архитектура
  2. Микросервисная архитектура
  3. Архитектура, управляемая событиями
  4. Архитектура клиент-сервер
  5. Сервис-Ориентированная Архитектура

Из этих вышеупомянутых архитектур в интервью наиболее часто упоминается архитектура Microservices. Поскольку сейчас большинство компаний, таких как Netflix, Uber, Amazon, используют эту архитектуру. Микросервисы — это своего рода распределенная система.

Если вы ищете старшую роль, вам необходимо иметь представление о микросервисах и различных связанных с ними концепциях.

В этом посте я делюсь наиболее часто задаваемыми вопросами о микросервисах, с которыми мне приходилось сталкиваться, когда я проходил собеседования в PayTm, PineLabs, HaloDoc, InfoEdge, Cisco.

  1. Что такое микросервисная архитектура и для чего она используется?
  2. Разница между микросервисной и монолитной архитектурой? Преимущества и недостатки обоих?
  3. В каком сценарии мы должны использовать микросервисную или монолитную архитектуру?
  4. Что такое слабая связь?
  5. Разница между микросервисной и сервис-ориентированной архитектурой?
  6. Что такое оркестровка workFlow?
  7. Базовое понимание Docker и K8s.
  8. Шаблоны проектирования распределенных систем?
  9. Что такое 12-факторный подход к микросервисам?
  10. Разница между различными базами данных, такими как mongo и cassandra, mysql и cassandra?
  11. Что такое CAP-теорема?
  12. Изучение лучших практик микросервисов.
  13. Как работают балансировщики нагрузки и серверы и как они обрабатывают параллельные запросы?
  14. Что такое проблема идемпотентности?
  15. Что такое окончательная согласованность?
  16. Что такое распределенная транзакция?
  17. Что такое двухфазный и трехфазный коммит?
  18. Чем Saga лучше, чем 2 PC Commit?
  19. Что такое реестр служб и обнаружение служб?
  20. Как масштабировать приложение? Что такое масштабный куб?
  21. Что такое шлюз API? каковы преимущества шлюза API?
  22. Разница между http и gRPC?
  23. Как сделать синхронные и асинхронные вызовы? Разница между ними?
  24. Что такое шаблон прерывателя цепи?
  25. Что такое распределенная трассировка?
  26. Что такое доступность, производительность и надежность?
  27. Что такое сервисная сетка?
  28. Что такое прокси-шаблон?
  29. Что такое тестирование хаоса?
  30. Разбираемся в обмене сообщениями и кэшировании, как мы можем использовать их в микросервисах?
  31. Узнайте о различных библиотеках, таких как сервер Eureka, Hystrix, Ribbon, Feign, RestTemplate, Spring Cloud.

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

Спасибо за прочтение !! Удачного интервью!!