0% found this document useful (0 votes)
28 views83 pages

SDE Roadmap: Java & DSA Guide

The document outlines a comprehensive roadmap for Software Development Engineers (SDE), covering essential topics such as programming languages (with a focus on Java), data structures and algorithms, system design, project work, and interview preparation strategies. It includes detailed learning phases, recommended resources, and practice problems to enhance coding skills and prepare for technical interviews, particularly for FAANG companies. The roadmap emphasizes the importance of mastering foundational concepts, daily practice routines, and leveraging various online platforms for coding challenges.

Uploaded by

magnetsp1234
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views83 pages

SDE Roadmap: Java & DSA Guide

The document outlines a comprehensive roadmap for Software Development Engineers (SDE), covering essential topics such as programming languages (with a focus on Java), data structures and algorithms, system design, project work, and interview preparation strategies. It includes detailed learning phases, recommended resources, and practice problems to enhance coding skills and prepare for technical interviews, particularly for FAANG companies. The roadmap emphasizes the importance of mastering foundational concepts, daily practice routines, and leveraging various online platforms for coding challenges.

Uploaded by

magnetsp1234
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SDE

ROADMAP

1
Index

1) Programming Language – Java 1

2) DATA STRUCTURES & ALGORITHMS (DSA) 6

3) System Design 15

4) Project 26

5) COMPUTER SCIENCE CORE SUBJECTS 35

6) GitHub, Portfolio & LinkedIn Optimization Plan 55

7) Applying Strategy (FAANG-Level Application Plan) 63

8) INTERVIEW PREPARATION PLAN 70

2
1) Programming Language
Before learning DSA, System Design, we must be strong in at least one language.

If you want:

Easy to learn
DSA-friendly
Fast coding
Industry usage
➔ Pick Python

If you want:

Most used in DSA competitions


Fast performance
Used in placements
Loved by FAANG
• Pick Java

If you want:

Fastest performance

You aim for competitive programming

You want deep understanding of memory

• Pick C++

1
We are choosing Java: ( 15 Days)

What to learn:

1) Basics
• Syntax
• Variables
• Data types
• Input & Output
• Operators
• Conditional statements (if/else)
• Loops (for,while)
➔ Best Resources
• [Link]
=GlxAeOc-p4LiLyal
• [Link]
• [Link]

2) Functions & Methods


• Function definition
• Parameters
• Return types
• Overloading
• Static vs non-static
➔ Best Resources
• [Link]
• [Link]

3) Object – Oriented Programming ( Very Imp)


• Class + Object
• Constructor
• Inheritance
• Polymorphism
• Abstraction
• Encapsulation
• Interface

2
• Abstract class
• Method Overriding
• Method Overloading
➔ Resources:
[Link]
0xclX-YaUK_Sra

4) Collections/Data Structures
• ArrayList
• LinkedList
• HashMap
• HashSet
• Stack
• Queue
• TreeMap
➔ Resources:
• [Link]
• [Link]
• [Link]

5) Exception Handling

Every FAANG interview project round will ask you:

“How do you handle errors?”

So, learn:

• try/catch
• finally
• custom exceptions
• throw/throws
• error vs exception
➔ Resources:
• [Link]
• [Link]

3
6) File Handling
• Reading files
• Writing files
• Handling large input
• Streams
➔ Resources:
• [Link]
• [Link]

7) Basics of Multithreading
(Not required for DSA, but asked in interviews)
• Thread class
• Runnable interface
• Synchronization
• Locks
Only basics, not too deep.
➔ Resources:
• [Link]

8) Memory Management
(Not asked directly, but helps you write efficient code)
• Stack vs Heap
• Garbage collection
• Reference variables
➔ Resources:
• [Link]
• [Link]

9) Mini Projects (Very Important for Confidence)


Build 2–3 small projects:
• To-do list
• Calculator
• Student management system
• Library management

4
10) Coding Practice (Daily)
Before starting DSA, solve beginner problems:
• Printing patterns
• Functions problems
• Array basics
• String manipulation
• Sorting

You can use:

• HackerRank: [Link]
• CodeChef basic problems: [Link]
• LeetCode easy problems: [Link]

5
2) DATA STRUCTURES & ALGORITHMS (DSA) (3 Months)

1) Foundation (Very Important)


Before going deep, first master:
• Time Complexity (Big-O)
• Space Complexity
• Recursion basics
• Java collections (you already learned)
• Basic maths:
➢ GCD
➢ Prime numbers
➢ Fast exponentiation
 Why?
Because 90% of interview solutions depend on recursion + Big-O.
➔ Resources:
• Time Space Complexity Basics : [Link]
E&si=PaIgVxOX6gGc-hYF

2) PHASE 1 — FOUNDATIONS
• Arrays (Easy + Medium)
 Topics:
➢ Prefix sum
➢ Kadane’s algorithm
➢ Dutch National Flag
➢ Left/right max
➢ Two pointers
➢ Rotate array
➢ Sliding window
 Target: 30-40 problems
➔ Resources:
- Playlist: Striver Arrays → [Link]
• Strings
 Topics:
➢ Palindrome
➢ Reverse words

6
➢ Anagram
➢ Frequency count
➢ Sliding window on strings
➢ Pattern matching
➢ String hashing basics
➢ Character maps
 Target: 25-30 problems
➔ Resources:
• [Link]
C1rR&si=CxL_m8qNWzDF4oN5
• [Link]
abzsMF6e44aiWzlTT2VrZwjLu&si=bJ18GZz-QNeNHXPt
• [Link]
OxOhaWY&si=H5W-Wblhb3ch6Tdr
• HashMap / HashSet
 Topics:
➢ Two Sum
➢ Subarray sum
➢ Longest substring without repeating
➢ Anagrams
➢ Frequency patterns
 Target: 20-25 problems
