Problem Solving

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)

  1. Sticking to one approach too quickly
  2. Trusting intuition without understanding
  3. Misunderstanding the problem
  4. 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:

Let’s grow together 🚀

Share