Skip to content

Latest commit

 

History

History
289 lines (227 loc) · 9.14 KB

File metadata and controls

289 lines (227 loc) · 9.14 KB

Round 2 Interview Preparation - Complete Checklist ✅

All Round 2 Questions Covered

✅ Personal Questions

  • About yourself and workAboutYourself.md

✅ Microservices (Main Focus)

  • Benefits of microservicesBenefitsOfMicroservices.md
  • Difference between monolithic and microservicesmicroservices/MonolithicVsMicroservices.md
  • What is Circuit Breaker?microservices/CircuitBreaker.md
    • Code Implementation → src/main/java/com/epam/microservices/CircuitBreakerImpl.java
  • What is SAGA Pattern?microservices/SagaPattern.md
  • How to scale a microservice?microservices/ScalingMicroservice.md

✅ Design Patterns

  • What is behavioral design pattern?design-patterns/DesignPatterns.md
  • Different types of design patternsdesign-patterns/DesignPatterns.md
    • Strategy Pattern Code → design-patterns/StrategyPattern.java

✅ System Design Principles

  • What is SOLID principles?system-design/SOLID.md
    • SRP (Single Responsibility)
    • OCP (Open/Closed)
    • LSP (Liskov Substitution)
    • ISP (Interface Segregation)
    • DIP (Dependency Inversion)
  • What is CAP Theorem?system-design/CAP-Theorem.md
  • What is Polyglot Persistence?system-design/PolyglotPersistence.md

✅ Database Questions

  • 3rd highest salary in SQL querydatabase/Top3Salary.sql
  • What is 1 at the end in query?database/Top3Salary.sql (explained in comments)
  • Why MongoDB is better than MySQLsrc/main/java/com/epam/comparisons/MongoDBvsMysql.java

✅ System Design Interviews

  • Things to consider when designing Paytm serviceDesigningPaytm.md
  • Features the service should haveDesigningPaytm.md
  • Architecture designDesigningPaytm.md
  • Database designDesigningPaytm.md
  • Handling failuresDesigningPaytm.md
  • Scaling strategyDesigningPaytm.md

✅ Tools Knowledge

  • Do you know Kafka?tools/Kafka.md
  • Do you know Jenkins?tools/Jenkins.md

📊 Content Statistics

Markdown Files (Theory)

AboutYourself.md                               1 file
BenefitsOfMicroservices.md                     1 file
DesigningPaytm.md                              1 file

microservices/
├── CircuitBreaker.md                          1 file
├── MonolithicVsMicroservices.md               1 file
├── SagaPattern.md                             1 file
└── ScalingMicroservice.md                     4 files

design-patterns/
├── DesignPatterns.md                          1 file
└── (StrategyPattern.java - code)              

system-design/
├── SOLID.md                                   1 file
├── CAP-Theorem.md                             1 file
└── PolyglotPersistence.md                     3 files

database/
└── Top3Salary.sql                             1 file

tools/
├── Jenkins.md                                 1 file
└── Kafka.md                                   1 file

Total: 18 markdown files covering ALL theoretical questions

Code Files (Practical)

design-patterns/
└── StrategyPattern.java                       1 file (Payment methods)

microservices/
└── CircuitBreakerImpl.java                     1 file (Resilience4j implementation)

comparisons/
└── MongoDBvsMysql.java                        1 file (Database comparison)

Total: 3 comprehensive code files with detailed comments

SQL Files

database/
└── Top3Salary.sql                             4 solutions + explanations

🎯 Question-to-Resource Mapping

# Question Resource Type
1 About yourself and work AboutYourself.md Theory
2 Benefits of microservices BenefitsOfMicroservices.md Theory
3 Difference b/w monolithic & microservices microservices/MonolithicVsMicroservices.md Theory
4 What is behavioral design pattern design-patterns/DesignPatterns.md Theory
5 Different types of design patterns design-patterns/DesignPatterns.md Theory
6 What is circuit breaker microservices/CircuitBreaker.md + Code Theory + Code
7 What is SAGA pattern microservices/SagaPattern.md Theory
8 How to scale a microservice microservices/ScalingMicroservice.md Theory
9 What is SOLID principles system-design/SOLID.md Theory
10 What is CAP theorem system-design/CAP-Theorem.md Theory
11 What is Polyglot persistence system-design/PolyglotPersistence.md Theory
12 Design Paytm service DesigningPaytm.md System Design
13 Features of Paytm service DesigningPaytm.md System Design
14 Why MongoDB better than MySQL MongoDBvsMysql.java Comparison
15 3rd highest salary SQL database/Top3Salary.sql SQL
16 What is 1 at end of query database/Top3Salary.sql SQL
17 Do you know Kafka tools/Kafka.md Theory
18 Do you know Jenkins tools/Jenkins.md Theory