➔ Resources:
• [Link]
• [Link]
si=pJEQRKS9Fhph5zXO
• [Link]
Q&si=YbjbbgNS43leZblu
• [Link]

• Two Pointers + Sliding Window


 Topics:
➢ Max subarray with constraint
➢ Longest window
➢ Remove duplicates
➢ Lowest window substring
 Target: 20-25 problems

7
➔ Resources:

• [Link]
i=ZU_TQPkVXYUTq5za

• [Link]
i=ZU_TQPkVXYUTq5za

3) PHASE 2 — CLASSIC DS
• Linked List
 Topics:
➢ Reverse
➢ Cycle detect
➢ Middle
➢ Merge lists
➢ Remove Nth node
 Target: 20-25 problems
• Stack
 Topics:
➢ Next greater element
➢ Valid parentheses
➢ Min stack
➢ Monotonic stack
 Target: 15-20 problems
• Queue & Deque
 Topics:
➢ Circular queue
➢ Sliding window max
➢ Monotonic queue
 Target: 10-15 problems
• Priority Queue / Heap
 Topics:
➢ K largest
➢ K frequent
➢ Merge K lists
➢ Top-K
 Target: 15-20 problems

8
4) PHASE 3 — TREES & BST
• Binary Trees
 Topics:
➢ DFS traversals
➢ BFS
➢ Height
➢ Diameter
➢ Balanced tree
➢ Mirror tree
 Target: 25-30 problems
• Tree Patterns
 Topics:
➢ Boundary traversal
➢ Right/Left view
➢ Zig-zag
➢ Top view
➢ Bottom view
 Target: 20-25 problems

• BST
 Topics:
➢ Insert/delete
➢ Validate BST
➢ Floor/ceil
➢ LCA in BST
 Target: 15-20 problems
• Tries
 Topics:
➢ Insert
➢ Search
➢ Count prefix
➢ Autocomplete
 Target: 10-15 problems

9
5) PHASE 4 — GRAPHS
• Graph Basics
 Topics:
➢ BFS
➢ DFS
➢ Adjacency list/matrix
➢ Connected components
➢ Bipartite
 Target: 20-25 problems
• Cycle Detection
 Topics:
➢ Directed cycle
➢ Undirected cycle
➢ Topological sort
 Target: 20 problems
• Shortest Path Algorithms
 Topics:
➢ Dijkstra
➢ Bellman-Ford
➢ Floyd-Warshall
➢ Multi-source BFS
 Target: 15-20 problems
• Grid Graphs
 Topics:
➢ Flood fill
➢ Number of islands
➢ Rotten oranges
➢ Surrounded regions
➢ Bipartite
 Target: 15-20 problems

6) PHASE 5 — ADVANCED
• Dynamic Programming Basics
 Topics:
➢ Fibonacci
➢ Climbing stairs

10
➢ Grid DP
➢ Subset sum
➢ Knapsack
➢ Partition equal subset
 Target: 20-25 problems
• DP on Strings
 Topics:
➢ LCS
➢ Longest palindrome subsequence
➢ Edit distance
➢ Min insertions
 Target: 20-25 problems
• DP on Subsequences
 Topics:
➢ LIS
➢ LDS
➢ Longest bitonic
➢ Russian dolls
 Target: 15-20 problems
• DP Hard + Patterns
 Topics:
➢ DP with states
➢ Bitmask DP
➢ Interval DP
➢ Digit DP (optional)
 Target: 10-15 problems

7) PHASE 6 — FINAL PREP


• LeetCode Blind 75
 Link: [Link]
 Target: 75 problems
• Mixed LeetCode Medium
 Target: 20-30 problems
• Hard Problems
 Target: 10 problems

11
❖ Daily DSA Practice Routine:
• If you study 2–3 hours/day:
20 mins → Learn topic
90 mins → Solve 2–3 problems
20 mins → Revise previous problems
20 mins → Read editorial

Weekly target: 15–20 problems


Monthly target: 60–80 problems

❖ RESOURCES (Playlists & Sites)

BEST DSA ROADMAPS (FOLLOW ONE)

Striver's A2Z DSA Course (BEST)


[Link]

NeetCode (LeetCode Solutions) (Mandatory)


[Link]

These 2 are gold.

---

Leetcode - Weekly contest


Codestudio - Friday contest
Leetcode - Biweekly contest

12
Best YouTube Channels for Each Topic

Arrays, Strings, HashMap


Striver Playlist
[Link]

Linked List
[Link]

Stack & Queue


[Link]

Trees
[Link]

Graphs
Kunal Kushwaha Graphs
[Link]

Dynamic Programming
Striver DP Series (Legendary)
[Link]

---

13
Practice Platforms

LeetCode (must)
[Link]

GeeksForGeeks DSA
[Link]

CodeStudio
[Link]

---

When should you start LeetCode?

After finishing:
Arrays
Strings
HashMap
Recursion

You can start LeetCode easy problems.

14
3) System Design: 2 Months

WHAT IS SYSTEM DESIGN?


System Design =
How to build large, scalable, reliable systems like:
WhatsApp
Instagram
YouTube
Uber
Zomato
Netflix
Amazon cart
Google Docs
URL shortener
Payment service
Real-time chat

Companies expect you to design the system, not code it.


---

SYSTEM DESIGN HAS 2 PARTS


1) Low-Level Design (LLD) → OOP + Class diagrams + real coding architecture
2) High-Level Design (HLD) → Components + Scaling + Databases + Load
Balancing

You must learn BOTH for FAANG.

15
PART 1 — LOW-LEVEL DESIGN (LLD)
This is about how to structure code properly.
They check:
OOP
Design patterns
Class diagrams
Interfaces
Real-world modeling
Clean coding

---

LLD — WHAT TO LEARN

1. OOP Core

