UNDERSTAND
Clarify inputs, outputs, constraints, edge cases and what actually needs to be optimized.
PROBLEM SOLVING / 01
Problem solving is the foundation behind how I approach engineering: understand the constraints, find the right model, choose the right data structures, prove the approach, then optimize the implementation.
Consistent practice in C++ has built the habit of looking for constraints, patterns, invariants and complexity trade-offs before writing the final code.
02 / MY PROCESS
Clarify inputs, outputs, constraints, edge cases and what actually needs to be optimized.
Break the problem into smaller pieces and identify patterns that make the solution tractable.
Choose the right data structure, abstraction or system boundary before rushing into implementation.
Translate the mental model into clear C++ while keeping correctness visible in the code.
Revisit time, space, concurrency and resource trade-offs after establishing correctness.
Test edge cases and reason about failure modes instead of assuming the happy path is enough.
DATA STRUCTURES.
ALGORITHMS. COMPLEXITY.
My problem-solving practice is centered on DSA in C++, with emphasis on understanding why an approach works and how its complexity behaves—not just memorizing implementations.
Explore technical skills ↗