I got rejected from Uber, Amazon, Flipkart, PhonePe, Swiggy, and Razorpay — all in the span of 3 months.
Same pattern every time: I'd solve 2-3 problems easily in the phone screen, feel confident, then completely blank in the onsite round when the problem was something I hadn't seen before.
I was solving 400+ problems on LeetCode. I knew the solutions to most medium problems. But I couldn't derive solutions to new problems under pressure.
The problem wasn't quantity. It was how I was studying.
Here's what I changed that got me offers in my next 3 attempts:
1. I stopped solving and started pattern-matching
Instead of solving 10 random problems a day, I'd solve 4 problems from the SAME pattern back-to-back. Sliding window Monday. Binary search Tuesday. Graphs Wednesday.
After 3 days on one pattern, I could recognize it in a new problem within 30 seconds — even if I'd never seen that exact problem.
2. I started timing myself and writing code that compiles
LeetCode lets you think forever. Real interviews don't. I set a hard 25-minute timer. If I wasn't coding by minute 10, I'd look at the approach (not the code) and try again.
I also stopped using the LeetCode editor and started writing in an actual IDE — because in Uber's round, they asked me to RUN my code. If it doesn't compile, you fail.
3. I did mock interviews with someone watching
Thinking out loud while solving is a completely different skill than solving silently. I'd freeze up in interviews because I never practiced narrating my thought process.
Found a friend who was also prepping, we did 2 mocks per week. Game changer.
4. I tracked my weak patterns instead of my solve count
I made a spreadsheet: for each pattern, how many problems could I solve cold (without hints) vs. how many I needed help on. The patterns where I needed help most got extra time.
Turns out I was "good at DP" because I'd memorized 30 DP solutions. I wasn't good at recognizing WHEN a problem is DP vs greedy vs backtracking.
The uncomfortable truth: solving 500 problems means nothing if you can't solve problem 501 — the one you've never seen — in 25 minutes, out loud, with someone watching.
Study patterns, not problems. Practice under pressure, not in comfort. Track weaknesses, not totals.
What pattern trips you up the most? For me it was monotonic stack — I kept trying two pointers on "next greater element" problems.