This directory aims to provide all the materials required to crack an SDE Interview.
What you need
- Core CS concepts knowledge
- Coding skills
- Communication skills
- Puzzles and Aptitude
- General Tips
Core CS
- Operating Systems
- Computer Networks
- Database Management
- OOPS
- System Design
| SNo |
Topic |
| 1 |
Fundamentals of DSA, OS, CN and DBMS |
| 2 |
Load balancing, caching, horizontal and vertical scaling, distributed system, and latency. |
| 3 |
Distributed storage, distributed computing, consensus algorithm, and its applications. |
| 4 |
MVC, Observer, Singleton, Factory, and Dependency Injection. |
| 5 |
Designing APIs and microservices. Loose coupling, separation of concerns, and API versioning. REST, GraphQL, and Message queues. |
| 6 |
Relational databases and NoSQL databases. Indexing, sharding, replication, and ACID properties. |
| 7 |
Different system architectures, such as monolithic, microservices, and serverless. Design principles like SOLID, DRY, and KISS. |
| 8 |
Deep dive into real-world system design case studies. |
- Tips
- Make notes for last-minute revision
- Understand the concepts in depth, no superficial knowledge
- Check out the most asked interview questions here
- Refer to material in ./CS_Fundamental folder
DSA
- Strivers Sheet
- Refer this GitHub repo for an exhaustive list of topics and resources
- Contests and practice on Leetcode and Atcoder
- CSES problem set
- Good grasp of time and space complexity
- Youtube Channels
- Tips to approach a DSA problem in an interview :
- Understand the question - Ask clarifying questions, can even ask the interviewer to repeat if it helps
- Brute to Better - Always start with the brute force and make your way up the most optimized version while having a discussion.
- Testing - Test the solution on test cases, chose edge cases, and explain how your code handles them.
- Clean Code - Write clean and structured code with necessary comments and meaningful variables’ names.
Projects
- 2-3 projects with minimal and clean design (unless you are a designer) and priority zero features.
- Be sure to deploy your site/app
- Portfolio website to showcase your work.
- Know the inside out of your projects
- Know the answer to the top 50 most asked interview questions on tech stack. Refer InterviewBit, tekeUForward, etc.
- Prepare for:
- Introduction
- Why this tech stack?
- Difficulties faced and how did you overcome those?
- Future improvements and ideas for implementation
- Flow of the app
- Learnings
- Youtube Channels
Communication Skills
- Practice mock interviews
- Pramp.com
- interviewing.io
- Communicate while you code
- Know about the company, do your research
- Think of some questions you can ask the interviewer when given the chance.
- Practice basic HR questions
- Refer to the designated section in ‘Cracking the Coding Interview’
- Read about interview experiences on Medium and Leetcode
- Know the STAR format
Puzzles and Aptitude
- Some companies ask for puzzles in their interview, but this doesn’t need much specific preparation.
- Check out GFG Puzzles to get an idea.
- Aptitude - Knowledge Gate
General Tips
- Research the company beforehand
- Appear confident and enthusiastic
Useful Links