Skip to content

25-masik-52/CppInterviewKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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 Static Badge GitHub GitHub Repo stars

πŸ“Œ 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.
  3. Set up environment in Obsidian.
  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.

About

πŸ“š Essential C++ Interview Prep: algorithms, OOP, memory management, STL, concurrency & more. Quick-reference cheatsheets, code examples, and common pitfalls. Save time, crush interviews! πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors