Coding Interview Preparation for Junior Year
I am compiling my personal notes and experience of interviews at Microsoft and Deutsche bank. Hope this might help you. There is no clear pattern of coding interview, but I try to integrate list of question they used to ask in Interview.

DS and Algo
Most Important part of TECHNICAL INTERVIEW. Tech companies obsess over DS and Algorithm. Do practice on various coding platforms. Hone your DS and Algo skills.
Common data structures
- Array, Linked List
- Stack and Queue
- Tree
- Graph
- Hash Table
- DSU( Disjoint set unit)
Sorting Algorithms
Dynamic programming( Refer tushar roy channel on YouTube)
Greedy approach
Advanced Data Structure(Very less chance)
- Trie
- Segment Tree
- Binary Indexed Tree
Coding platforms for practice
- HackerEarth
- HackerRank
- GeeksForGeek(https://www.geeksforgeeks.org)
Ample amount of Interview experiences. Company wise different coding problems.
- Leetcode(https://leetcode.com)
Very good platform for Interview specific problems. Wide range of problems.
- Codeforces
SOTA platform for practicing problem and honing your DS and algo skills. Usually they have contest every week. Many keen programmers invest time here and at code-chef.
- CodeChef
Indeed it is a very good platform. Many interesting problems on Maths and DS. Long challenges are more interesting! They have a wide range of coding contests. CookOff, LunchTime and Long challenge.
Others
Topcoder, spoj, and etc.
How to begin with competitive programming( Sports programming)
- https://www.youtube.com/watch?v=FbW_5ipDCbg
- https://www.hackerearth.com/practice/notes/getting-started-with-the-sport-of-programming/
Golden Nugget
Select one platform and do practice on that, instead of trying out every coding platform. I’d recommend to do practice on HackerRank or HackerEarth, take part in contests on codeforces and codechef, When interviews are near, start digging out GFG interview experience and leetcode.
Programming language
You should have mastery over one programming language. Java and C++ are advised. Select one programming language and practice with it. Solve problems on various platforms with this programming language. Avoid python :(. Prefer Java or C++. Also do practice on pen and paper. Many companies have their interview round on Pen and paper. Some online interviews don’t have IDE either, so it is advisable to have some practice without IDE.
Projects
- Don’t fake here. PLEASE!
- It is advisable to have ATLEAST 3 projects.
- Mention those projects in your resume, in which you are comfortable.
- You may have one round of interview on project.
- Do mention achievement here. Like, I did xx project, as part of SIH 20xy. My project selected ……
- Github project or contribution, if any. No need to forcefully mention.
- It is good to have Data science project but include in your resume when you are comfortable with related Technologies. Try to avoid if you have limited knowledge. Sometimes interview may re-direct into different direction.
- In projects list, Try to cover wide range of Technology Domain rather than stick to one Tech Domain.
- Better understanding of System design and Database design in simple project, like library management system is much better than superficial knowledge in project with stylish name of ML and DL.
- Try to include those project in resume, which suits to company profile. However major MNC don’t hire for particular role from Junior year, rather they are looking for candidate with sound understanding of CS fundamentals.
Operating system
Basic concepts of OS, like Deadlock preventions, virtual memory, race conditions, paging algorithms, multiprogramming, Threads and Multiprocess in OS, etc.
Commonly asked questions.
- What is different between Process and Thread?
- How do deadlock preventions work?
- Question on virtual memory
- Different scheduling algorithm, and etc.
Generally they are expecting basic understanding and concepts of OS. Deep knowledge have a plus point.
Online tutorial for learning
- https://www.javatpoint.com/os-tutorial
- https://www.studytonight.com/operating-system/
- https://www.tutorialspoint.com/operating_system/index.htm
- https://www.guru99.com/operating-system-tutorial.html
DBMS
- Advantage of DBMS over traditional file management system
- Database normalization
- DDL, DML, and DCL
- Primary key, foreign key, candidate key, and etc
- ACID properties
- Database SQL query
- Generally they ask to write standard SQL query.
- Design database for XYX system. How you normalise database for this system.
- Example: write a query to find the second highest salaried employee in the employee database, etc.
- Practice standard SQL query
Online tutorials for learning
- https://beginnersbook.com/2015/04/dbms-tutorial/
- https://www.javatpoint.com/dbms-tutorial
- https://www.tutorialspoint.com/dbms/index.htm
For SQL query
- https://www.edureka.co/blog/interview-questions/sql-query-interview-questions
- https://www.softwaretestinghelp.com/50-popular-sql-interview-questions-for-testers/
Object oriented programming
OOP is an important part of technical interviews. You may face questions like, Explain OOP in layman terms. Explain Inheritance in layman….etc. Java the complete reference’s initial chapter are very good for OOP concepts. Multithreading in Java, Exception handling in java
- OOP paradigm
- Inheritance
- Polymorphism
- Encapsulation
- Abstraction, and etc.
Books
- Java the complete reference, by Herbert Schildt
Tutorials
- https://career.guru99.com/top-50-oops-interview-questions/
- https://www.geeksforgeeks.org/commonly-asked-oop-interview-questions/
- https://www.edureka.co/blog/interview-questions/oops-interview-questions/
- https://www.journaldev.com/12492/oops-interview-questions-answers
- https://stackify.com/oops-concepts-in-java/
Networking
Commonly asked questions.
- Explain OSI layer in layman term
- Difference between Data and Information :)
- What is IP? and related Qs.
- Explain Static and Dynamic routing. How it works
- Routing protocols.
Since networking is very vast subject, you may have limited knowledge. But it would be better if you have basic understanding of each topic. Refer online tutorials for learning. If you don’t know the answer, Nothing wrong to say politely that I don’t know about this, rather than answering wrong.
Online tutorials
If you have any doubt, feel free to contact me on LinkedIn. Let’s connect. I would like to have a chat. Hope this post might be helpful for coding interview preparation. I would like to thank to my friend Yash Jain, Het, Krutarth, and Ashish for proofreading. Hit clap if you like this post. Suggestions will be highly appreciated. Thanks. 😊.