A Beginner's Guide to Placement Preparation

Hello Guys !!

We know at this time, the entire country has been put on lockdown. Consequently, it could be a case for many of you guys that your summer vacation may get terminated or shortened. So you guys would not get any time to prepare yourself for your placements or internships. So, guys, this is high time that you start preparing. Always keep in mind - Slow but steady wins the race.

So to help you out with some of the major questions like what to study, where to study, and lots more... I have come up with a curated list of topics and resources with the help of my friend Sachin Agarwal. You can take the help of these to begin your preparation. So do have a look. However, you need not stick to these resources if you do not find them useful.


I am writing this blog, keeping in mind the placement process. Still, the process for an internship is almost similar to placement, with a lesser no of interview rounds and less difficulty.

So let's start it eazily!!


Image Credits: www.placementseason.com


Placement Process structure

The placement process generally has the following structure:

  • Online Coding Round ( May contain MCQs as well).
  • 4-5 Interview Rounds. (Internship process generally has 2-3 rounds. Some companies even have only one round.)

Online Test

For the online coding test, the major topics asked are dynamic programming (DP), arrays and strings, graphs and trees, binary search, and major data structure based on priority queues. Their level varies from company to company. But try to solve medium-level questions as most people will be able to do easy ones. Shortlisting in companies depends on various factors like time-taken to solve problems, your CGPA (not always). Some companies even check how many times you pressed backspaces(weird but true) as they want you to write code without making many errors. So keep in mind writing the correct code as soon as possible.

Once you are shortlisted, you will be called for the interview. As said above, the no of rounds will be between 4-5. Interview rounds could be either eliminated (most companies do this), or they take all rounds and, in last, announce the results.

Each interview has its purpose of testing various technical skills of the candidate. The general structure of the interviews is :
  • 1-2 rounds dedicated to Data Structures and Algorithms (DSA).
  • 1 round for project discussion that you have done.
  • 1 round for system design(generally not for interns).
  • 1-round for core CS subjects like DBMS, Networking, OS. (This may get mixed with other rounds)
  • 1 HR round.
Now first, I will tell you how to prepare for the DSA interviews.

DSA Interview - Not a tough nut to crack, but Beware !!

As the title specifies, DSA interviews are not generally hard. The main intention of the interviewer is to see the candidate's approach to solving a problem. They see how you come up with an optimal solution. Many times you know the optimal solution, or you have seen the problem. In that case, try not to give the optimal solution directly. Start from the brute-force approach first. If you give the optimal solution directly, that would not be counted in assessing you as the interviewer would get to know that you have seen the problem previously. Providing a perfect solution does not matter in these interviews. Only your thought process is judged. So try to cover all the DSA concepts. Understand their basics. While solving any problem, ask questions about why a particular data structure or algorithm could be used here. The reasoning will significantly help in coming up with the optimal solution.

You can easily prepare for DSA by using various sites like GeeksforGeeksLeetcodeInterviewbit. Try solving more and more problems. Most of us have the habit of writing the code directly on the IDE. So writing code on paper becomes hard. But in interviews, you have to explain your code on paper. So while practicing, make a habit of writing the function of the problem on paper. Try to write it with indentation and neatness. This will help you to explain your code to the interviewer easily.

I have been saying about DSA, but don't forget to practice for DP and Binary Search problems. Binary Search problems are much simpler than DP. You can practice them from the sites mentioned above. But a lot of students face issues in DP. The primary reason is that there are variations in DP problems that most of them fail to identify. Recently I got to know about this Youtube Playlist. I found this very informative and explanatory. This playlist contains all types of DP problems that you may face in an interview. What I liked in these videos is the art of teaching. Aditya Verma, the playlist's creator, tries to focus on breaking the problem and understanding the crux rather than directly explaining the code for every DP problem. This will help you to identify the parent problem of the variation.

I think that's enough for these interviews. Now move towards project discussions.

Project Discussion Round

Personally, I feel this round comparatively more comfortable than other rounds.

The main objective is to check your teamwork skills (as in companies you have to work in teams). They also ask the reasons for using a particular language or framework. In this case, you to tell them why you chose it over other existing frameworks. Many of the students have doubts about whether they ask about everything present in the project. NO!! They only ask about the contribution you made to the project. It can be the back-end or front-end, or both if you have done the project individually.

Before going for the project round, prepare for these questions:

  • Was it done in a team or individually?
  • If in a team, what was your contribution?
  • Impact of your work?
  • Why you chose a particular framework or language?
  • Time is taken to complete the project?
Mostly the questions are related to the above these only. However, they sometimes move towards system design by asking questions like how would you scale it, etc... But don't worry about it, you can answer them once you have prepared for it.

System Design Round - What the hell is this?


I know most of you will be hearing this term for the first time. But this is an important round where you will be asked to design systems of famous sites like Twitter, Facebook, Netflix, or whatever...
Concepts like scaling, load-balancing will be asked.

So gear up for this.

I will not teach you about this here but will give you a list of resources from where I prepared. Here is the list:

These would be enough to get you through the system design rounds. However, you can look for others.

Core CS Subject round

Core CS subjects like OS, DBMS, OOPS, Networking are favorite topics for most big companies like D.E. Shaw, Oracle, Arista, Citrix, etc.

For students from non-cs backgrounds preparing for software companies, I suggest they start preparing for these subjects. You have to study these topics outside your core course curriculum. Some non-cs students make the mistake of leaving these core subjects and focus only on the coding part. But they get stuck in this round and fail to make it to their dream company. See! they are not that hard. You guys just have to understand them properly once. You can take the help of your CS background friends, ask for their notes, or just go to GFG(GeeksforGeeks) and read about those subjects.

To prepare for core CS subjects, I would say your notes and GFG is sufficient. I have given many interviews and asked friends about their interviews, but almost every question in core CS was available on GFG. So GFG is the best medium for preparation. For guys preparing for internships, focus only on those subjects you have studied till now.

HR Round - The Last Barrier

Almost all companies have this round to check whether the candidate will suit their company culture. They ask about basic personality questions, your knowledge about the position, and the company you are applying for.

Mostly the questions revolve around these:
  • Introduce yourself. (Always their first question, obviously! Your answer decides the flow of your interview.)
  • Your strengths and weaknesses.
  • Why this company?
  • Why are you a better candidate than others?
  • Your location preferences (sometimes).
Sometimes in HR interviews, they ask puzzles. I would suggest students who are preparing for internship interviews to focus more on puzzles as well. To prepare for puzzles, you can take the help of the GFG link. Generally, companies ask for puzzles from GFG itself, so try to read all puzzles.

TIP: In the introduction part, try to tell about yourself, which is not mentioned in the resume.

I think this is the end of any placement or internship process. I have tried to cover all the essential parts which I felt were necessary. However, if I have left anything to tell, feel free to ask anything in the comments.

In the last, I would say prepare hard, utilize your quarantine time and rock your interviews✌✌. Also, pray for this pandemic to end.

Image Credits: Clarabelle.org

Comments

Post a Comment