Abstraction
Encapsulation
Inheritance
Polymorphism
Composition
Association
Aggregation

2. SOLID Principles

Single Responsibility
Open/Closed
Liskov
Interface Segregation
Dependency Inversion

16
3. Design Patterns (VERY IMPORTANT)

Singleton
Factory
Abstract Factory
Builder
Strategy
Observer
Proxy
Decorator
Adapter

4. UML Diagrams

Class diagram
Sequence diagram
State diagram

5. LLD Case Studies (Interview-Level)

Elevator System
Parking Lot
Splitwise
BookMyShow
Cricbuzz
Chess Game
Snake & Ladder
Library Management
ATM Machine
Logging Framework
Rate Limiter (Token bucket, Leaky bucket)

---

17
PART 2 — HIGH-LEVEL DESIGN (HLD)

This is REAL FAANG work.

HLD is about:

Databases
Caching
Load balancing
Scalability
Replication
Async queues
API design
Microservices
Failover & redundancy

---

HLD — WHAT TO LEARN

1. Basics of Scalability

Horizontal vs vertical scaling


Monolith vs microservices
Service discovery
Stateless vs stateful

---

18
2. Databases

SQL vs NoSQL
Sharding
Indexing
Replication
Partition strategies
CAP theorem
Consistency models

---

3. Caching

Redis / Memcached
Write-through
Write-back
Cache eviction (LRU, LFU)
CDN basics

---

4. Load Balancing

Round robin
Weighted LB
Consistent hashing

---

19
5. Message Queues

Kafka
RabbitMQ
SQS
Pub/Sub
Event-driven architecture

---

6. Storage Systems

Object storage (S3)


Blob storage
File storage
Databus

---

7. Real-Time Systems

WebSockets
Long polling
Server-sent events
---

8. Logging, Metrics, Monitoring

Prometheus
Grafana
ELK stack
---

20
SYSTEM DESIGN PROJECTS (MUST-DO)

These are asked directly in interviews:

Beginner

URL Shortener
Rate Limiter
Notification System
Parking Lot (LLD)
Library System (LLD)

Intermediate

Instagram
YouTube
WhatsApp
Zomato / Swiggy
Uber
Amazon Cart
Google Docs

Advanced

Netflix
Twitter feed system
Distributed Cache
High-scale chat system
Payment Gateway
---

21
RESOURCES (BEST ON INTERNET)

SYSTEM DESIGN BASICS


Gaurav Sen Playlist
[Link]

HLD Guide
System Design Primer (GOLD)
[Link]

LLD OOP + Patterns


CodeKarle LLD
[Link]

ByteByteGo (animated SD)

[Link]

---

22
2-MONTH SYSTEM DESIGN PLAN (BEST + SIMPLE)

---

MONTH 1 — LLD + OOP MASTER + SYSTEM DESIGN BASICS (HLD


Foundations)

Week 1:

OOP
SOLID
Class diagrams
Factory, Builder, Singleton, Strategy
Adapter, Decorator
UML

Week 2:

Interfaces
Dependency Injection
LLD Case Studies
Parking lot
Library system
Elevator

SYSTEM DESIGN BASICS (HLD Foundations)

Week 3:

Scalability basics
Monolith vs Microservices
Load balancing
Databases
Sharding

23
Indexing
Replication

Week 4:

Caching
Redis
Cache eviction
Messaging queues
Kafka basics
Pub/Sub

After Month 1 → You’ll be strong in LLD and You understand how real
systems work.

---

MONTH 2 — DESIGN REAL SYSTEMS and ADVANCED + INTERVIEW PREP

Week 5:

URL shortener
Rate limiter
Notification system
Instagram
WhatsApp chat

Week6:

YouTube
Twitter
Uber
Zomato

24
Week 7:

CAP theorem
Consistency
CQRS
Event sourcing
Distributed transactions
Saga pattern

Week 8:

Logging
Monitoring
CDN
FAANG mock interviews
Practice design:
Netflix
Google Docs
Amazon cart
Payment gateway

After Month 2 → You can design real FAANG systems.

25
4) COMPLETE PROJECT ROADMAP (1 MONTH)

WHY PROJECTS MATTER FOR FAANG?

Because companies want to see:

You can apply concepts in real-world


You understand database design
You know APIs, backend, scalability, system design
You can write clean code
You can deploy and maintain a real app

---

HOW MANY PROJECTS DO YOU NEED?

2 Beginner
2 Intermediate
2 Advanced
1 Very strong System Design project

Total: 5–7 projects → Perfect FAANG resume.

---

26
TECH STACK YOU SHOULD USE (Best for SDE Roles)

Backend:

Java + Spring Boot (best for interviews)

Frontend (Optional):

React (basic only)


or
Skip frontend → Just build strong APIs

Database:

PostgreSQL / MySQL
MongoDB (NoSQL)

Deployment:

Render
Railway
AWS EC2 (best)

Version Control:

Git & GitHub


This stack is industry-standard and interviewer-friendly.

---

• 8 total projects → select any 5–6.


---

27
Week 1 — Beginner + Foundation Projects

Project 1: To-Do List API (Backend Only)

Skill: CRUD operations, DB, controller-service-DAO structure

Features:
Add task
Update task
Delete task
Mark completed
Get tasks

Tech:
Java Spring Boot
PostgreSQL
---

Project 2: URL Shortener (TinyURL)

Skills:
Hashing
Database modeling
Redirection
Rate limiting (optional)

Tech:
Spring Boot
Redis (cache)
PostgreSQL

This looks GREAT on resume.

---

28
Week 2 — Intermediate Projects

Project 3: E-commerce Backend


(VERY IMPORTANT)
Features:

User authentication (JWT)


Add to cart

Remove from cart


Checkout
Order history
Payment mock
Admin product management

Skills learned:
Clean architecture
JWT
Pagination
Database relationships
REST API versioning

