Loading…
REST, GraphQL, gRPC, Spring Cloud, Kafka, RabbitMQ, sagas
Microservices interviews span three API styles (REST, GraphQL, gRPC), two messaging systems (Kafka for streaming, RabbitMQ for routing), and the architectural patterns that tie them together — discovery, circuit breakers, sagas, idempotency, outbox. Each surface has its own focused page so you can drill exactly what the interviewer asks about.
How to use this hub
6 modules cover microservices & apis end-to-end. Open the first module, use Open question 1 on its landing page, and use Next at the bottom of each answer to stay in order.
Revision sheet
~12 min · 5 sections · save as PDF
REST API interview questions are core to every Java backend role — RESTful constraints, HTTP semantics and status codes, idempotency, request/response design, error handling, validation, pagination (cursor vs offset), HATEOAS, API versioning, OpenAPI/Swagger, HTTP clients (RestTemplate, WebClient, Feign), HTTP caching (ETag, Cache-Control), and Spring MVC controller fundamentals. For GraphQL-specific questions see the dedicated GraphQL page; for gRPC see the gRPC page.
REST = a set of constraints over HTTP — not the sole way to design APIs, but the senior interview default.
GET / POST / PUT / PATCH / DELETE).GET / PUT / DELETE should be safe to retry.The interview surface for this module breaks into these focus areas:
"I'd model `/resources` as plural nouns, use
for safe retries, page via cursor, document the schema with OpenAPI, and standardise errors with problem+json. Versioning lives in the URL path because ."
Revision sheet
~12 min · 5 sections · save as PDF
GraphQL interview questions test whether you understand the query-language alternative to REST — schema design (types, queries, mutations, subscriptions), resolvers, the N+1 problem and DataLoader, schema federation, persisted queries, error handling, security (depth limiting, query cost analysis), and the integration patterns with Spring for GraphQL. Expect the interviewer to compare GraphQL to REST and ask when you would choose each — that question is covered in depth here.
GraphQL = single endpoint + typed schema + client-driven queries.
The interview surface for this module breaks into these focus areas:
"I'd model the schema around the read needs of the client, batch nested fetches with DataLoader, persist queries for cacheability, enforce depth + cost limits, and authorise inside resolvers so each field is independently checked."
Revision sheet
~12 min · 5 sections · save as PDF
gRPC interview questions cover the high-performance RPC framework increasingly common in microservice interviews — Protocol Buffers (proto3), the four service types (unary, server-streaming, client-streaming, bidi), interceptors, deadlines and cancellation, load balancing, gRPC vs REST vs messaging trade-offs, and the gRPC + Spring Boot integration patterns. This page is the one to use for any role that mentions internal service-to-service RPC at scale.
gRPC = HTTP/2 + Protocol Buffers + 4 RPC styles (unary / server-stream / client-stream / bidi).
.proto keeps client and server contract-locked.The interview surface for this module breaks into these focus areas:
"I'd define the contract in proto, version fields by adding new tags only, set deadlines per call, route through a service mesh for client-side LB, and reserve REST for the external edge where browser + caching matter."
Revision sheet
~12 min · 5 sections · save as PDF
Microservices interview questions test architectural judgement, not just framework knowledge — service decomposition, API gateway patterns, service discovery, client- vs server-side load balancing, circuit breaker / retry / bulkhead / time limiter (Resilience4j), saga and outbox patterns, distributed tracing (correlation IDs, OpenTelemetry, Zipkin), config management (Spring Cloud Config), service mesh (sidecars, Istio basics), and the migration patterns from monolith to microservices (strangler fig). Pair this with the REST API and Messaging/Kafka pages for the full microservices interview surface.
Microservices = independent deployability + bounded contexts, paid for in operational complexity.
The interview surface for this module breaks into these focus areas:
"I'd start with a modular monolith, split out the service when
appears, communicate sync via and async via with the outbox pattern, wrap calls in Resilience4j circuit-breakers, and stand up tracing on day one."
Revision sheet
~12 min · 5 sections · save as PDF
Kafka and event-driven architecture interview questions cover the messaging system that powers most modern Java backends — Kafka architecture (brokers, topics, partitions, consumer groups, ISR), delivery semantics (at-most-once, at-least-once, exactly-once), idempotent consumers, the outbox pattern, schema evolution, Kafka Streams vs Flink vs Spark Streaming, the saga pattern with choreography, CQRS and event sourcing, and Spring Kafka / Spring Cloud Stream. For RabbitMQ-specific questions (exchange types, routing, DLX), see the dedicated RabbitMQ page.
Three big questions for any event system:
Kafka = log; RabbitMQ = router; SQS = simple queue. Pick by fit-for-purpose, not hype.
The interview surface for this module breaks into these focus areas:
"I'd publish events via the outbox so the DB write and broker write are atomic, partition the topic by
for ordering, run consumers as idempotent (`UPSERT` keyed by event id), and watch for consumer-lag + rebalance frequency in observability."
Revision sheet
~12 min · 5 sections · save as PDF
RabbitMQ interview questions cover the AMQP-based broker still common in finance, telco and any Java backend that needs flexible routing — exchange types (direct, fanout, topic, headers), bindings and routing keys, queue durability and message persistence, dead-letter exchanges and DLQ patterns, prefetch and consumer ack strategies, publisher confirms, clustering and quorum queues, and the Spring AMQP integration patterns. Use this page when the role specifies RabbitMQ over Kafka.
RabbitMQ = AMQP broker with rich routing.
The interview surface for this module breaks into these focus areas:
* one word, # zero+ words."I'd use a topic exchange routed on `
. `, durable + quorum queues, manual ack with prefetch tuned, publisher confirms on the producer, and a DLX bound to a parking queue for ops to inspect."