An open API service indexing awesome lists of open source software.

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! πŸš€

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!)*

![Static Badge](https://img.shields.io/badge/25--masik--52-CppInterviewKit-darkgreen)
![Static Badge](https://img.shields.io/badge/markdown-100%25-007ec6)
![GitHub](https://img.shields.io/github/license/25-masik-52/CppInterviewKit)
![GitHub Repo stars](https://img.shields.io/github/stars/25-masik-52/CppInterviewKit)

## πŸ“Œ 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/).