This repository contains 20 advanced C++ programs designed for technical interview preparation, covering data structures, algorithms, OOP, file handling, multithreading, and real-world problem solving.
💡 Each program is beginner-friendly yet structured for professional interviews and coding rounds.
| Part | Topics Covered | Program Count |
|---|---|---|
| Part 1 | Basics, Arrays, Strings, OOP | 1 – 5 |
| Part 2 | Inheritance, Polymorphism, Stacks, Linked Lists, Trees | 6 – 10 |
| Part 3 | Graphs, Dijkstra, File Systems, Multithreading, DP | 11 – 15 |
| Part 4 | File Handling, Game Logic, Backtracking, Networking | 16 – 20 |
- Calculator
- Factorial using Recursion
- Palindrome Checker
- Matrix Multiplication
- Class and Object Example
Concepts: loops, recursion, classes, arrays, string handling
- Inheritance Example
- Polymorphism (Function Overriding)
- Stack Implementation (Array)
- Linked List Operations
- Binary Search Tree (Insert & Traversal)
Concepts: OOP principles, data structure fundamentals, memory management
- Graph using Adjacency List
- Dijkstra’s Shortest Path
- Library Management System
- Prime Finder (Multithreading)
- Fibonacci (Dynamic Programming)
Concepts: graph algorithms, STL, concurrency, DP optimization
- Student Management System (File Handling)
- Bank Management System (OOP + Vectors)
- Snake Game (Console)
- Sudoku Solver (Backtracking)
- Chat Application (Client–Server Sockets)
Concepts: file I/O, OOP, recursion, networking, system design
C++17 or later
g++ compiler
(Optional) VS Code + C/C++ Extension
For networking examples → Linux or Windows WSL
- ✅ OOP (Encapsulation, Inheritance, Polymorphism)
- ✅ Data Structures – Array, Stack, Queue, Linked List, Tree, Graph
- ✅ Recursion & Backtracking
- ✅ File Handling in C++
- ✅ Multithreading & Synchronization
- ✅ Dynamic Programming
- ✅ Client–Server Networking
This project is licensed under the MIT License — feel free to use and modify it for learning and interviews.
"Code is like humor. When you have to explain it, it’s bad." — Cory House
Use g++ in terminal or VS Code:
g++ program_name.cpp -o output
./output
🪄 Windows (MinGW)
g++ program_name.cpp -o program.exe
program.exe
🧪 Linux / Mac
g++ program_name.cpp -o program
./program
For socket programs (Chat App), use:
g++ server.cpp -o server
g++ client.cpp -o client
./server # in one terminal
./client # in another terminal