This will make your resume strong.


---

Project 4: Chat Application (Real-Time)

Skills:
WebSockets
Real-time messaging
Message storage
Online status
Typing indicators
Redis pub/sub

29
Tech:
Java Spring Boot
WebSocket
Redis
---

Week 3 & 4 — Advanced FAANG-Level Projects

Project 5: Instagram / Social Media System

(Highly valued in interviews)

Features:

Posts
Likes
Comments
Feed generation
Stories
User follow system
Scalability concepts (feed fan-out)

Skills:
Data modeling
Cache + DB combo
Background workers
Feed algorithm basics
---

30
Project 6: WhatsApp / Real-Time Chat + Groups

Features:

One-to-one chat
Group chat
Message syncing
Message status (sent, delivered, seen)
Online presence

Skills:
WebSocket scaling
Message queue
Distributed systems

---

Project 7: Uber / Ola Backend (FAANG-Level)

Features:

Driver tracking
Ride matching
Pricing
Booking flow
Location-based search

Skills:
Geo-spatial queries
Matching algorithm
Microservices

---

31
Project 8: Zomato / Swiggy App (Very Impressive)

Features:

Restaurants
Menu
Cart
Orders
Delivery tracking
Ratings

Skills:
Location-based filtering
Real-time order status
Notification system

---

WHAT YOU MUST SHOW IN EVERY PROJECT

This is VERY IMPORTANT for interviews:

Write a CLEAN folder structure:

controller/
service/
repository/
model/
config/
dto/
utils/

Use SOLID principles in code

32
Write API documentation (Swagger)
Add unit tests
Add Postman collection
Use environment variables
Deploy the app live
Push code to GitHub with detailed README

---

WHAT YOU MUST WRITE IN RESUME FOR PROJECTS

Use this structure:

Project Name
2 Line Explanation
4–6 Highlights (Achievements)

Sample:

URL Shortener – Java, Spring Boot, Redis


Built a scalable URL shortening service like TinyURL
Reduced lookup time by 90% using Redis caching
Implemented rate limiting (token bucket)
Designed REST APIs with clean architecture
Deployed on AWS EC2 with Nginx

This makes your resume FAANG-worthy.

---

33
WEEK-WISE FULL PLAN (Final)

Week 1

To-Do App
URL Shortener

Week 2

E-commerce backend
Real-time chat

Week 3 & 4

Instagram / WhatsApp / Uber / Zomato (Choose any 2)

End of Month → Your portfolio is FAANG standard.

34
5) COMPUTER SCIENCE CORE SUBJECTS

You need to learn 4 main subjects:

OS — Operating Systems
DBMS — Database Management Systems
CN — Computer Networks
SQL — Queries & Joins

These 4 will cover 95% of interview questions.

---

1. OPERATING SYSTEMS (OS)

Important Topics

You don’t need to learn everything in OS — just interview topics.

Learn these:

Process vs Thread
PCB (Process Control Block)
Context switching
Scheduling (Round Robin, FCFS, SJF, Priority)
Deadlocks (Banker’s algorithm is optional)
Paging & Segmentation
Virtual memory
Thrashing
Mutex, semaphore
Concurrency & race conditions
Inter-process communication (IPC)
Kernel vs User mode

35
What they ask in interviews:

How threads work?


Difference b/w process & thread
What is a deadlock?
How to avoid race conditions?
How OS handles CPU scheduling?
What is virtual memory?

Best Resource

Neso Academy OS Playlist


[Link]

---

2. DATABASES (DBMS)

Important Topics

Normalization (1NF, 2NF, 3NF, BCNF)


ACID properties
Transactions
Concurrency — locks, deadlocks
Indexing (B-tree, B+ tree)
SQL vs NoSQL
Primary key, foreign key
Joins (inner, left, right, full)
Views
Stored procedures
Sharding (for system design)
DB replication types

36
What they ask:

Difference between SQL vs NoSQL


What is indexing? How does it improve speed?
What are ACID properties?
Write SQL queries
Explain normalization
Explain transactions & isolation levels

Best Resource

Neso Academy DBMS Playlist


[Link]

---

3. COMPUTER NETWORKS (CN)

Important Topics

OSI vs TCP/IP layers


IP Addressing
DNS
DHCP
HTTP vs HTTPS
SSL/TLS
TCP vs UDP
Three-way handshake
Latency vs Throughput
Load balancing basics
Firewalls
CDN
Caching in networks

37
What they ask:

What happens when you type [Link]?


Difference between TCP & UDP?
How does HTTPS work?
What is handshake?
What is DNS?
How does load balancing work?

Best Resource

Gate Smashers CN Playlist


[Link]

---

4. SQL (VERY important)

Companies test your SQL skills directly.

What to learn:

SELECT, INSERT, UPDATE, DELETE


JOINS (inner/left/right/full)
GROUP BY, HAVING
Subqueries
Window functions (ROW_NUMBER, RANK)
CTEs
Index usage
Query optimization basics

What they ask:

Find 2nd highest salary

38
Top 3 salaries per department
Employees not in any project
Duplicate entries
Joins with conditions

Best Resource

SQLBolt (Practice)
[Link]

---

FULL 4-WEEK ROADMAP

---

WEEK 1 — OS (Basics)

Process vs thread
CPU scheduling
Context switching
IPC

Daily: 2–3 hrs

OS (Advanced)

Deadlock
Mutex, semaphore
Virtual memory
Paging & segmentation

Practice 20 interview questions.

---

39
WEEK 2 — DBMS (Basics)

Keys
Constraints
Joins
ACID
Normalization

Do 20 SQL query problems.

DBMS (Advanced)

Indexing
Transactions
Locks
Isolation levels
Stored procedures

Practice 20 more SQL problems.

---

WEEK 3 — Computer Networks (Basics)

