Documente Academic
Documente Profesional
Documente Cultură
Who am I?
I am Abhinav Bhardwaj, a final year student pursuing B.Tech. in
Electrical Engineering from Delhi Technological University (formerly,
Delhi College of Engineering). I have been programming for the past 8
years since I was 15 years old. I have been doing Competitive
Programming for the past 4 years, I solved my first problem on
CodeChef even before I started college. Apart from that, I have studied
DS & Algo from GeeksforGeeks to the point that my friends often call
me “Chalta Firta GeeksforGeeks” — meaning “A Walking GeeksforGeeks”.
I secured an on-campus internship during my 3rd year (which was
quite tough, owing to the fact that I was from core branch) and I
secured 3 job offers during my 4th year (2 on-campus @ OYO and
Zomato, and 1 off-campus @ Aspiring Minds’ Research Lab). I am
nearing the end of my college life and had been planning this article for
quite some time now, so I thought this might be the perfect time for me
to pen down my thoughts. I believe I am now in a position to write this
article on “How to go about preparing for campus placements? if you
aim to become an SDE”.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 1/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Disclaimer: This is a list in progress and although I plan on making this list
exhaustive but as they say — “Each person has a di erent story”, you
may feel that some points have not been touched upon or have been left
out. So, suggestions regarding any other resources, which you think should
be a part of this list are welcome.
• Academics (OS/DBMS/CN).
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 2/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
• Language-specific questions.
• Puzzles.
_____________________________________________________________
___
The process may not exactly be the same, you may have less technical rounds, the order in which topics are asked may be di erent. This
ow chart is only to give you a basic idea of the whole process.
_____________________________________________________________
___
I have heard this one line way too many times, and thought that I
should tell you this right off the bat — “There is no point in doing
anything, if you cannot clear even the 1st round”. Initial stage of any
company’s process would always be a programming test, where you
would be judged on the basis of your ability to write correct code in
limited period of time.
How to prepare?
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 3/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
There are many places for you to begin your journey into the world of
Competitive Programming:-
• CareerCup
• CodeChef
• CodeForces
• HackerRank
• HackerEarth
• InterviewBit
• LeetCode
• SPOJ
• Topcoder
A word of caution: Do not try to solve problems from each site. This leads to
you, only solving easy problems from each of them. Instead, follow at max
2–3 sites and stick to them.
— For newbies, you may face difficulty while solving problems and
may easily fell demotivated, so the best bet is to start with A20J Ladder.
Here, problems are categorized on the basis of difficulty and you can
start from the bottom of the ladder. Solve ladders for a while, the
jump to any of the sites mentioned above.
— For those of you who are comfortable with Division-2, Level-A &
B, but just cannot get a hang of Level-C, either you can apply a
filter on Codeforces for Level-C or you can go for the ladder of
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 4/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Start taking part in coding challenges on any site of your choice ASAP. I
would recommend CodeForces. Even if you miss a round, you can
always use Virtual Participation to practice.
Here are a few of the problems that had come up in the 1st round
of various companies that visited DTU in 2019:
CodeNation:-
Ixigo:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 5/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
T-Systems:-
Rivigo:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 6/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Visa:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 7/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Zomato:-
Adobe:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 8/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
OYO:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 9/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Now, I have seen people studying DS & Algo from InterviewBit and
LeetCode. But for me, the most trusted place has always been
GeeksforGeeks.
Algorithms and Data Structures have separate sections, here are the
links:-
• Algorithms
• Data Structures
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 10/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Similarly, from Data Structures you can leave all the Advanced Data
Structures except Segment Tree and Trie. and similarly, you can leave
any data structure which is seldom used, as questions from these are
highly unexpected. Study Heaps and Trie thoroughly as questions are
frequently asked from them in interviews. Apart from that, studying
Array, Linked List, Stack, Queue, BT, BST, Graph goes without saying.
3) Academics (OS/DBMS/CN):-
Academics usually include questions from Operating Systems and
Database Management Systems. Questions from these topics won’t
be solely theoretical but will cover practical applications as well. In fact,
they will focus more towards the practical aspect.
• I was also asked this question from OS, which I realized needed in-
depth knowledge of cache, RAM and CPU to answer: Will a system
having cache (along with RAM, obviously) always perform
better(faster) than a system having only RAM, or is it possible that
it may be slower?
Studying only the definitions won’t help you in answering such questions.
Deep-diving into the topic is necessary. These topics should never be taken
lightly since some interviews are solely based to check your OS and DBMS
skills.
Tips:
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 11/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Interviewer: So, are SJF and Priority Scheduling related in any way?
Me: Yes, the idea behind the SJF algorithm is to pick the quickest
fastest little job that needs to be done, get it out of the way first, and
then pick the next smallest fastest job to do next. Priority scheduling is
a more general case of SJF, in which each job is assigned a priority and
the job with the highest priority gets scheduled first.
Interviewer: ……….further questions……….
• You can skip Computer Networking since it is quite vast and not
many companies focus on it (Totally your choice). Students
generally focus on OS & DBMS and if they are asked a question on
CN, they generally say that they have thoroughly studied OS &
DBMS and they will be able to answer questions from them and if
the job requires them to have a knowledge of CN then they can
study it. [I have seen this argument working just fine, as
companies rarely focus on it]. Remember, work smart not hard.
Resources:
1. For OS
1. For DBMS
• Course Slides
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 12/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Start covering these subjects during the last month, before your
placement season begins. Students rarely use books to study these
subjects as they are huge, instead you can use the links provided above
and they will work just fine.
4) Language-specific questions:-
These involve questions from the language you prominently code in.
• C
• C++
• Java
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 13/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
One of my friends was asked to implement Malloc and free in c/c++ (If
you don’t know how malloc and free function internally you would
have a hard time answering this).
Such problems need practice as they usually run for the entire duration
of an interview. Some of the design questions I was asked in
interviews:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 14/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
• Design a chatbot system which takes in queries from users and re-
directs them to the concerned department that can solve their
queries.
6) Puzzles:-
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 15/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
One thing that I have noticed is, most of the companies ask puzzles
from a common pool. So, covering those puzzles will allow you to crack
most of the puzzles thrown at you.
Start doing this book during the last month, before your placement
season begins. Around 200–300 questions done evenly from all
chapters should be sufficient.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 16/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
or 20 questions. Try to reduce that, the less time you take to solve
aptitude questions, the more you will be able to dedicate to
programming section.
_____________________________________________________________
___
1. Maintain a decent CGPA that allows you to sit for any company
that visits your campus. Ideally, try to keep it above 7.5/10 or 75%
(whatever criteria your college follows). Although, if you plan on
going for Masters, try to keep it above 8.0/10 or 80%.
4. Interviewers are not your enemies, they are not here to reject
you. — The sole fact that you are sitting in that room implies that
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 17/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
they want to hire students, you only need to prove you have the
knowledge and mettle to be selected.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 18/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
12. Be thorough with your resume. — Study the projects that you
have done. Think of any possible question that may be framed
from them. For example: In one of my projects I had used
serialization and I was asked how is it implemented using Java? —
Is it a class or an interface. He further went on to ask what type of
interface…..A marker interface. I was then asked questions on
marker interface. In short, if you have made a project, they expect
you to be thorough with it. Also, revise any courses that you have
mentioned on your resume.
13. Never fake your resume. — I have seen way too many students
writing made-up stuff that they never actually did and being
caught by the interviewer due to their inability to answer
questions. So, only write projects that you have genuinely done
and skills that you have acquired in the process. (If you have not
done projects, now might be a good time to do some).
14. Use LaTeX to create your resume instead of the plain old MS
Word. — Your resume is your first impression upon the company,
want to be taken seriously, spend time and efforts in creating that
perfect resume.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 19/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
Why should I join you instead of any other company out there?”
The list is endless.
16. It may sound trivial but get your basics right. — You should be
able to calculate time complexity etc, quickly and accurately. The
solution that you code in interviews must always be followed by its
time complexity. In one of my interviews I was asked: You have an
algorithm that has T.C. of O(n) and another algorithm that has
T.C. of O(n²). Will the first algorithm always exhibit better
performance. Hint: Big-Ο is used as a tight upper-bound on the
growth of an algorithm’s e ort (Big-O indicates worst case senario).
The answer to this question proves my point.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 20/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
_____________________________________________________________
___
There are some miscellaneous topics like — How to prepare for the HR
round? and How to apply off-campus? which I will cover below.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 21/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
2. If the interview knows that you already have a job offer and you
are asked why you won’t be joining that company, never talk
smack about previous employers and don’t bad-mouth the
past companies. This will lead to an immediate rejection, no
matter how well you performed in your technical rounds. Instead,
tell them how their company will provide better growth
opportunities, how much you have heard about their work
environment…..etc. I remember, Zomato was the first company in
DTU that was open for placed students as well. And everyone who
made it to the HR round was asked — “Why are you interested in
Zomato and not the company in which you are currently placed?”.
A few of the students made exactly the same mistake of bad-
mouthing the previous company and they never made their way
into the final selections.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 22/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
• Where do you see yourself 5–10 years down the line? — This is for
each one of you to decide on your own. Still, an example would
be: “I would like to be a source of inspiration, people should look up
to me and say I am the best at what I do. I would like to see myself
learning something new every day. I would like to a ect people’s lives
directly”.
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 23/26
5/16/2019 How to prepare for Campus Placements? — A journey from being a student to an SDE
1. Make a list of all the companies you want to reach out to. Do not
hesitate in applying in even the so-called “big guns”. Chances of
hearing a reply are slim due to several factors (companies receive
100s or 1000s or such applications) so make sure you apply in
many companies to at least get some replies.
4. Drop your resume to both, the recruiter as well as the careers email.
Write a polite and a simple message, expressing your intent.
7. Get in touch with your college seniors on LinkedIn and ask if they are
willing to refer you to their company.
_____________________________________________________________
___
Happy Interviewing!!
https://medium.com/codealchemist/how-to-prepare-for-campus-placements-b9fa571d45e6 24/26