Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions exams/exams.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@
"title": "Programming Languages",
"description": "Language-specific concepts and OOP fundamentals",
"icon": "📝"
},
{
"id": "cpp",
"title": "C++ Programming",
"description": "C++ language fundamentals, OOP, templates, resource management, and STL",
"icon": "⚙️"
}
],
"exams": [
Expand Down Expand Up @@ -223,6 +229,96 @@
"questionCount": 50,
"filename": "design-patterns-exam.json",
"category": "software-engineering"
},
{
"id": "cpp-fundamentals-exam",
"title": "C++ Fundamentals & Core Syntax",
"description": "Tricky questions on overloading, references, default parameters, constructors, destructors, new/delete, access modifiers, operator overloading, static, and const.",
"difficulty": "intermediate",
"questionCount": 20,
"filename": "cpp-fundamentals-exam.json",
"category": "cpp"
},
{
"id": "cpp-oop-exam",
"title": "C++ Object-Oriented Programming",
"description": "Tricky OOP questions: encapsulation, abstraction, relationships, binding, overloading vs overriding vs hiding, and design principles.",
"difficulty": "intermediate",
"questionCount": 18,
"filename": "cpp-oop-exam.json",
"category": "cpp"
},
{
"id": "cpp-inheritance-exam",
"title": "C++ Inheritance & Virtual Functions",
"description": "Advanced questions on virtual functions, vtable/vptr, pure virtual, abstract classes, object slicing, and construction/destruction order.",
"difficulty": "advanced",
"questionCount": 20,
"filename": "cpp-inheritance-exam.json",
"category": "cpp"
},
{
"id": "cpp-type-conversions-exam",
"title": "C++ Type Conversions & Casting",
"description": "Tricky questions on static_cast, const_cast, reinterpret_cast, dynamic_cast, conversion operators, conversion constructors, and explicit keyword.",
"difficulty": "advanced",
"questionCount": 20,
"filename": "cpp-type-conversions-exam.json",
"category": "cpp"
},
{
"id": "cpp-templates-exam",
"title": "C++ Templates & Generic Programming",
"description": "Tricky questions on template instantiation, specialization, concepts, function resolution order, implicit interfaces, and SFINAE.",
"difficulty": "advanced",
"questionCount": 20,
"filename": "cpp-templates-exam.json",
"category": "cpp"
},
{
"id": "cpp-exceptions-exam",
"title": "C++ Exception Handling",
"description": "Tricky questions on try/throw/catch, exception hierarchy, bad_alloc, terminate, noexcept, and exception safety guarantees.",
"difficulty": "intermediate",
"questionCount": 18,
"filename": "cpp-exceptions-exam.json",
"category": "cpp"
},
{
"id": "cpp-resource-mgmt-exam",
"title": "C++ Resource Management & Rule of Three",
"description": "Tricky questions on RAII, Rule of Three, copy-and-swap, const correctness, logical vs bitwise constness, copy-on-write, and operator new vs new operator.",
"difficulty": "advanced",
"questionCount": 20,
"filename": "cpp-resource-mgmt-exam.json",
"category": "cpp"
},
{
"id": "cpp-smart-pointers-exam",
"title": "C++ Smart Pointers & Advanced RAII",
"description": "Tricky questions on scope lock, shared_ptr, unique_ptr, reference counting, member templates, implicit upcasting, and polymorphic hierarchies.",
"difficulty": "advanced",
"questionCount": 18,
"filename": "cpp-smart-pointers-exam.json",
"category": "cpp"
},
{
"id": "cpp-stl-exam",
"title": "C++ STL Containers & Algorithms",
"description": "Tricky questions on sequence, associative, unordered containers, adaptors, STL algorithms, iterators, type safety, and proxy objects.",
"difficulty": "intermediate",
"questionCount": 20,
"filename": "cpp-stl-exam.json",
"category": "cpp"
},
{
"id": "cpp-under-the-hood-exam",
"title": "C++ Under the Hood (C++ to C)",
"description": "Tricky questions on cfront compiler, name mangling, vptr/vtable internals, zero-overhead principle, memory layout, MIL order, and implementing C++ features in C.",
"difficulty": "advanced",
"questionCount": 20,
"filename": "cpp-under-the-hood-exam.json",
"category": "cpp"
}
]
}
10 changes: 10 additions & 0 deletions topics/topics.json
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@
"description": "Member functions, overloading, references, default parameters, constructors, destructors, new/delete, access modifiers, operator overloading, static, const",
"icon": "code",
"filename": "cpp-fundamentals.json",
"relatedExam": "cpp-fundamentals-exam.json",
"category": "cpp"
},
{
Expand All @@ -316,6 +317,7 @@
"description": "Classes, encapsulation, abstraction, dynamic/static binding, overloading/overriding/hiding, relationships (is-a, has-a, IITO, composition, aggregation)",
"icon": "category",
"filename": "cpp-oop.json",
"relatedExam": "cpp-oop-exam.json",
"category": "cpp"
},
{
Expand All @@ -324,6 +326,7 @@
"description": "Virtual functions, vtable/vptr, pure virtual, abstract classes, protected destructors, object slicing, construction/destruction order",
"icon": "account_tree",
"filename": "cpp-inheritance.json",
"relatedExam": "cpp-inheritance-exam.json",
"category": "cpp"
},
{
Expand All @@ -332,6 +335,7 @@
"description": "static_cast, const_cast, reinterpret_cast, dynamic_cast, conversion operators, conversion constructors, explicit keyword",
"icon": "swap_horiz",
"filename": "cpp-type-conversions.json",
"relatedExam": "cpp-type-conversions-exam.json",
"category": "cpp"
},
{
Expand All @@ -340,6 +344,7 @@
"description": "Template instantiation, specialization, concepts, function resolution order, implicit interfaces, SFINAE",
"icon": "dashboard",
"filename": "cpp-templates.json",
"relatedExam": "cpp-templates-exam.json",
"category": "cpp"
},
{
Expand All @@ -348,6 +353,7 @@
"description": "try/throw/catch, exception hierarchy, bad_alloc, terminate, unexpected, noexcept, exception safety guarantees",
"icon": "warning",
"filename": "cpp-exceptions.json",
"relatedExam": "cpp-exceptions-exam.json",
"category": "cpp"
},
{
Expand All @@ -356,6 +362,7 @@
"description": "RAII, Rule of Three, copy-and-swap, const correctness, logical vs bitwise constness, copy-on-write, operator new vs new operator",
"icon": "build",
"filename": "cpp-resource-management.json",
"relatedExam": "cpp-resource-mgmt-exam.json",
"category": "cpp"
},
{
Expand All @@ -364,6 +371,7 @@
"description": "Scope lock, shared_ptr, unique_ptr, reference counting, member templates, implicit upcasting, polymorphic hierarchies",
"icon": "shield",
"filename": "cpp-smart-pointers.json",
"relatedExam": "cpp-smart-pointers-exam.json",
"category": "cpp"
},
{
Expand All @@ -372,6 +380,7 @@
"description": "Sequence, associative, unordered containers, adaptors, STL algorithms, iterators, type safety, proxy objects",
"icon": "storage",
"filename": "cpp-stl.json",
"relatedExam": "cpp-stl-exam.json",
"category": "cpp"
},
{
Expand All @@ -380,6 +389,7 @@
"description": "cfront compiler, name mangling, vptr/vtable internals, zero-overhead principle, memory layout, MIL, implementing C++ features in C",
"icon": "engineering",
"filename": "cpp-under-the-hood.json",
"relatedExam": "cpp-under-the-hood-exam.json",
"category": "cpp"
}
]
Expand Down