OSI layers
TCP/IP
DNS
DHCP
IP addressing

---

40
CN (Advanced)

HTTPS
SSL/TLS
Three-way handshake
Load balancing
CDN

---

WEEK 4 — SQL Mastery

Window functions
CTE
Ranking queries
Optimization

Practice ~40 SQL questions.

---

Revision + Interview Prep

OS 20 questions
DBMS 20 questions
CN 20 questions
SQL 40 queries

NOW YOU ARE READY for Amazon, Microsoft, Google interviews.

41
MOST-ASKED COMPUTER SCIENCE CORE INTERVIEW QUESTIONS LIST
(FAANG)

OS

Difference between process & thread


Race condition
Deadlock
What is context switching?

DBMS

What is transaction isolation?


Why indexing?
Explain normalization
SQL vs NoSQL

CN

TCP handshake
UDP vs TCP
What happens when you type [Link]?
DNS working

SQL

Nth highest salary


Joins + subqueries
Group by with conditions
Window functions

42
TOP OPERATING SYSTEMS INTERVIEW QUESTIONS (SDE LEVEL)

(30 OS Questions)

Process & Thread

1. What is a process? What is a thread?

2. Difference between process vs thread.

3. What is PCB (Process Control Block)?

4. What is context switching?

5. What is multi-threading and where is it used?

Scheduling & CPU

6. What is CPU scheduling?

7. Difference between preemptive vs non-preemptive scheduling.

8. Explain Round Robin scheduling.

9. Explain SJF & SRTF scheduling.

10. What is starvation and aging?

Deadlocks

11. What is a deadlock?

12. Necessary conditions for deadlock.

13. Deadlock prevention vs avoidance vs detection.

43
14. What is Banker’s algorithm?

15. Difference between mutex, semaphore & spinlock.

Memory Management

16. What is paging?

17. What is segmentation?

18. What is virtual memory?

19. What is thrashing?

20. What is a page fault?

Synchronization

21. What is race condition?

22. How to avoid race conditions?

23. What is a critical section problem?

24. What is a monitor?

25. Difference between user-level thread & kernel-level thread.

Miscellaneous

26. What is a zombie process?

27. What is orphan process?

28. What is inter-process communication (IPC)?

44
29. Pipes vs Shared Memory vs Message Queues.

30. Kernel vs User mode

---

TOP DBMS INTERVIEW QUESTIONS (30 DBMS Questions)

Basics

1. Difference between DBMS & RDBMS.

2. What is a primary key, foreign key, unique key?

3. What is normalization? Why is it used?

4. What are 1NF, 2NF, 3NF, BCNF?

5. What is denormalization?

ACID & Transactions

6. What are ACID properties?

7. What is a transaction?

8. What is concurrency control?

9. What is deadlock in DB?

10. What are isolation levels? (Read Uncommitted → Serializable)

45
Indexes

11. What is indexing?

12. B-Tree vs B+Tree.

13. Clustered vs Non-clustered index.

14. When NOT to use indexing?

15. How does an index improve performance?

SQL vs NoSQL

16. Differences between SQL vs NoSQL databases.

17. What is data sharding?

18. What is replication?

19. What is CAP theorem?

20. What is eventual consistency?

ER Modeling & Joins

21. What is an ER diagram?

22. Types of relationships (1–1, 1–M, M–M).

23. Difference between inner join & left join.

24. What are views?

25. Stored procedure vs function.

46
Advanced

26. What is trigger?

27. What is materialized view?

28. What is OLTP vs OLAP?

29. What is query optimization?

30. What is hashing in DBMS?

---

TOP COMPUTER NETWORKS INTERVIEW QUESTIONS (40 CN Questions)

Layer Concepts

1. OSI vs TCP/IP model.

2. What happens when you type [Link] in browser?

3. TCP 3-way handshake.

4. Difference between TCP & UDP.

5. HTTP vs HTTPS.

Addressing & Routing

6. What is IP address? IPv4 vs IPv6.

7. What is subnetting?

8. What is DNS? How does DNS resolve?

47
9. What is ARP?

10. What is DHCP?

Protocols

11. What is SSL/TLS?

12. What is FTP, SMTP, POP3?

13. What is WebSocket?

14. What is a reverse proxy?

15. What is NAT?

Performance Concepts

16. What is latency vs bandwidth?

17. What is throughput?

18. What is CDN (Content Delivery Network)?

19. What is load balancing?

20. What is caching?

Packets & Connections

21. What is a packet?

22. What is MTU?

23. What is packet loss?

48
24. What is congestion control?

25. Slow-start in TCP.

Security

26. What is firewall?

27. What is DDoS?

28. What is VPN?

29. What is symmetric vs asymmetric encryption?

30. What is public/private key?

Interview Favourites

31. How does HTTPS work internally?

32. How are cookies and sessions different?

33. Long polling vs WebSocket.

34. What is a gateway?

35. Why is TCP reliable?

36. Sticky sessions.

37. Consistent hashing.

38. Keep-alive connections.

49
39. Request vs response cycle.

40. REST vs RPC vs GraphQL.

---

TOP 50 SQL INTERVIEW QUERIES (Most Important)

Basic SELECT

1. Select all employees.

2. Select unique departments.

3. Select employees with salary > 50k.

WHERE + OR + AND

4. Employees in both HR and Finance.

5. Employees not in any department.

JOINS

6. Inner join employees & departments.

7. Left join employees with projects.

8. Right join employees with managers.

9. Full join orders with customers.

50
GROUP BY

10. Count employees in each department.

11. Sum salary per department.

12. Average salary per job title.

HAVING

13. Departments with more than 5 employees.

14. Projects with total cost > 10 lakhs.

AGGREGATE FUNCTIONS

15. Max salary.

16. Second highest salary.

17. Nth highest salary (important).

18. Minimum salary in each department.

