Appearance
Interview Prep
Target role: Senior Software Engineer (Java/Spring backend, event-driven microservices, DevOps). Typical stack coverage: Java/Spring, Kafka/JMS-family brokers (IBM MQ, ActiveMQ), ArgoCD/Kubernetes/Helm, MongoDB/Postgres/DynamoDB, a front-end (React/Angular), and observability.
This document is organized into two halves:
- Technical questions — grouped by topic, with hints/what-to-hit where useful
- Behavioral questions — STAR-format prompts for a senior backend profile
Study tip: for every question, try to tie your answer to something concrete you built. Specifics beat generalities.
TABLE OF CONTENTS
- Core Java
- Spring Boot / Spring Framework
- Concurrency & Multithreading
- Messaging — Kafka, IBM MQ, ActiveMQ, JMS
- Microservices & Distributed Systems
- System Design
- REST APIs & Web Services
- Databases (SQL + NoSQL)
- DevOps — CI/CD, ArgoCD, GitOps, Kubernetes, Helm
- Cloud (AWS)
- Observability — OpenTelemetry, Elasticsearch, Logging
- Security & Secure Coding
- Data Formats — Avro, JAXB/XML, JSON
- Testing & TDD
- Frontend (React / Angular / TypeScript)
- Algorithms & Data Structures (Warm-up)
- Behavioral & Leadership
- Questions YOU Should Ask Them
1. Core Java
- What's the difference between
==and.equals()? Hit: reference vs value, contract betweenequalsandhashCode. - Walk me through the
hashCode/equalscontract. What happens if you break it? —HashMap/HashSetlookups break, duplicates appear, retrieves miss. - Difference between
ArrayList,LinkedList, andVector. O(1) vs O(n) access, synchronization, modern preference forArrayList+ explicit sync. HashMapvsLinkedHashMapvsTreeMapvsConcurrentHashMap. Ordering guarantees, thread-safety, performance.- How does
HashMapinternally work (Java 8+)? Buckets → linked list → red-black tree (treeify at 8, untreeify at 6). - Checked vs unchecked exceptions. When do you throw each? Recoverable vs programmer error; Spring's tendency toward unchecked.
- What is the
try-with-resourcesstatement? What interface does it require?AutoCloseable. - Immutability — how do you make a class truly immutable?
finalclass,finalfields, no setters, defensive copies, no leakingthis. StringvsStringBuildervsStringBuffer. Immutability, thread-safety cost.- What is the string pool?
new String("abc")vs"abc"? - Java generics — what is type erasure? Why can't you do
new T()? - Covariance vs contravariance — what does
List<? extends T>vsList<? super T>mean? PECS (Producer Extends, Consumer Super). - What is
Optionaland when should you NOT use it? Don't use as field or method parameter; return-type only. - Streams — difference between intermediate and terminal operations. What is lazy evaluation?
- Explain
mapvsflatMap. - What does
parallelStream()actually do and when is it a bad idea? ForkJoinPool common pool, ordering, shared state pitfalls. - Functional interfaces — name the core ones in
java.util.function.Function,Predicate,Consumer,Supplier,BiFunction. - Records (Java 14+) — what do they give you? When shouldn't you use them? Auto-generated
equals/hashCode/toString/accessors; not for mutable state. - Sealed classes/interfaces — what problem do they solve? Exhaustive pattern matching, controlled inheritance for domain types.
- Pattern matching for
instanceofandswitch— show an example. - Text blocks — what are they and why do they matter for embedded JSON/SQL/XML?
- Virtual threads (Java 21) — what are they, how do they differ from platform threads, what about pinning?
- JVM memory model — heap, stack, metaspace, young gen, old gen.
- What is a
StackOverflowErrorvsOutOfMemoryError? How do you diagnose each? - Garbage collectors — G1 vs ZGC vs Shenandoah. When would you pick ZGC? Low-latency, large heaps.
- How do you analyze a memory leak in a running JVM? Heap dump → Eclipse MAT / VisualVM, histogram, dominator tree.
- What's the difference between
final,finally, andfinalize?finalizeis deprecated — know that. - Serialization — why is
Serializableconsidered dangerous? Gadget chains, attack surface; prefer JSON/protobuf/Avro. - Java modules (JPMS) — what problem do they solve?
- How do you handle
nullsafely without wrapping everything inOptional?Objects.requireNonNull, annotations (@NonNull), defensive checks at boundaries.
2. Spring Boot / Spring Framework
Full study guide: see SPRING.md — deep dive on IoC, AOP, transactions, security, WebFlux, Cloud, Boot 3.x features.
- What is dependency injection and why does Spring use it?
- Constructor injection vs field injection vs setter injection — which does Spring recommend and why? Constructor: immutable, required deps, testable, no reflection games.
@Componentvs@Servicevs@Repositoryvs@Controller— do they actually differ? Same at runtime;@Repositoryadds persistence-exception translation.- Bean scopes — singleton, prototype, request, session. Default singleton pitfalls with mutable state.
- What is the Spring Bean lifecycle?
@PostConstruct,InitializingBean,@PreDestroy. - How does Spring Boot auto-configuration work?
spring.factories/AutoConfiguration.imports,@Conditionalannotations. - What is
@SpringBootApplicationcomposed of?@Configuration+@EnableAutoConfiguration+@ComponentScan. - Profiles — how would you configure different beans for dev/staging/prod?
@Profile,spring.profiles.active. - Externalized configuration — precedence order (env vars, CLI args,
application.yml, etc.). - What is Spring AOP and when have you used it? Cross-cutting: logging, auth, transactions.
- How do
@Transactionalboundaries work? What breaks them? Self-invocation,privatemethods, proxy limitations, propagation. - Propagation levels —
REQUIRED,REQUIRES_NEW,NESTED,SUPPORTS. Give a use case for each. - What happens if you throw a checked exception from a
@Transactionalmethod? Default rollback is on unchecked — must setrollbackFor. - Spring MVC request lifecycle — what happens from HTTP request to controller method?
@RestControllervs@Controller.- How do you handle exceptions globally in Spring?
@ControllerAdvice+@ExceptionHandler. - What is Spring Data and how does it generate repository implementations? Proxies, method-name parsing,
@Query. - Actuator — what endpoints do you expose in production and which do you lock down?
/health,/info,/metricsopen;/env,/heapdumprestricted. - How would you secure a Spring Boot REST API? Spring Security, OAuth2/JWT, method security, CSRF for browser-based, CORS config.
- What is Spring WebFlux? When would you reach for it over Spring MVC? Reactive, non-blocking I/O, high concurrency with few threads. Note: virtual threads change this calculus.
- How do you write an integration test for a Spring Boot app?
@SpringBootTest,@DataMongoTest, Testcontainers,@MockBean. - Explain
@ConfigurationPropertiesvs@Value. Type-safe binding vs one-off injection. - Circular bean dependencies — how does Spring handle them and how do you avoid them?
- How does Spring Boot's embedded Tomcat/Jetty/Undertow differ? How would you tune connection/thread pools?
- What is a
BeanPostProcessorand when would you write one?
3. Concurrency & Multithreading
RunnablevsCallablevsThread.synchronizedvsReentrantLock— when pick which?ReentrantLockfor tryLock, fairness, interruptible.- What is
volatileand when is it sufficient (vs requiringsynchronized)? Visibility only, not atomicity. - What does
AtomicIntegergive you thatvolatile intdoesn't? CAS-based compound ops. - Executor framework —
newFixedThreadPoolvsnewCachedThreadPoolvsnewSingleThreadExecutor. Unbounded queue risks. - Why is
Executors.newFixedThreadPoolconsidered dangerous in production? UnboundedLinkedBlockingQueue→ OOM. Prefer explicitThreadPoolExecutor. CompletableFuture— how does it chain async operations? How do you combine multiple futures?thenCompose,thenCombine,allOf,anyOf.- Deadlock — what are the four conditions, how do you prevent it?
- What's a race condition? Give an example.
- Producer-consumer pattern using a
BlockingQueue. - What is the
ForkJoinPooland work-stealing? ConcurrentHashMapinternals — how does it achieve thread safety without full locking? Per-bucket locks (Java 8+).- Virtual threads — what workloads benefit? What should you avoid? Good: blocking I/O. Bad: CPU-bound, long
synchronizedblocks (pinning). ThreadLocal— when have you used it? What's the leak risk in thread pools?
4. Messaging — Kafka, IBM MQ, ActiveMQ, JMS
Deep-dive companion:
DISTRIBUTED_SYSTEMS.md— Parts 3 (messaging fundamentals), 4 (Kafka deep dive), and 5 (IBM MQ / ActiveMQ / RabbitMQ / JMS) expand every question below with concepts, diagrams, Spring code, and model answers.
This is your strongest territory. Expect deep questions here.
Kafka
- Explain Kafka's architecture — broker, topic, partition, consumer group.
- How does Kafka guarantee ordering? At what scope? Within a partition only.
- What determines which partition a message goes to? Key hash, or round-robin if no key.
- Consumer groups — what happens when a new consumer joins? When one crashes? Rebalance, partition reassignment.
- Delivery semantics — at-most-once, at-least-once, exactly-once. How is each achieved? Producer
acks, idempotent producer, transactions. - What is the difference between
acks=0,acks=1, andacks=all? - Kafka retention — log-based vs compacted topics.
- What is a dead-letter topic and how would you set one up?
- How do you handle a poison-pill message in a consumer? Error handler, retry template, DLT.
- How would you design a Kafka consumer that processes 10k+ msgs/day reliably? Idempotency, commit-after-process, DLT, monitoring lag.
- Consumer lag — how do you monitor and alert on it?
- Schema evolution — backward vs forward vs full compatibility. Which does Avro default to and why does that matter?
- What is the schema registry's role?
- When would you NOT use Kafka? Small volume pub/sub, request/reply, strong transactional needs across heterogeneous systems.
IBM MQ / JMS / ActiveMQ
- What is JMS and how does Spring integrate with it?
JmsTemplate,@JmsListener,MessageConverter. - Queue vs topic (JMS model).
- How does IBM MQ differ from Kafka architecturally? Broker-centric, per-message ack, transactional, not log-based.
- Persistent vs non-persistent messages in IBM MQ.
- What is a backout queue and when is a message moved there?
- How did you integrate IBM MQ with your Spring Boot app? Connection factory, listener container, error handling. — Be ready to walk through a real integration you've built.
- XA / distributed transactions across MQ and DB — when do you need them? What's the cost?
- How would you guarantee no message loss between IBM MQ and AWS ActiveMQ in a bridge/migration scenario?
- How do you handle message redelivery / poison messages in ActiveMQ?
- When would you choose IBM MQ over Kafka, or vice versa? Legacy integration, transactional guarantees, mainframe interop → MQ. High-throughput event streaming → Kafka.
5. Microservices & Distributed Systems
Deep-dive companion:
DISTRIBUTED_SYSTEMS.md— Parts 1 (fundamentals: CAP, PACELC, consistency, clocks), 2 (replication, consensus, partitioning), 6 (microservices patterns), and 7 (resilience) cover every topic below with full worked answers, plus Part 9 system-design drills.
- What's the difference between a monolith and microservices? When is a monolith the right choice?
- What problems does a service mesh solve? mTLS, retries, traffic shifting, observability.
- Synchronous (REST) vs asynchronous (event-driven) communication — tradeoffs.
- Circuit breaker pattern — how does it work? Closed → open → half-open. Resilience4j.
- Retry pattern — why is naive retry dangerous? Retry storms, idempotency requirements, exponential backoff + jitter.
- Saga pattern — orchestration vs choreography. When to use each.
- Distributed transactions — two-phase commit vs saga vs outbox pattern.
- Outbox pattern — what problem does it solve? Dual-write between DB and message broker.
- Idempotency — how do you make a POST endpoint idempotent? Idempotency keys, dedup stores.
- CAP theorem — explain with a concrete example.
- Eventual consistency — when is it acceptable? How do you explain it to a non-technical stakeholder?
- Service discovery — client-side vs server-side. Examples.
- API gateway — what does it do and what are the pitfalls? Single point of failure, feature creep.
- How do you version a REST API in a microservices world? URL versioning, header versioning, deprecation strategy.
- How do you correlate logs across microservices for a single user request? Correlation IDs, W3C trace context, OpenTelemetry.
- How do you deploy a breaking database schema change across 6 microservices that all read that table? Expand-contract, backward-compatible intermediate schema.
- What happens when a downstream service is slow? How do you prevent cascading failure? Bulkheads, timeouts, circuit breakers.
- Service-to-service auth — mTLS vs JWT vs OAuth2 client credentials. Tradeoffs.
6. System Design
Expect one mid-depth design problem (~30–45 min). Framework: clarify → requirements (functional + non-functional) → API → data model → high-level architecture → deep-dive on 1–2 components → scaling/failure modes.
Likely prompts for a senior backend profile
- Design a system that ingests 10k+ transactions/day from IBM MQ and routes to downstream microservices. Classic legacy-MQ integration prompt. Be ready to whiteboard it.
- Design a message bridge between IBM MQ (on-prem) and AWS ActiveMQ. Network isolation, security, failover, dedup.
- Design a centralized logging/observability pipeline for 20+ microservices. OpenTelemetry → collector → Elasticsearch/Kibana.
- Design a GitOps deployment system for 10+ microservices across dev/staging/prod. ArgoCD ApplicationSet, Helm, secret management (Sealed Secrets / External Secrets).
- Design a URL shortener. Classic. Base62, hash collisions, analytics pipeline, cache.
- Design a rate limiter. Token bucket vs leaky bucket vs sliding window. Where to put it (gateway vs sidecar).
- Design a notification system (email + SMS + push). Queue, fan-out, retries, user prefs.
- Design a file upload service with virus scanning. Pre-signed URLs, scan queue, quarantine.
- Design an audit log service for a regulated environment. Append-only, tamper-evident, retention policies.
- Design a schema registry and evolution workflow for a multi-team Kafka environment. Pairs with cross-team schema-standardization work.
Questions they might ask during system design
- How would this handle 10x traffic?
- Where's the single point of failure?
- What's your data partitioning strategy?
- How do you handle a brief region outage?
- How do you migrate from the old system without downtime?
- What does the rollback plan look like?
- What's your caching strategy and cache invalidation policy?
- What metrics would you alert on?
7. REST APIs & Web Services
- What makes an API "RESTful"? Stateless, resource-oriented, uniform interface, HATEOAS (often skipped in practice).
- Idempotency of HTTP methods — which are idempotent? GET, PUT, DELETE, HEAD. POST is not.
- When do you use PUT vs PATCH vs POST?
- HTTP status codes — what's the difference between 401 and 403? 401 = unauthenticated, 403 = authenticated but forbidden.
- When would you return 202 vs 200? Async processing accepted.
- How do you design pagination? Offset/limit vs cursor-based; tradeoffs.
- How do you handle partial failure in a bulk API? 207 Multi-Status, per-item errors.
- What is HATEOAS and when is it actually useful?
- API versioning strategies and migration.
- How do you document an API? OpenAPI/Swagger, Postman collections — and a habit of maintaining them per endpoint.
- gRPC vs REST — when pick each? Internal service-to-service, streaming, strict contracts → gRPC.
8. Databases (SQL + NoSQL)
SQL (Postgres, MySQL, SQL Server)
- ACID — explain each letter with a concrete example.
- Isolation levels — read uncommitted, read committed, repeatable read, serializable. What anomalies does each prevent? Dirty read, non-repeatable read, phantom read.
- What is MVCC and how does Postgres use it?
- Indexes — B-tree vs hash vs GIN. When do indexes hurt you? Write amplification, bloat.
- Covering index — what is it?
- When would you denormalize?
EXPLAIN/EXPLAIN ANALYZE— how do you read a query plan?- N+1 query problem — how do you spot and fix it in JPA/Hibernate?
JOIN FETCH, entity graphs,@BatchSize. - Connection pooling — why, and what happens when the pool is exhausted? HikariCP defaults.
- Pessimistic vs optimistic locking. Give a use case for each.
- Transactions — what happens if the client disconnects mid-transaction?
NoSQL (MongoDB, DynamoDB)
- When would you pick MongoDB over Postgres? Flexible schema, document-oriented data, horizontal scale with sharding.
- MongoDB indexes — how does compound index prefix matching work?
- MongoDB transactions — what are the limitations? Replica set required, performance cost.
- DynamoDB — partition key vs sort key. What is a hot partition?
- DynamoDB — GSI vs LSI, and the consistency guarantees of each.
- DynamoDB — single-table design, what problem does it solve?
- How do you model a one-to-many relationship in DynamoDB?
- Read capacity units / write capacity units — on-demand vs provisioned.
Cross-cutting
- How do you migrate a zero-downtime schema change for a column rename? Dual-write → backfill → dual-read → cutover → cleanup.
- When would you use a cache (Redis) in front of a DB? What are the invalidation strategies? Cache-aside, write-through, write-behind.
9. DevOps — CI/CD, ArgoCD, GitOps, Kubernetes, Helm
CI/CD & GitOps
- What is GitOps and how does ArgoCD implement it? Git as source of truth, declarative, pull-based reconciliation.
- ArgoCD — what does sync policy
automated+selfHeal+pruneactually do? - What's the difference between push-based (Jenkins) and pull-based (ArgoCD) deployments?
- How does ArgoCD detect drift? Continuous reconciliation loop, compares live state to Git.
- App-of-apps vs ApplicationSet — when use each? ApplicationSet generates apps from a matrix/cluster/git generator; scales better.
- How do you drive a 99%+ deployment success rate? What metrics would you track? DORA four keys: deployment frequency, lead time, change failure rate, MTTR.
- Rollback strategy with ArgoCD — how? Git revert (source of truth), or
argocd app rollback. - Blue/green vs canary vs rolling deployments — tradeoffs. Argo Rollouts for canary.
- GitHub Actions — how do you structure workflows for build, test, scan, deploy?
- How do you handle secrets in GitOps? Sealed Secrets, External Secrets Operator, SOPS, Vault.
Kubernetes & Helm
- Pod vs Deployment vs StatefulSet vs DaemonSet.
- Deployment vs StatefulSet — when need StatefulSet? Stable network ID, stable storage, ordered startup — databases, Kafka.
- Service types — ClusterIP, NodePort, LoadBalancer, ExternalName. Ingress vs Service.
- What is a ConfigMap vs Secret, and how do you mount them?
- Liveness vs readiness vs startup probes — what happens on failure of each?
- What is a Horizontal Pod Autoscaler? What metrics can it scale on?
- Resource requests vs limits — what happens if you exceed each? CPU throttled, memory OOMKilled.
- Pod eviction — when does the kubelet evict? Node pressure, priority classes.
- Network policies — what problem do they solve?
- How does a Helm chart work? What's the templating engine? Go templates.
values.yaml,Chart.yaml,_helpers.tpl. - Helm hooks — pre-install, post-upgrade. Use case? Migrations, CRD installation.
- How do you share a Helm chart across 5+ microservices? Umbrella chart, library chart, chart dependencies.
- OpenShift vs vanilla Kubernetes — what's different? SCCs, Routes, oc CLI, built-in registry, opinionated.
- How does OpenShift's SCC (Security Context Constraints) differ from Pod Security Standards?
- What is a CRD and an Operator? When would you build one?
- Debugging — pod is
CrashLoopBackOff. Walk me through what you check.kubectl describe pod,kubectl logs --previous, events, resource limits. - Debugging — pod is
ImagePullBackOff. Common causes? Wrong image name/tag, registry auth missing, network issue.
Docker
- Multi-stage Docker build — why? Small runtime image, no build tools in prod.
- What is layer caching? How do you order Dockerfile instructions to maximize cache hits?
- Distroless vs Alpine vs Ubuntu base images — tradeoffs.
- What's the difference between
ENTRYPOINTandCMD? - Docker Compose — when would you still use it? Local dev, simple single-host.
10. Cloud (AWS)
- EC2 vs ECS vs EKS vs Lambda — when pick each?
- IAM — difference between a role, a user, and a policy. How does a pod on EKS assume an AWS role? IRSA (IAM Roles for Service Accounts).
- S3 — storage classes, lifecycle policies, versioning, bucket policies vs ACLs.
- S3 pre-signed URL — what problem does it solve?
- SQS vs SNS vs EventBridge — when use each?
- SQS — standard vs FIFO.
- VPC — public vs private subnet, NAT gateway, security group vs NACL.
- CloudFront — how does it work with S3 / with an ALB?
- How do you monitor costs? Cost Explorer, budgets, tags.
- How would you migrate an on-prem Spring Boot app to AWS? Lift-and-shift vs replatform vs refactor. ECS/EKS/ElasticBeanstalk tradeoffs.
11. Observability — OpenTelemetry, Elasticsearch, Logging
- Three pillars of observability — logs, metrics, traces. What does each answer?
- What is OpenTelemetry and what does it standardize? Vendor-neutral API/SDK/protocol (OTLP).
- Distributed tracing — what is a span, a trace, and a trace context?
- How do you propagate trace context across service boundaries? W3C
traceparentheader. - Structured logging — why JSON logs matter.
- How do you correlate a log line with a trace? Inject
trace_id/span_idinto MDC. - Elasticsearch — what is an inverted index?
- ES — shard vs replica. How do you size them?
- ES — how do you handle mapping explosions?
- Metrics — counter vs gauge vs histogram vs summary. When pick each?
- USE method vs RED method — when apply each? USE (Utilization, Saturation, Errors) for resources; RED (Rate, Errors, Duration) for services.
- What SLIs/SLOs would you set for a REST API?
- How do you alert on a distributed system without causing alert fatigue? Symptom-based alerts on SLOs, not every resource.
12. Security & Secure Coding
- OWASP Top 10 — name as many as you can, with a Spring mitigation for each. Injection, broken auth, sensitive data exposure, XXE, broken access control, security misconfig, XSS, insecure deserialization, vulnerable components, insufficient logging.
- SQL injection — how does parameterized JDBC/JPA prevent it? When do you still have risk? String-built JPQL, native queries with concatenation.
- XXE — how do you disable it in JAXB / DocumentBuilder? Set the secure-processing feature, disable external DTDs and entities.
- CSRF vs CORS — what does each protect against?
- How does JWT work? What's the difference between a JWT and a session cookie?
- JWT pitfalls —
alg: none, key confusion, long expirations, no revocation. - OAuth2 flows — authorization code (with PKCE), client credentials, device code. Use cases.
- mTLS — how does it differ from one-way TLS? When require it?
- Secret management — why is committing a
.envfile bad even in a private repo? - Supply chain security — SBOM, Dependabot, Snyk, OWASP Dependency Check. Know what each catches and where it fits in CI.
- How do you handle PII in logs? Redaction, structured logging with allowlists.
- What is the principle of least privilege and how do you apply it in Kubernetes? RBAC, SAs per workload, NetworkPolicies, no root containers.
- Container security — what does
runAsNonRoot: truedo? What is a rootless container? - How do you rotate secrets without downtime?
- Log4Shell — what was the vuln and how did you mitigate it? JNDI lookup in log messages; upgrade or disable lookups.
13. Data Formats — Avro, JAXB/XML, JSON
- Why Avro over JSON for Kafka? Schema enforcement, compact binary, schema evolution.
- Schema evolution — what's a backward-compatible change vs a breaking change in Avro? Adding field with default = backward; removing required field = breaking.
- Standardizing Avro schemas across several teams — what are the common pitfalls? Type mismatches, naming, enum drift, missing defaults.
- Schema registry — subject naming strategies (TopicName, RecordName, TopicRecordName).
- JAXB — what's the difference between XML-first (XSD → Java) and Java-first (annotations)? XSD-first gives strict schema validation; Java-first is quicker for internal types.
- When would you migrate from a templating engine (e.g., Thymeleaf) to JAXB for XML output? Templating is error-prone for XML; JAXB gives schema validation and type safety.
- How do you handle XML namespaces in JAXB?
@XmlSchema,package-info.java. - XML vs JSON vs Protobuf vs Avro — when use each?
- How do you prevent XXE in JAXB? Set
XMLInputFactoryproperties, disable external entities.
14. Testing & TDD
- TDD cycle — red, green, refactor. What's the hardest part in practice?
- Unit vs integration vs end-to-end — what's the right ratio? Test pyramid.
- Mockito — what's the difference between
mock,spy,@Mock,@InjectMocks? - When do you mock vs use a real collaborator? Mock at architectural boundaries; real for POJOs / value objects.
verify()vsassert— what's the philosophical difference? Behavior vs state.- Testcontainers — why use it over H2/embedded Mongo? Real engine, avoids false positives.
- How do you test a Kafka consumer? Embedded Kafka, Testcontainers Kafka,
@KafkaListener+CountDownLatch. - How do you test a
@Transactionalrollback? - Flaky tests — how do you diagnose? Shared state, timing, external deps, test ordering.
- Code coverage — is 100% the goal? No — meaningful assertions matter; chase value, not the number.
- Contract testing — what is Pact and when use it?
- What's your review checklist for PRs with a TDD focus? Tests-before-fix, failure-mode coverage, mock boundaries, assertion specificity.
15. Frontend (React / Angular / TypeScript)
React
- Class components vs function components + hooks.
useStatevsuseReducer— when switch?useEffect— what goes in the dep array, what are common pitfalls? Missing deps, infinite loops, stale closures.useMemovsuseCallback— what do they actually do?- How do you lift state up? When do you reach for Context vs Redux vs Zustand?
- React re-render triggers — why did my component re-render?
- Keys in lists — why do they matter?
Angular (legacy but on your resume)
- Angular vs AngularJS — why is the migration painful? Full rewrite, different component model.
- Dependency injection in Angular — hierarchical injectors.
- Observables vs Promises — why RxJS?
TypeScript
interfacevstype— when use each?unknownvsany— why preferunknown?- Generics in TS — practical use case.
- Structural typing — what's surprising about it?
Cross-cutting
- How do you handle loading states and error boundaries for an async API call?
- How would you reduce an Angular/React bundle size? Code splitting, lazy routes, tree shaking, analyzer.
16. Algorithms & Data Structures (Warm-up)
Not a LeetCode-heavy profile, but expect 1–2 warm-ups:
- Reverse a linked list. Iterative + recursive.
- Two-sum. Hash map, O(n).
- Valid parentheses. Stack.
- Merge two sorted lists / arrays.
- Find duplicates in an array. Set, or Floyd's cycle if constrained.
- LRU cache.
LinkedHashMapwithaccessOrder=true, or doubly-linked list + hash map. - Top K frequent elements. Heap or bucket sort.
- Given a stream of events, return the top N by count in the last hour. Sliding window + heap — a natural fit for messaging workloads.
- Binary search on a rotated sorted array.
- BFS vs DFS — when use each?
Practice: speak your thinking out loud, state brute force first, discuss complexity, then optimize.
17. Behavioral & Leadership
Use STAR (Situation, Task, Action, Result). Quantify where you can — reach for concrete numbers (throughput, deploy rate, defect reduction).
Ownership & Impact
- Walk me through a project you're most proud of. Candidates: a legacy MQ integration, a cross-team schema standardization, an XML-schema migration.
- Tell me about a time you identified a problem no one else saw. — Inconsistent schemas drifting across several teams is a classic.
- Describe a time you shipped something under tight deadlines.
- What's the most technically challenging problem you've solved?
- Tell me about a decision you made that had long-term impact on a system.
Conflict & Disagreement
- Tell me about a time you disagreed with a teammate/architect. How did you resolve it?
- How do you handle code review pushback from a senior engineer you disagree with?
- Describe a time you had to push back on a product/business stakeholder.
- Tell me about a conflict between two team members you mediated. — Mentorship/lead angle.
Failure & Learning
- Tell me about a time you broke production. Be honest, focus on RCA and prevention. What monitoring/tests you added after.
- Describe a project that failed or missed expectations. What did you learn?
- Tell me about a piece of code you shipped that you later regretted. Why?
- Tell me about feedback you received that was hard to hear.
Leadership, Mentorship, Collaboration
- Tell me about a time you mentored a cohort of interns or juniors. Sprint length, standups, PR review cadence, curriculum.
- How would you improve sprint completion from 60% to 85%? Walk through the specific levers you'd pull.
- Describe your PR review philosophy. TDD focus, defect reduction — what specifically do you look for?
- How do you onboard a new developer to a complex codebase?
- Tell me about a time you influenced a technical decision without formal authority.
- How do you balance mentoring with delivering your own work?
- Describe a time you had to deliver hard feedback to someone.
Working with Ambiguity
- Describe a project where the requirements changed mid-flight.
- Tell me about a time you had to make a decision with incomplete information.
- How do you approach a brand-new codebase you've never seen?
Prioritization & Process
- How do you prioritize when everything feels urgent?
- Describe how your team runs Agile. What works, what doesn't?
- How do you handle tech debt vs feature work pressure?
Communication & Stakeholders
- Describe a time you had to explain a technical concept to a non-technical stakeholder.
- Tell me about a time you presented or represented your team. Org-wide meetings, cross-team reviews, etc.
- How do you handle a situation where a stakeholder's ask conflicts with engineering reality?
Culture & Motivation
- Why are you looking to leave your current role? Have a positive, forward-looking answer.
- Why this company/role? Research them — product, mission, tech stack, recent news.
- Where do you see yourself in 3–5 years?
- What kind of engineer do you want to become?
- How do you stay current with technology? Specific sources — not vague "I read articles."
- What's your ideal team culture?
18. Questions YOU Should Ask Them
Always end with 3–5 thoughtful questions. Shows engagement and helps you evaluate them. Pick a mix across:
Team & Role
- What does a typical week look like for someone in this role?
- How is the team structured, and where does this role fit in?
- What are the first 30/60/90 day expectations?
- What's the biggest challenge the team is facing right now?
- How does the team balance feature work vs tech debt vs platform work?
Technical
- What does the deployment pipeline look like end-to-end?
- How do you handle on-call / incident response?
- What's the testing philosophy here? Coverage targets, integration vs unit ratio?
- How do teams share services or libraries across the org?
- What does observability look like — logs/metrics/traces — and are engineers empowered to instrument their own code?
- What's the most interesting technical problem the team has solved recently?
Growth & Culture
- How do engineers grow technically here? Is there a clear senior/staff path?
- How are technical decisions made — RFC process, staff engineers, consensus?
- What's the code review culture like?
- How does the team handle disagreement on technical approaches?
- What do you personally like most about working here?
Organizational
- How does the team/company measure success?
- What's the biggest change you've seen here in the past year?
- Is there anything about my background that gives you hesitation I can address?
Final Prep Checklist (Day-Of)
- [ ] Re-read your resume bullets out loud — can you defend every metric?
- [ ] Have 3 "hero stories" ready that you can flex into multiple behavioral questions (e.g., a legacy MQ integration, a cross-team schema standardization, a mentorship or intern-leader program).
- [ ] Know the company's product, tech stack, mission, recent news.
- [ ] Have your environment ready: water, pen/paper, reliable internet, second monitor for notes.
- [ ] 3–5 questions prepared to ask them.
- [ ] Practice a 60-second tell-me-about-yourself. Lead with what you do now, anchor in concrete impact (throughput, deploy rate, mentorship reach), hint at what you're looking for.
- [ ] Whiteboard/diagramming tool familiar if remote (Excalidraw, Miro).
- [ ] Deep breath. You're well-prepared for this.