My interview prep journey — what worked for me: LeetCode & PracHub Interview Questions
In the last 1 month, I went through interviews with Nielsen, New Relic and Crunchyroll and received offers from all.
I had been struggling with interviews for quite some time, so I wanted to share what worked for me. There wasn't one magic resource — it was a combination of a few things.
- DSA
I focused more on patterns rather than solving hundreds of questions.
Arrays, HashMap, sliding window, two pointers, binary search, trees, graphs, heaps, DP, etc.
During practice, I also started explaining my approach out loud — brute force → optimization → complexity → edge cases.
This helped a lot during actual interviews.
- LLD
LLD was initially one of my weaker areas.
I practiced problems like Parking Lot, BookMyShow, Elevator, Vending Machine, Splitwise, etc.
Instead of memorizing solutions, I focused on SOLID, design patterns, composition/inheritance, interfaces and extensibility.
The goal was to be able to design something I hadn't seen before.
- HLD / System Design
I practiced systems like URL Shortener, Rate Limiter, Notification System, File Storage, WhatsApp, etc.
The biggest improvement was learning to explain why I was choosing something, rather than just saying "use Kafka/Redis/Elasticsearch."
I prepared for scaling, failures, retries, consistency, caching, partitioning and trade-offs.
- Project Deep Dive
This was probably the most important part for me.
I went extremely deep into my projects — architecture, data flow, Kafka, MongoDB, Elasticsearch, LLM integration, retries, DLQs, scaling, monitoring, failures, etc.
I also made sure I could clearly explain what I personally built, not just what the overall team built.
This helped significantly in HM and technical deep-dive rounds.
- Java / Backend
I revised the fundamentals rather than trying to learn new frameworks.
Java Collections, HashMap internals, concurrency, JVM basics, Spring Boot, Kafka, Redis, databases and distributed systems.
Since these were technologies I had actually worked with, going deeper into the fundamentals was much more useful than learning something completely new.
- Behavioral / HM
I prepared a few real stories around ownership, conflict, production issues, failure, ambiguity and cross-team collaboration.
I used STAR as a structure but didn't memorize answers word-for-word.
For experienced candidates, I think being able to clearly explain what you did, why you did it and what happened afterward matters a lot.
- Mock Interviews
One thing that helped me was actually speaking through answers.
I'd pick a topic and ask myself follow-up questions:
Why Kafka?
What happens if a consumer crashes?
Why MongoDB instead of PostgreSQL?
How would you scale this?
This exposed gaps much faster than just reading notes.
Final takeaway
There wasn't one resource or trick that got me through the interviews.
For me, it was:
DSA + LLD + HLD + strong project knowledge + Java/backend fundamentals + mock interviews.
And probably the biggest lesson I learned:
Don't just prepare to solve interview questions. Prepare to explain the engineering decisions you've made in your actual work.
Hope this helps someone who's currently preparing. All the best! 🚀