How I Cracked an SDE Role at Amazon from a Tier 3 College (My Problem-Solving Framework)
I wasn’t from a top college.
I didn’t have the best resources or guidance.
But I still managed to crack an SDE role at Amazon.
And no—it wasn’t because I solved thousands of problems blindly.
The real reason was this:
👉 I changed how I think while solving problems
In this article, I’ll share the exact problem-solving framework that helped me go from confused to confident in DSA.
The Real Problem Most Students Face
Most students struggle with Data Structures and Algorithms (DSA) not because they are not smart…
But because they:
- Jump straight into coding
- Don’t fully understand the problem
- Follow random patterns without clarity
- Never reflect on mistakes
This leads to frustration and slow progress.
I was stuck in the same cycle—until I fixed my approach.
My Problem-Solving Framework
Here’s the exact step-by-step system I followed:
1. Define the Problem Clearly
Before writing a single line of code, I made sure I understood:
- What is the input?
- What is the output?
- What are the constraints?
If you skip this step, you will almost always go in the wrong direction.
2. Break the Problem Into Smaller Parts
Instead of trying to solve everything at once, I divide the problem into smaller steps.
This makes complex problems easier and reduces overwhelm.
3. Think of Multiple Approaches
Most people stop at the first solution they think of.
I trained myself to ask:
- Is there a better way?
- Can this be optimized?
- Is there a known pattern?
This step helped me move from brute force to optimized solutions.
4. Evaluate and Choose the Best Approach
Once I had multiple ideas, I compared them based on:
- Time complexity
- Space complexity
- Simplicity
Then I picked the most efficient and practical solution.
5. Implement the Solution
Now comes coding.
Since the thinking is already clear, implementation becomes much easier and cleaner.
6. Reflect and Learn (Most Important Step)
This is where real improvement happens.
After solving every problem, I asked myself:
- Why did I think in this way?
- Did I truly understand the solution?
- What mistake did I make?
- What pattern did I learn?
- How can I solve similar problems faster next time?
Most people skip this step—that’s why they don’t improve.
My DSA Thinking System
While practicing, I categorized my thinking into two cases:
✅ When I Could Solve the Problem
I asked:
- What made me think this way?
- i) It was based on pattern I know?
ii) Did I see a sneak peak the solution?
iii) Did I just figure it out?
iv) Have I solved problem before? - What did I learn from this? What patterns or lessons can I take away?
This helped me identify my strengths.
❌ When I Couldn’t Solve the Problem
I asked:
- Why couldn’t I think of the best way?
- What made them (solution writer) to think in right way and how can I think in such way?
- Why couldn’t I do what I needed to do?
- i) Lack of knowledge about that topic/ pattern?
ii) Was I not good enough at coding?
iii) Was I not thinking clearly?
This helped me fix my weaknesses.
Common Mistakes I Made (And You Might Too)
- Sticking to one approach too quickly
- Trusting intuition without understanding
- Misunderstanding the problem
- Struggling with recursion-based problems
Once I became aware of these, I improved much faster.
Key Lesson
Solving more problems is NOT enough.
👉 Improving your thinking process is what actually matters.
Final Thoughts
If you are preparing for coding interviews or placements, don’t just practice blindly.
Focus on:
- Understanding deeply
- Thinking in multiple ways
- Reflecting after every problem
That’s how you truly improve.
If you found this helpful and want to improve your DSA and problem-solving skills:
- Telegram: Join here
- LinkedIn: Follow here
- YouTube: Subscribe here
- Instagram: Follow here
Let’s grow together 🚀
