Microservices Interview Questions and Answers for Freshers
1) Explain Microservices Architecture
Microservice Architecture is an architectural development style which builds an application as a collection of small autonomous services developed for a business domain.
Let’s take an example of e-commerce application developed with microservice architecture. In this Microservices architecture example, each microservice is focused on single business capability. Search, Rating & Review and Payment each have their instance (server) and communicate with each other.
2) Name three commonly used tools for Microservices
1.) WireMock, 2.) Docker and 3.) Hystrix are important Microservices tool.
3) What is Monolithic Architecture?
Monolithic architecture is like a big container in which all the software components of an application are clubbed inside a single package.
Let’s discuss an example of an eCommerce store in context of a Monolithic architecture.
In any e-commerce application, there are some standard features like Search, Review & Ratings, and Payments. These features are accessible to customers using their browser or apps. When the developer of the eCommerce site deploys the application, it is a single Monolithic unit. The code for different features like Search, Review & Ratings, and Payments are on the same server. To scale the application, you need to run multiple instances(servers) of these applications.
4) What are the advantages of microservices?
Here, are some significant advantages of using Microservices:
- Technology diversity, e., Microservices can mix easily with other frameworks, libraries, and databases
- Fault isolation, e., a process failure should not bring the whole system down.
- Greater support for smaller and parallel team
- Independent deployment
- Deployment time reduce
5) What is Spring Cloud?
Spring cloud is an Integration software that integrates with external systems. It allows microservices framework to build applications which perform restricted amounts of data processing.
6) Discuss uses of reports and dashboards in the environment of Microservices
Reports and dashboards help in monitoring and upkeep of Microservices. Tons of Application Monitoring Tools assist in this.
7) What are main differences between Microservices and Monolithic Architecture?
|Service Startup is fast||Service startup takes time|
|Microservices are loosely coupled architecture.||Monolithic architecture is mostly tightly coupled.|
|Changes done in a single data model does not affect other Microservices.||Any changes in the data model affect the entire database|
|Microservices focuses on products, not projects||Monolithic put emphasize over the whole project|
8) What are the challenges faced while using Microservices?
- Microservices always rely on each other. Therefore, they need to communicate with each other.
- As it is distributed system, it is a heavily involved model.
- If you are using Microservice architecture, you need to ready for operations overhead.
- You need skilled professionals to support heterogeneously distributed microservices.
9) In which cases microservice architecture best suited?
Microservice architecture is best suited for desktop, web, mobile devices, Smart TVs, Wearable, etc.
10) Tell me the name of some famous companies which are using Microservice architecture
Most large-scale websites like Twitter, Netflix, Amazon, have advanced from a monolithic architecture to a microservices architecture.
Microservices Interview Questions for Experienced
11) What are the characteristics of Microservices?
- Essential messaging frameworks
- Decentralized Governance
- Easy Infrastructure automation
- Design for failure
- Infrastructure automation
12) What is RESTful?
Representational State Transfer (REST)/RESTful web services is an architectural style that helps computer systems to communicate over the internet. These web services make microservices easier to understand and implement.
13) Explain three types of Tests for Microservices?
In Microservice architecture tests are divided into three broad categories:
- At the bottom level test, we can perform a general test like performance and unit tests. These kinds of tests are entirely automated.
- At the middle level, we can perform exploratory tests like the stress tests and usability tests.
- At the top level, we can conduct acceptance tests which are mostly fewer in numbers. It also helps stakeholders to know about different software features.
14) What are Client certificates?
Client certificates is a digital certificate used to make authenticated requests to a remote server. It is termed as a client certificate.
15) Explain the use of PACT in Microservices architecture?
It is an open source tool which allows testing interactions between service providers and consumers. However, it is separated from the contract made. This increases the reliability of the Microservices applications.
16) What is the meaning of OAuth?
OAuth means open authorization protocol. This protocol allows you to access the client applications on HTTP for third-party providers GitHub, Facebook, etc. It helps you to share resources stored on one site with another site without the need for their credentials.
17) What is End to End Microservices Testing?
End-to-end testing validates every process in the workflow is functioning correctly. It also ensures that the system works together as a whole and satisfies all requirements.
18) Why are Container used in Microservices?
Containers are easiest and effective method to manage the microservice based application. It also helps you to develop and deploy individually. Docker also allows you to encapsulate your microservice in a container image along with its dependencies. Microservice can use these elements without additional efforts.
19) What is the meaning of Semantic monitoring in Microservices architecture?
Semantic monitoring combines automated tests with monitoring of the application. It allows you to find out reasons why your business is not getting more profits.
20) What is a CDC?
CDC is Consumer-Driven Contract. It is a pattern for developing Microservices so that external systems can use them.
Microservices Interview Questions for 10+ Years Experience
21) What is the use of Docker?
Docker offers a container environment which can be used to host any application. This software application and the dependencies that support it which are tightly-packaged together.
22) What are Reactive Extensions in Microservices?
Reactive Extensions is also called Rx. It is a design pattern which allows collecting results by calling multiple services and then compile a combined response. Rx is a popular tool in distributed systems which works exactly opposite to legacy flows.
23) Explain the term ‘Continuous Monitoring.’
Continuous monitoring is a method which is used for searching compliance and risk issues associated with a company’s operational and financial environment. It contains human, processes, and working systems which support efficient and actual operations.
24) How independent micro-services communicate with each other?
It depends upon your project needs. However, in most cases, developers use HTTP/REST with JSON or Binary protocol. However, they can use any communication protocol.
These interview questions will also help in your viva(orals)