Minimum Knowledge to Crack Software Developer Interviews


Since the placement season is starting soon, here is a prioritized compilation of the minimum knowledge required to clear most software interviews.

The word minimum is used deliberately - this guide only covers essentials, not everything.

I have written it in priority wise order so the things which are written on top are more important than bottom. So start learning from top to bottom.

1. Projects and Resume

Have at least one good project on your resume. The tech stack doesn't matter, but it should be worth discussing for at least 15 minutes.

Prepare all technologies mentioned in your resume. If you're not confident about something, remove it.

2. DSA (Data Structures and Algorithms)

DSA is asked in almost every company. If you can solve at least LeetCode medium problems by yourself without hints, you can clear most companies' DSA rounds.

If you haven't done DSA yet, you can speed-run the InterviewBit problem set (~270 questions): https://www.interviewbit.com/courses/programming/

3. Object-Oriented Programming (OOPs)

Learn OOP concepts thoroughly: class, object, interface, inheritance, compile-time & runtime polymorphism.

Best playlist for C++ OOPs: YouTube - C++ OOPs Playlist

Watch at 2x speed and skip question videos. Can be completed in 2 days.

4. Basic topics High-Level System Design (HLD)

Even if your interviews don't have dedicated HLD rounds, knowing the basics will help in explaining your projects and CS questions.

Sufficient resource: System Design for Beginners

No prerequisites required to understand this.

5. DBMS (Database Management System)

No need to watch big DBMS playlists. Above is sufficient.

6. Operating Systems (OS)

7. SQL

8. SOLID Principles & Design Patterns

After OOPs, learn the SOLID principles and then the following patterns:

Practice the following LLD questions:

9. Computer Networks (CN)

If CN questions will be asked, then 99% chances are they are limited to only the above 3 topics.

10. HLD Questions to Practice

Since you now know basic OS, DBMS, CN, and HLD - practice the following HLD questions:

This knowledge is sufficient to clear HLD rounds.

11. Final Thoughts

If you don't have good preparation then don't feel sad. It involves luck also, you can get good placement with less knowledge.

If you prepared very well and not able to secure good placement in future then also don't feel sad because it involves luck which is not in your hand.

All the best! 🚀

Designed and Developed by Shivam Bhadani