Skip to content
tezvyn:

Microservices

51 bites tagged Microservices — interview questions with model answers, and 60-second explainers.

CI/CD & Automation3 min read

How do you unify real-time CI/CD health across hundreds of microservices?

Canonical event schema over an event bus; domain-level SLI views; federated ownership with golden paths. designing event-driven observability at scale without a new monolith.

CI/CD & Automation2 min read

Design a zero-downtime Kubernetes Deployment strategy for a stateless microservice

Set RollingUpdate with maxSurge 1 and maxUnavailable 0; use readiness probes to gate traffic; set terminationGracePeriodSeconds and preStop to drain requests. K8s rolling updates and graceful pod termination.

CI/CD & Automation2 min read

Explain the concept of a sidecar container in Kubernetes

Tests Pod multi-container patterns. A strong answer defines sidecars as co-located helpers sharing network and storage, cites service mesh or log forwarding, and argues for reuse and separate lifecycles. Red flag: calling it another Pod or legacy workaround.

CI/CD & Automation2 min read

Standardize and update CI/CD across hundreds of microservices without per-repo edits

Repos use a thin wrapper importing versioned shared-library templates; a control plane rolls out updates with canary validation. Decoupling pipeline logic from service repos via centralized templates.

CI/CD & Automation2 min read

How does your CI/CD strategy differ between monoliths and microservices?

Contrast monolith unified builds with microservice independent deploys, side-by-side versions, and service gates. Grasp of release coupling and blast radius. Shared pipeline for all services or no monolith rollback.

CI/CD & Automation2 min read

Backstage: The Developer Portal Framework

Backstage is a framework for building a developer portal, not a ready-made dashboard. It centralizes ownership, docs, and tooling when microservice sprawl hides context. The footgun is treating it as a product you deploy without upkeep; the catalog rots.

Analytics & Metrics2 min read

How do you root-cause bad data across microservices and Spark?

This tests structured debugging and observability for distributed pipelines. A strong answer isolates the break via lineage, validates schema and freshness per stage, and compares microservice outputs to Spark inputs.

Analytics & Metrics2 min read

How would you implement data lineage for microservices analytics?

Tests end-to-end provenance tracking, not just docs. Strong answers cover automated metadata capture at service boundaries, a central catalog such as DataHub or OpenLineage, and column-level tracing.

Analytics & Metrics2 min read

How do you guarantee at-least-once event delivery for a financial transaction?

Write events to a DB outbox in the same transaction as the biz update; a relay polls and publishes to analytics. Atomicity of state changes and side effects without 2PC. Suggesting direct HTTP POSTs or dual writes.

Agile & Scrum2 min read

How would you apply Conway's Law to design team structures for microservices?

Map bounded contexts to cross-functional teams; use APIs as contracts; split by decoupling boundary. Using org structure as an intentional architecture lever.

Agile & Scrum2 min read

Decompose a monolith for scaled agile teams

Tests aligning architecture to team boundaries during incremental monolith decomposition. Cover: bounded contexts with isolated data and sagas, backward-compatible versioned APIs, and replacing shared libraries with duplicated code or versioned SDKs.

Agile & Scrum2 min read

Decomposing a Monolith: Technical Strategy

This tests your ability to create a practical, phased migration strategy from monolith to microservices. A strong answer defines service boundaries via Bounded Contexts, manages data with events, and uses an API Gateway for contracts.

Agile & Scrum2 min read

Decomposing a monolith for scaled agile teams

Tests your grasp of domain-driven design and data consistency in a microservice migration. A good answer identifies bounded contexts, defines versioned APIs, and uses event-based patterns for data.

Python & FastAPI2 min read

FastAPI: Mounting Independent Sub-Applications

Mounting delegates a URL prefix to a separate FastAPI app, giving it its own isolated logic and API docs. Use it to combine microservices or isolate domains. The footgun: the main app's dependencies and middleware do not apply to the sub-app.

Monitoring & SRE2 min read

Service Discovery: How Services Find Each Other

Instead of hardcoding IP addresses, services ask a central registry for the live address of other services they need to call. This is crucial in dynamic microservice environments where IPs change constantly.

Monitoring & SRE2 min read

Health Checks: Is Your Service Alive or Just Running?

A health check answers 'Can you do your job?', not just 'Are you running?'. Load balancers and orchestrators use this API endpoint to stop routing traffic to sick instances.

Docker & Kubernetes2 min read

SPIFFE: Cryptographic Identity for Services

SPIFFE gives every service a cryptographic passport instead of a static secret. It's used in zero-trust networks for services to authenticate each other, like in a Kubernetes service mesh.

Docker & Kubernetes2 min read

Service Mesh Observability: Seeing Inside the Black Box

A service mesh provides observability by intercepting all service-to-service traffic. It automatically generates logs, metrics, and traces, helping you debug distributed systems without changing application code.

Data Science & Analytics2 min read

gRPC: High-Performance RPC with Contracts

gRPC is a typed, high-performance function call between services. Instead of crafting JSON, you define a contract and gRPC handles the efficient binary transport. It's for low-latency microservice communication.

Cloud Platforms2 min read

The Ambassador Pattern: Your App's Diplomatic Sidecar

The Ambassador pattern places a proxy next to your application to handle its network communication, like a diplomat. This adds modern features like monitoring, security, and retries to legacy apps or across languages without changing app code.

Cloud Platforms2 min read

Circuit Breaker Pattern: Fail Fast, Not Hard

A circuit breaker wraps network calls to prevent cascading failures. It monitors for errors, and if a service seems down, it 'trips' to fail requests instantly without hitting the network. This gives the failing service time to recover.

Cloud Platforms2 min read

The Saga Pattern: Transactions Across Microservices

The Saga pattern manages transactions across services by chaining local operations. If a step fails, compensating actions undo previous work. It's common in booking systems.

Cloud Platforms2 min read

API Gateway: The Front Door for Your Microservices

An API Gateway is the single front door for all your backend services. It handles tasks like authentication and rate limiting before routing requests to the correct microservice. The footgun is treating it as a simple proxy; it can become a bottleneck.

CI/CD & Automation2 min read

Distributed Tracing: Following a Request Across Microservices

Distributed tracing is like a passport for a request, stamped at every service it visits. It's essential for debugging microservices where one click can trigger many calls. The footgun is trying to debug without it, piecing together isolated logs.

Get Microservices bites daily.

Five a day, five minutes, offline. With quizzes so it sticks.

Open testing — you’ll join as an early tester.