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¶
- 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?
Search¶
- 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:
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:
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.