WINDOW FUNCTIONS

19. Rank employees by salary.

20. Dense_rank to remove gaps.

21. Running total of sales.

22. Moving average.

51
SUBQUERIES

23. Employees who earn more than average salary.

24. Employees who joined before their manager.

25. Employees who are not assigned any project.

SET OPERATORS

26. Union employees of 2023 and 2024.

27. Intersect orders present in both tables.

28. Except employees who are in blacklist.

STRING FUNCTIONS

29. Names starting with ‘A’.

30. Extract domain from email.

31. Reverse name of employee.

DATE FUNCTIONS

32. Employees joined in last 30 days.

33. Orders completed in the same month.

34. Year-on-year sales growth.

52
ADVANCED JOINS

35. Self-join to find manager of each employee.

36. Join tables on multiple columns.

ADVANCED

37. Delete duplicate rows.

38. Find employee with highest salary in each department.

39. Top 3 salaries per department.

40. Find customers who ordered more than 5 times.

REAL INTERVIEW

41. Find employees whose salary increased month-over-month.

42. Find departments with zero employees.

43. Find users who logged in for 5 consecutive days.

44. Pivot table of sales per month.

45. Query to check if table is normalized.

Difficult

46. Running difference between orders.

47. Least and most sold product by city.

48. Detect gaps in ID sequence.

53
49. Compare employee salaries with industry averages.

50. Most repeated item in purchase history.

54
6) GitHub, Portfolio & LinkedIn Optimization Plan

---

A) GITHUB – Your FAANG Coding Identity

GitHub matters more than certifications for product companies.

Let’s build it the RIGHT way.

---

1. Create a Professional GitHub Profile

Add the following:

1. Profile README (VERY IMPORTANT)

Create a file named:

[Link]

It should include:

A short intro
Skills
Projects
Contact details
GitHub Stats (automatic SVG images)
DSA stats

---

55
2. Mandatory Projects to Upload

Your GitHub should have 7 projects minimum:

1. URL Shortener (Backend + System Design)

Java
Redis
PostgreSQL
Rate limiting

2. E-commerce Backend (Spring Boot / [Link])

Authentication
Cart
Orders
Payments

3. Chat App (WebSockets)

Node / Python
Real-time messages
[Link] / WebSocket

4. SQL Projects

50 SQL queries solved in a repository


Interview-friendly

56
5. Portfolio Website

HTML / CSS / JS / React

6. DSA Repository

LeetCode patterns
400–500 problems

Add folder structure like:

/Arrays
/Trees
/Graphs
/Sliding Window
/Two Pointers

---

3. Commit Strategy (VERY IMPORTANT FOR RECRUITERS)

Minimum 3–4 commits per week


Consistency matters
Even small commits are fine

Recruiters check:

Activity graph
Stars on projects
Clean folder structure
Good README

---

57
4. Formatting Your GitHub Projects

Each project MUST have:

README file (explaining features, architecture)


Screenshots (if web app)
Installation steps
API documentation
Technologies used
Architecture diagram

This instantly increases your chances of getting shortlisted.

---

B) PORTFOLIO WEBSITE – Your Personal Branding

You MUST have a simple personal portfolio website.

Best structure:

---

Header

Your name

SDE | Java Developer | PLSQL | Kinaxis

---

58
1. About Section
Short paragraph.
---

2. Skills Section

Show categories:

Languages
Frameworks
Kinaxis
Cloud
Tools
Databases

---

3. Projects Section (Most important)

Display 6–8 top projects:

URL shortener
E-commerce backend
Automation tool
Chat app
Portfolio
DSA repository

Each project has:

Description
Tech stack
GitHub link
Live demo (if possible)

59
---

4. Experience Section

Show your Accenture achievements.

---

5. Contact Section

Email, GitHub, LinkedIn.

---

C) LINKEDIN OPTIMIZATION – Your Interview Magnet

---

1. Professional Profile Photo

Clear headshot
Plain background
Friendly & confident look
---

2. Strong Headline

Replace your current default title with:

Software Engineer | Java | Python | SQL | Kinaxis | System Design | DSA

This increases your profile reach by 10x.

60
3. About Section (VERY IMPORTANT)

A strong 5–6 line summary:

---

4. Add ALL your Tech Skills

LinkedIn skills act like SEO keywords.

Add at least 25–30 skills, including:

Java
Python
SQL
System Design
Azure
Kinaxis
Git
REST APIs
Microservices
Problem Solving
Data Structures

This increases your recruiter’s visibility.

---

5. Add your Accenture Work Experience

---

6. Add Certifications

61
---

7. Add Projects

---

8. Weekly LinkedIn Posting Strategy

Post once per week:

Your project
Your learning
A DSA problem
A cloud concept
A GitHub update

This increases your profile reach 500% in 2 months.

---

9. Connect with Recruiters

Search:
“Technical Recruiter Amazon”
“Microsoft Recruiter”
“SDE Hiring”

You will get inbound interview calls.

---

62
7) Applying Strategy (FAANG-Level Application Plan)

A) Create 3 Versions of Your Resume (VERY IMPORTANT)

You will apply using 3 different resumes:

1. Backend Resume

Focus: Java, SQL, Spring Boot, APIs, System Design, Automation.

2. Kinaxis Resume

3. General SDE Resume

Focus: DSA, projects, system design.

Reason:

Different companies look for different skill patterns → You increase your interview
chances 3x.

---

B) Apply DAILY but in a planned way

Apply to 5–8 companies daily

(not more or less)

25–30 applications per week

63
→ Ideal

→ Not spam

→ High success rate

Best time to apply

Morning (9 AM – 12 PM)

Recruiters filter “Fresh resumes” first.

---

C) Apply in THIS order (most effective → least effective)

---

1. Employee Referrals (Highest success)

This alone increases your chances 10x.

Method:

