Skip to content

Virtusa expected

1. Java 17-21 Questions

Java Features

  • What new features in Java 17/21 have you used in production?
  • Explain Records. When would you use them?
  • Difference between Record and Lombok DTO?
  • What are Sealed Classes?
  • Explain Virtual Threads in Java 21.
  • How do Virtual Threads differ from Platform Threads?
  • When should Virtual Threads not be used?

Concurrency

  • Difference between synchronized, ReentrantLock, and ReadWriteLock.
  • How ConcurrentHashMap works internally?
  • Explain CAS (Compare And Swap).
  • What is ThreadLocal?
  • Deadlock detection and prevention?

JVM

  • Explain Heap, Stack, Metaspace.
  • How does G1GC work?
  • What causes OutOfMemoryError?
  • How would you investigate memory leaks in production?

2. Spring Boot 3.x & Microservices

Spring Boot

  • What changed in Spring Boot 3?
  • Why was javax changed to jakarta?
  • Explain Bean lifecycle.
  • Difference between @Component, @Service, @Repository.
  • How does dependency injection work internally?

Security

  • JWT authentication flow?
  • OAuth2 vs JWT?
  • How would you secure microservice-to-microservice communication?

Database

  • Difference between JPA save() and saveAndFlush().
  • N+1 query problem?
  • How do you optimize Hibernate queries?

Transactions

  • How does @Transactional work internally?
  • Why doesn't @Transactional work in self-invocation?
  • What propagation levels have you used?

3. Microservices Architecture

Core Concepts

  • Why microservices instead of monolith?
  • What challenges arise after splitting a monolith?
  • How do services communicate?

Resilience

  • Circuit Breaker pattern?
  • Retry pattern?
  • Bulkhead pattern?
  • Rate Limiting?

Distributed Transactions

Very common question.

Question: You have Order Service and Payment Service. Payment succeeds but Order update fails. How will you handle it?

Expected discussion:

  • Saga Pattern
  • Choreography
  • Orchestration
  • Compensation transactions

Event Driven

  • Kafka vs RabbitMQ?
  • At-least-once vs Exactly-once delivery?
  • Consumer group?
  • Partitioning strategy?
  • How would you handle duplicate messages?

4. System Design Questions

Since you have 8+ years experience, expect these.

Design URL Shortener

Questions:

  • DB schema?
  • Generate unique short code?
  • Handle 100M URLs?
  • Cache strategy?
  • Analytics collection?

Design Payment System

  • Idempotency
  • Double payment prevention
  • Transaction tracking

Design Notification Service

  • Email
  • SMS
  • Push
  • Retry strategy

Design Search Service

Relevant because they specifically mention OpenSearch.

Questions:

  • How would you build product search?
  • How would you sync DB → OpenSearch?
  • Event-driven indexing?
  • Reindexing strategy?

5. OpenSearch / Elasticsearch

This is likely a differentiator for this role.

Basics

  • Difference between OpenSearch and Elasticsearch?
  • What is an inverted index?
  • What is a shard?
  • What is a replica?
  • Full-text search vs keyword search?
  • Match query vs term query?
  • Fuzzy search?
  • Autocomplete implementation?

Scaling

  • What happens when a shard becomes too large?
  • How do you perform reindexing with zero downtime?

Real World

Question: A user updates product information in MySQL. How does it appear in OpenSearch?

Expected answer:

MySQL
Outbox/Event
Kafka
Indexer Service
OpenSearch

6. React 18 + TypeScript + Vite

React

  • Explain React rendering lifecycle.
  • Difference between useEffect and useLayoutEffect.
  • Why React Fiber?
  • What is Concurrent Rendering?
  • React 18 improvements?

Performance

  • React.memo
  • useMemo
  • useCallback

When to use each?

State Management

  • Redux vs Context API?
  • React Query vs Redux?
  • How do you manage server state?

TypeScript

  • interface vs type
  • generics
  • utility types
  • discriminated unions

Example:

type Success = {
    status: "success";
    data: User;
};

type Error = {
    status: "error";
    message: string;
};

Why is this useful?


7. Database Questions

SQL

  • Find second highest salary.
  • Window functions?
  • Explain indexing.
  • Clustered vs non-clustered index.

Scaling

  • Read replicas?
  • Sharding?
  • Partitioning?

NoSQL

  • MongoDB vs PostgreSQL?
  • When would you choose NoSQL?

8. Cloud Questions

AWS/GCP

  • How would you deploy microservices?
  • ECS vs Kubernetes?
  • Blue-Green deployment?
  • Rolling deployment?

Kubernetes

Since you've worked with OCI/K3s:

  • Difference between Deployment and StatefulSet.
  • How Service discovery works?
  • What happens when a Pod dies?
  • Ingress vs LoadBalancer?
  • ConfigMap vs Secret?

9. Architecture Ownership Questions

These are very common for senior candidates.

Example Questions

  • Describe a system you designed from scratch.
  • Biggest production incident you handled?
  • How did you reduce system latency?
  • How did you scale a service?
  • How do you review design documents?
  • How do you estimate technical risk?

Leadership

You led 10 developers, so expect:

  • How do you handle disagreements in design reviews?
  • How do you mentor junior engineers?
  • Tell me about a difficult stakeholder.
  • How do you balance speed vs quality?

10. Questions I Would Expect Specifically For You

Based on your background in payment disputes, React, Spring Boot, Kafka, Kubernetes:

Scenario 1

Design a dispute management system processing 1 million disputes/day.

Scenario 2

Design search for 50 million transactions using OpenSearch.

Scenario 3

Order service calls:

Inventory
Payment
Shipping
Notification

One service fails.

How do you ensure consistency?

Scenario 4

React page loads in 8 seconds.

How would you diagnose and optimize it?

Scenario 5

OpenSearch cluster latency suddenly increases from 50ms to 2s.

How would you investigate?


If this is a 60-90 minute senior engineer interview, I'd expect roughly:

  • 20% Java/Spring
  • 20% React/TypeScript
  • 30% System Design
  • 20% Microservices/Kafka/OpenSearch
  • 10% Leadership & Ownership

The highest-leverage preparation areas are Saga pattern, Kafka internals, OpenSearch indexing/search design, React performance optimization, and end-to-end system design, because those are the topics that most clearly distinguish a senior engineer from a mid-level developer.