Interview wiki - For Software Engineer
Generally, a Software Engineer Interview has 4 kinds of rounds:-
-
Technical Round
-
High Level Design(HLD) Round
-
Low Level Design(LLD) Round
-
Behavioural Round
The number of rounds for each role would depend on the company. For example Amazon, they usually have 4 rounds in which the first 2 rounds would be related to Data Structure(DS) and algorithms, and the rest would be design rounds if it is for the SDE2+ role. For them, they don’t keep a separate round for behavioral instead, they ask a couple of leadership questions in each round.
Every round is important and we should commit time to each. Usually, freshers who are out of college won’t be having HLD and LLD rounds. But they can expect an OO(Object Oriented) round instead, where they test your Object Oriented skills.
Here in this wiki, I will share all the content which I came across during my interview preparation. I would be sharing courses, books, blogs, and GitHub repos which were very useful for me during my interview preparation. This does not mean you have to follow the same for your interviews as everyone has their own style of learning. But you can use this wiki as a guide or reference for the preparation. In the end, it’s you who is attending the interview.
I will cover each round separately. Let us start with the Technical round.
Technical Round
One of the most important rounds for both freshers and experienced people. Here they test your knowledge of Data structure and Algorithms. These rounds do not test your knowledge of advanced algorithms which exist to solve complex problems. But you should at least know the most common ones. I have seen people getting very weird and rubbish problems that can only be solved with some unique algorithms. But that is very rare. I won’t suggest spending time there as we should trust the basic probability of facing it. If you want to see the common interview question pattern you can visit the following website (https://algo.monster/problems/stats)
The things which you should not skip :
Data structure,
Array, Linked List, Stack, Queue, Heap, Map, Set, Trie, Tree, BST
Algorithms
Sorting, Dynamic Programming, Greedy, Searching, Divide and conquer, and Graph algorithms.
High-Level Design
It tests your knowledge of designing the overall archectiture of a system. It includes a description of system architecture, database design, and a brief description of systems, services, platforms, and relationships among modules. Questions used to be very vague like design WhatsApp, design Redbus, etc. Here you need to come up with a design in less than 30–45 minutes depending on the interviewer. Here interviewer is not expecting you to code but you should be able to design the databases, API, etc if asked for.
Low-level Design
It describes a detailed description of every module, which means it includes actual logic for every system component and it goes deep into each module’s specification. Here you have to code the classes, interfaces, etc. You should also have very good knowledge of Design patterns. If you know an object-oriented language then it would be a plus point.
Behavioral rounds
I believe here I don’t need to give any introduction. This is one of the rounds that people used to skip but in my opinion, spend at least a day for preparation. Most of the interviewers actually care about what you say in this round. Amazon, Google, etc. really take these rounds very seriously and you should be aware of the questions asked, and what strategy should be followed to answer those questions.
Resources:
Technical round
-
https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/ (Most important)
-
https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-interview-problems/ (Problems)
-
https://www.youtube.com/user/purpongie (Tutorial)
-
https://cses.fi/problemset/list (Problems)
-
https://github.com/donnemartin/interactive-coding-challenges (Learning)
-
https://leetcode.com/discuss/interview-question/2001789/Collections-of-Important-String-questions-Pattern (Problems)
-
https://github.com/jwasham/coding-interview-university (Learning)
-
https://leetcode.com/discuss/interview-question/2069641/the-only-lists-you-need-for-your-interview-preparation (Learning)
HLD Round
-
https://www.youtube.com/c/SystemDesignInterview/videos (Tutorial)
-
https://www.youtube.com/watch?v=0163cssUxLA&list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka (Tutorial)
-
https://www.youtube.com/watch?v=xpDnVSmNFX0&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX (Tutorial)
-
https://blog.bytebytego.com/?utm_source=linkedin_post (Blog)
-
https://leetcode.com/discuss/general-discussion/125038/system-design-interview-prep (Learning)
-
https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers (Paid course)
-
https://github.com/donnemartin/system-design-primer (Learning)
-
https://github.com/checkcheckzz/system-design-interview (Learning)
LLD Round
-
https://workat.tech/machine-coding/practice (Machine Coding Problems)
-
https://www.youtube.com/playlist?list=PL564gOx0bCLouDCUMtmj6hMEu1JS7QYEr (Tutorial)
-
https://github.com/prasadgujar/low-level-design-primer/blob/master/questions.md (Problems)
-
https://betterprogramming.pub/how-to-ace-the-low-level-design-interview-3f1be6401070 (blog)
Behavioral Round
-
https://www.youtube.com/watch?v=RzlUQCy84rQ (Amazon Leadership principle)
-
https://leetcode.com/discuss/interview-question/1729926/a-guide-for-behavioral-round (guide)
3.https://drive.google.com/file/d/1sb6Kll5enH3H70uaNwnjWPkN9pNtSu9-/view (pdf)
-
https://igotanoffer.com/blogs/product-manager/behavioral-interview-questions-tech-companies#techniques (Facebook questions)
-
https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP (Amazon LP questions)
-
https://www.techinterviewhandbook.org/behavioral-interview-questions/ (Questions)
-
https://www.principle.cards/ (Test yourself)
For the latest updates of interview-wiki, you can follow my GitHub repo https://github.com/aashan007/Interview-wiki
Review products, books, movies, restaurant and anything you like on your Jekyll blog with Mediumish! JSON-LD ready for review property.