1. Go to LinkedIn

2. Search the company

3. Go to People

4. Filter: “Software Engineer”

5. Send message:

64
Send 10 referral requests per week

At least 1–2 will respond

---

2. LinkedIn Job Portal

Apply to:

SDE 1

Backend Developer

Java Developer

Cloud Engineer

Product Engineer

Platform Engineer

Automation Engineer

Apply using Easy Apply + upload resume.

---

3. Company Career Websites (Most underrated)

Every day visit:

[Link]

Microsoft Careers

Google Careers

Walmart Global Tech

Uber Careers

Flipkart

Paytm

65
PhonePe

Swiggy

Zomato

Freshworks

Zoho

Salesforce

JP Morgan

Morgan Stanley

HCL

Infosys

TCS

Apply for any SDE/Developer role.

---

4. Naukri + Indeed

Naukri is very powerful for 0–4 YOE.

Upload resume and KEEP PROFILE ACTIVE.

---

66
5. AngelList / Wellfound (Startups)

Small startups = easy interviews = fast growth.

---

IMPORTANT:

Apply to all three categories every week.

---

D) The 10–10–5 Rule (Guaranteed Success Method)

Daily

10 job applications

10 referral messages

5 recruiter connections

Do this for 30 days → you WILL get interviews.

---

67
E) How to use Recruiters properly

Search on LinkedIn:

“Technical Recruiter Google”

“Hiring Amazon”

“SDE Recruiter”

“Engineering Talent Acquisition”

---

F) Follow-up Strategy (Most candidates don’t do this)

After 3 days of applying → follow up once

After 10 days → one more follow-up

---

G) Job Tracking Sheet (MANDATORY)

Track your applications:

Company Role Date Applied Referral Sent? HR Contact Status

Microsoft SDE 1 10 Nov Yes Ramesh In Review

Amazon Java Dev 12 Nov No – Rejected

Uber Backend 14 Nov Yes Anitha Shortlisted

68
---

H) Timeline to Get an Interview Call

With this strategy:

2–3 weeks → First interview

1–2 months → Multiple rounds

3–6 months → Crack a good product company

---

69
8) COMPLETE INTERVIEW PREPARATION PLAN

Interviews have 4 parts:

1. DSA Rounds

2. System Design

3. Technical Rounds (Concepts + Projects)

4. HR/Behavioural (Very important for product companies)

---

PART 1 — DSA INTERVIEW PREP (Most Important)

What’s asked in product companies?

90% of DSA questions come from 10 topics:

1. Arrays

2. Strings

3. Hashing

4. Two Pointers

5. Sliding Window

6. Linked List

7. Stacks + Queues

8. Trees + BST

70
9. Heap

10. Graphs

11. Recursion + Backtracking

12. DP (5–6 patterns only)

---

Your 90-Day DSA Plan

First 30 Days — Foundation

Daily 2 hours.

Arrays

Strings

Hashing

Two Pointers

Sliding Window

LinkedList

Stack

Queue

71
Next 30 Days — Intermediate

Daily 2–3 hours.

Trees

BST

Heap

Backtracking

Basic Recursion

Final 30 Days — Advanced

Daily 3 hours.

Graphs (BFS, DFS, TopoSort, Shortest Path)

DP (5 main patterns)

Tries

Advanced questions

---

DSA Resources (Best & Free)

NeetCode Roadmap (All FAANG questions)

Striver SDE Sheet

72
Blind 75

LeetCode Patterns by Sean Prashad

Solve:

300–400 questions total

3–4 questions per day = perfect

---

Mock DSA Interviews

Weekly once.

Use:

Pramp

LeetCode Mock Interviews

Peer mock

---

DSA Strategy during interview

This is how you solve like a pro:

1. Repeat the question

2. Ask clarifying questions

73
3. Talk through brute-force solution

4. Move to optimized solution

5. Write code cleanly

6. Run sample test cases

7. Discuss complexity

8. Suggest improvements

THIS is what interviewers look for — NOT just the answer.

---

PART 2 — SYSTEM DESIGN PREP

Product companies ask:

Low-Level Design (LLD)

High-Level Design (HLD)

Low Level Design (LLD) Topics

Classes

Objects

Interfaces

Inheritance

Polymorphism

Encapsulation

74
Design Patterns:

Singleton

Factory

Builder

Strategy

Observer

High Level Design (HLD) Topics

Load Balancers

Caching

Databases

Replication

Sharding

Message Queues

Rate Limiting

Microservices

---

Best System Design Resources

System Design Primer (GitHub – gold)

ByteByteGo YouTube

Grokking System Design

75
Excalidraw for diagrams

---

Systems You MUST Know How to Design

You MUST prepare these 8 common ones:

1. URL Shortener

2. Instagram

3. WhatsApp

4. YouTube

5. Zomato/Swiggy

6. E-commerce website

7. Messaging Queue

8. Distributed Cache

If you know these 8, you can answer 90% of system design rounds.

---

76
PART 3 — TECHNICAL INTERVIEW PREP

This includes:

OOP

OS

DBMS

CN

Projects

Cloud (since you work with Azure)

CI/CD

Debugging

You already prepared content for OS, DBMS, CN, SQL — GOOD

Now focus on:

---

PROJECT PREPARATION (VERY IMPORTANT)

Interviewers will ask:

What did you build?

What problem were you solving?

77
What was the architecture?

Challenges?

Bottlenecks?

How scalable is your solution?

What would you improve?

Prepare a 2-minute story for each project:

Problem → Approach → Tech used → Architecture → Impact

This alone makes you standout from other candidates.

---

PART 4 — BEHAVIOURAL INTERVIEW PREP (Don’t ignore this)

Amazon, Microsoft, Google ALL test behavior.

Use STAR Method:

Situation

Task

Action

Result

78
Prepare answers for questions like:

