Personally, I think this is one of the easiest type of interview to pass / prepare for.
Resume
If you wrote your resume yourself and have a good understanding of what you did, this is going to be a breeze. If you don't, you need to start now.
You can think of them just fact-checking your bullet points but they're also probing for domain knowledge and depth. For example, "Built a eCommerce website with MERN" — they will ask you "Oh, what's the architecture you used?", "What were some common issues you encountered?", "Did anyone help you?".
They're looking for:
- Your technical knowledge — "I used a microservice architecture with Istio as the service mesh" (Just an example, this is almost never a complete answer)
- Problem solving skills — "I encountered X issue when Y happened, I had to Z to fix it"
- Communication skills — "I worked with a senior engineer who guided me on design docs but I did implementation myself."
The biggest advice here is coming up with a story bank. Think about what you wrote, and what narrative you want to convey. "Optimized p95 latency for XYZ endpoint" — "I was able to reduce the latency by introducing a redis cache. The idea was proposed by a senior engineer and I was tasked to implement it. It was rough going through the docs but the actual implementation wasn't too bad."
General programming
This is a catch-all category for questions that don't fit into the other categories. They're usually very straightforward. For example, "What's the time complexity of a binary search?", "What's the difference between a stack and a queue?", "What's the difference between a hash map and a hash set?"
"Those are not easy to answer at all!" — The answer is very straight forward and doesn't require you to consider other factors like in a system design interview. These questions are usually fundamental and should've gone through in school.
Now, obviously you can't memorize every single answer or every algorithm time complexity, so I will say it can be tricky to prepare for. But the good news is, these questions are usually the same and you can try to practice with a question bank that's available online.
The biggest topics to cover would be:
- Data structures and algorithms (time complexity, differences between different data structures, etc)
- OOP — look back at your CS101 notes and review major concepts like inheritance, polymorphism, encapsulation, etc
- Beyond these questions, you might trail into domain knowledge. "What is a react component?" These are definitely harder to prepare for if you are not notified ahead of time. I would reach out to your recruiter to get more information (yes you can do that) and prepare as much as you can. Generally, if it's a tech-related domain knowledge, you can ask ChatGPT for the top concepts needed to know.