https://github.com/25-masik-52/cppinterviewkit
π Essential C++ Interview Prep: algorithms, OOP, memory management, STL, concurrency & more. Quick-reference cheatsheets, code examples, and common pitfalls. Save time, crush interviews! π
https://github.com/25-masik-52/cppinterviewkit
cpp interview kit obsidian
Last synced: 2 months ago
JSON representation
π Essential C++ Interview Prep: algorithms, OOP, memory management, STL, concurrency & more. Quick-reference cheatsheets, code examples, and common pitfalls. Save time, crush interviews! π
- Host: GitHub
- URL: https://github.com/25-masik-52/cppinterviewkit
- Owner: 25-masik-52
- License: mit
- Created: 2025-06-10T10:45:57.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-08-08T11:26:06.000Z (8 months ago)
- Last Synced: 2025-08-08T13:17:17.397Z (8 months ago)
- Topics: cpp, interview, kit, obsidian
- Homepage:
- Size: 13.3 MB
- Stars: 6
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CppInterviewKit
This repository is a curated collection of concise yet comprehensive C++ interview cheatsheets, covering everything from core concepts to advanced topics. Whether you're prepping for FAANG, quant firms, or embedded systems roles β these notes will help you refresh key ideas fast and avoid common pitfalls.
> β οΈ *Warning: If you don't know a specific topic, then the material in this repository won't help you study it. Don't forget to read books, articles, and program regularly!)*




## π Whatβs Inside?
| No | Done | Topic | Description |
| --- | ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------- |
| 1. | β
| **About Me & Experience** | How to present your C++ background effectively. |
| 2. | β
| **OOP & Classes** | Inheritance, polymorphism, abstract classes, rule of 3/5/0, constructors, destructors. |
| 3. | β
| **Patterns, Principles & Idioms** | SOLID, RAII, PIMPL, CRTP, Factory, Observer, Singleton patterns. |
| 4. | β
| **Smart Pointers** | unique_ptr, shared_ptr, weak_ptr, custom deleters, circular references. |
| 5. | β
| **Algorithms & Data Structures** | Big-O complexity analysis, trees, graphs, sorting, searching. |
| 6. | β
| **STL & Containers** | Vector vs list vs deque, map/unordered_map performance. |
| 7. | β
| **Multithreading & Synchronization** | Mutexes, atomics, condition variables, deadlock prevention strategies. |
| 8. | β³ | **Memory & Resource Management** | Stack vs heap, alignment, memory leaks detection. |
| 9. | β³ | **Exceptions & Safety** | Exception guarantees (strong, basic, noexcept), resource acquisition pitfalls. |
| 10. | β³ | **Networking** | Sockets, TCP/UDP basics, Boost.Asio examples. |
| 11. | β³ | **C++ Syntax & Features** | Move semantics, lambda expressions, structured bindings, if constexpr. |
| 12. | β³ | **Low-Level Aspects** | Alignment, cache lines, bit manipulation tricks. |
| 13. | β³ | **Optimization & Practical Tasks** | CPU cache awareness, branch prediction optimization. |
| 14. | β³ | **Testing** | GoogleTest examples, mocking techniques. |
| 15. | β³ | **Logging** | Best practices for debug logging, performance impact analysis. |
| 16. | β³ | **Development Tools** | Some IDEs features, Git, Jira, GDB, Valgrind, Clang-Tidy, profilers (perf, VTune), Protobuf, gRPC. |
| 17. | β³ | **Other** | Topics that every C++ developer should know. |
## π― Why Use This?
- Saves Time: No need to dig through books β key concepts summarized in one place.
- Practical Examples: Code snippets to illustrate ideas (not just theory!).
- Interview-Focused: Covers exactly whatβs asked in real C++ interviews.
- Community-Driven: Contributions welcome! Found a mistake? Open a PR.
## π Quick Start
1. Clone the repo: ```git clone https://github.com/25-masik-52/CppInterviewKit.git```
2. Download [Obsidian](https://obsidian.md).
3. [Set up environment in Obsidian.](https://github.com/25-masik-52/CppInterviewKit/wiki)
4. Enjoy using & Star β the repo if it helps you!
> π‘ *Pro Tip: Pair this with Leetcode/HackerRank for coding practice. Good luck!* π₯
## π License
- License MIT.
- Made with β€οΈ for C++ developers.
- Contributions welcome!
## Description of commits
All comments are written according to [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).