📚 Learning Path

Day 1: Basics

  • About Yourself
  • Benefits of Microservices
  • Monolithic vs Microservices
  • Design Patterns Introduction

Day 2: Design Patterns

  • Read all design patterns
  • Study Strategy Pattern code
  • Try implementing other patterns

Day 3: Microservices Patterns

  • Circuit Breaker (theory + code)
  • SAGA Pattern
  • Scaling strategies

Day 4: System Design

  • SOLID Principles
  • CAP Theorem
  • Polyglot Persistence

Day 5: Databases & Tools

  • SQL queries
  • MongoDB vs MySQL
  • Kafka
  • Jenkins

Day 6: System Design Interview

  • Design Paytm service
  • Practice on paper/whiteboard
  • Think about trade-offs

Day 7: Review & Practice

  • Review weak areas
  • Practice mock interview
  • Time yourself answering questions

💪 Interview Preparation Checklist

Before Interview:

  • Read AboutYourself.md and prepare personal introduction (2 min)
  • Understand benefits of microservices vs monolithic
  • Know circuit breaker pattern and when to use
  • Understand SOLID principles deeply
  • Know CAP theorem trade-offs
  • Practice Paytm system design (10 min explanation)
  • Know SQL queries for finding nth highest
  • Understand Kafka and Jenkins basics
  • Have 2-3 real-world examples ready

During Interview:

  • Listen carefully to the question
  • Ask clarifying questions
  • Think out loud (show your process)
  • Draw diagrams on whiteboard
  • Discuss trade-offs
  • Mention real projects if applicable

Common Answers to Have Ready:

  • "What do you do when a service fails?" → Circuit breaker + fallback
  • "How do you ensure no double payments?" → Idempotency keys
  • "How to scale for 10M users?" → Horizontal scaling + caching + sharding
  • "MySQL or MongoDB?" → Depends on use case - explain both

🎬 For YouTube Video

Video Structure (45-50 minutes):

Introduction (2 min)
├─ Channel intro
├─ Topic: EPAM Round 2 Questions
└─ What to expect

Part 1: Personal & Microservices (15 min)
├─ About yourself (2 min)
├─ Benefits of microservices (3 min)
├─ Monolithic vs Microservices (5 min)
├─ Circuit Breaker (5 min with code demo)
└─ SAGA Pattern (3 min)

Part 2: Design Patterns & System Design (15 min)
├─ Behavioral design patterns (3 min)
├─ SOLID Principles (6 min)
├─ CAP Theorem (3 min)
├─ Polyglot Persistence (3 min)

Part 3: Databases & Tools (10 min)
├─ SQL queries (2 min)
├─ MongoDB vs MySQL (3 min)
├─ Kafka (3 min)
└─ Jenkins (2 min)

Part 4: System Design Interview (10 min)
├─ Designing Paytm service (8 min)
├─ Key considerations (2 min)

Conclusion & Tips (3 min)
├─ Interview tips
├─ Final advice
└─ Resources

Code Demos:

  • Strategy Pattern (Payment methods)
  • Circuit Breaker in action

Diagrams to Show:

  • Monolithic vs Microservices architecture
  • Circuit Breaker states
  • SAGA pattern flows
  • CAP theorem triangle
  • Paytm system architecture

✨ Key Takeaways

For Each Question:

  1. Microservices: Trade-off between complexity and scalability
  2. Design Patterns: Choose right pattern for the problem
  3. SOLID: Write maintainable, testable code
  4. CAP Theorem: Choose 2 out of 3 properties
  5. Database: Choose based on use case, not hype
  6. System Design: Think about scale, failure, consistency

📈 Coverage Summary

13+ Real Interview Questions - All covered
18 Markdown Files - Comprehensive theory
3 Code Files - Practical examples
Real-World Examples - Paytm-like service
SQL Queries - 4 different approaches
Diagrams - 20+ visual explanations
Interview Tips - Best practices included


🚀 Ready to Ace Round 2?

Everything is prepared:

  • ✅ Understand the concepts
  • ✅ Know the code
  • ✅ Practice the system design
  • ✅ Have examples ready
  • ✅ Think about trade-offs

Time to shine in your interview! 💎


Last Updated: March 2026