Tell me about yourself

Why do you want to join us?

Tell me a time you solved a hard problem

A time you handled pressure

A time you disagreed with your team

I can write answers for these if you want.

---

DAILY INTERVIEW PREP TIMETABLE (Perfect Plan)

Monday to Friday

2 hours DSA

1 hour System Design

30 min Technical Concept Revision

Saturday

Mock interviews (DSA + System Design)

Project explanation practice

Sunday

Revise topics

Fix weak areas

79
Update GitHub

This routine for 60–90 days = you will be interview-ready.

---

BEFORE THE INTERVIEW — How to Prepare

Practice 10–15 LeetCode easy/medium

Revise system design notes

Review your projects

Practice elevator pitch (Tell me about yourself)

Sleep well

---

DURING THE INTERVIEW — Strategy

1. Think out loud

Interviewers want to hear your thinking.

2. Don’t jump into coding immediately

Design → optimize → code → test.

3. Write clean code

80
Use proper variable names.

4. Ask clarifying questions

Shows maturity.

5. Handle errors calmly

They test your reaction.

---

81

Common questions

Powered by AI

Database indexing techniques—such as B-tree, B+ tree, clustered, and non-clustered indexes—differentiate primarily in structure and performance impacts. B-tree indexes maintain sorted data to facilitate quick searches, insertions, and deletions, while B+ trees enhance this by storing all values at leaf nodes, improving range-based query performance. Clustered indexes arrange data rows physically on disk, increasing efficiency for range queries but limiting to one clustered index per table. Non-clustered indexes maintain a separate data structure with pointers to table rows, allowing multiple indexes per table, beneficial for improving search operations .

The FAANG-Level Application Plan suggests optimizing one's GitHub profile, portfolio, and LinkedIn as part of an effective application strategy. Key steps include showcasing strategic projects, writing detailed READMEs, actively contributing to open-source projects, and forming a professional network through LinkedIn. Additionally, leveraging specific resume structures focused on achievements and responsibilities in relevant projects, along with continuous practice of coding problems on platforms like LeetCode, are recommended to boost the application's attractiveness and relevance to recruiters at top tech companies .

The key computer science core subjects to master for FAANG-level interviews are Operating Systems (OS), Database Management Systems (DBMS), Computer Networks (CN), and SQL. Each subject covers crucial areas queried during interviews: OS involves concepts like process management and deadlocks; DBMS deals with normalization and ACID properties; CN encompasses protocols and network layers; SQL is important for data manipulation through queries and joining tables. Mastery of these subjects accounts for a broad range of common interview topics .

SQL databases, characterized by structured query language and a relational table-based architecture, are ideal for applications requiring multi-row transactions and complex queries, providing strong ACID compliance for data consistency. Conversely, NoSQL databases, which can be key-value, document, columnar, or graph-based, offer flexibility in handling unstructured data and are designed for horizontal scaling, making them suitable for Big Data and real-time web applications. NoSQL models prioritize scalability and fast processing over ACID compliance, often sacrificing consistency for partition tolerance and availability under the CAP theorem .

A systematic approach to mastering data structures and algorithms (DSA) involves several stages. Initially, build a strong foundation by mastering core concepts such as time complexity (Big-O), space complexity, recursion, and essential math functions like GCD and prime numbers. Following this, move through phases targeting specific DSA topics: Foundation (arrays, strings, hashmaps), Classic Data Structures (linked lists, stacks, queues), Trees and BST, Graphs, and Advanced (Dynamic Programming). Each phase should involve targeted problem sets from 10 to 40 problems, as specified for each topic area .

SOLID principles guide software developers in creating scalable and maintainable code by adhering to five key principles: Single Responsibility Principle (SRP) ensures a class has only one reason to change; Open/Closed Principle promotes writing code that can be extended but not modified; Liskov Substitution Principle guarantees derived classes can substitute base classes without altering the correctness; Interface Segregation Principle advocates for creating smaller, specific interfaces; and Dependency Inversion Principle emphasizes minimizing dependency on concrete classes. Together, these principles encourage writing robust, flexible, and reusable code .

Designing scalable systems like WhatsApp or YouTube requires understanding both low-level and high-level design components. Low-Level Design (LLD) focuses on code structure, OOP principles, design patterns, and real-world modeling. High-Level Design (HLD) involves understanding components such as databases, load balancing, and scaling strategies. Both levels of design emphasize clean, maintainable architecture necessary for scalability, high performance, and reliability .

Memory management in Java and C++ enhances code efficiency through concepts such as stack versus heap allocation, garbage collection (in Java), and understanding reference variables. Java simplifies memory management with its automatic garbage collection, reducing memory leaks by reclaiming unused object space. In contrast, C++ provides manual memory management, granting programmers precise control over memory through constructs like pointers and explicit allocation/deallocation using new/delete, which allows for optimized memory use and performance in resource-constrained environments .

When considering the use of Java, Python, and C++ for data structures and algorithms (DSA), there are distinct differences. Java is often chosen for DSA due to its wide use in DSA competitions, fast performance, and favor among companies like FAANG. Python is noted for its ease of learning, DSA-friendly nature, and supports fast coding, making it suitable for those new to programming. C++ is recognized for its fastest performance and is ideal for competitive programming, offering deep control over memory management, which provides an advantage in optimizing DSA implementations .

Implementing dynamic programming (DP) techniques in algorithmic problems involves challenges and considerations such as identifying overlapping subproblems and optimal substructure properties. A key challenge is often recognizing that a problem can be broken down into smaller subproblems that can be cached to avoid redundant calculations. Furthermore, careful consideration of space and time complexity trade-offs is necessary, as DP solutions can be memory-intensive. Choosing between top-down versus bottom-up approaches and effectively utilizing memoization or tabulation to cache subproblem results are critical for efficient DP implementations .

You might also like