0% found this document useful (0 votes)
149 views8 pages

SDE Intern Guide

The document provides a comprehensive roadmap for students preparing for Software Development Engineer (SDE) internships, particularly during the summer after their second year. It emphasizes the importance of Data Structures and Algorithms (DSA), competitive programming, and project work, while also offering resources and strategies for effective preparation. Additionally, it highlights the significance of a well-crafted resume as a crucial element in securing internship opportunities.

Uploaded by

av2192020
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views8 pages

SDE Intern Guide

The document provides a comprehensive roadmap for students preparing for Software Development Engineer (SDE) internships, particularly during the summer after their second year. It emphasizes the importance of Data Structures and Algorithms (DSA), competitive programming, and project work, while also offering resources and strategies for effective preparation. Additionally, it highlights the significance of a well-crafted resume as a crucial element in securing internship opportunities.

Uploaded by

av2192020
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SDE Roadmap

Most of the students prepare for SDE internship during the summer break after 2 nd year. Starting from
the preparation and leading up to the intern season, and the intern season itself can be quite stressful.
I've just tried to put together a short and comprehensive roadmap for you all for the preparation during
the summer. I won't claim this is the best path to get an SDE intern. But I hope this will help you to
some extent in your preparation. The document is divided into a few sections, and I request that you all
go through the entire document and form a basic idea about the preparation.
This document comes from an experience. It is an experience not of immediate success but one
consisting of a lot of ups and downs, from being eligible to literally give almost 95% of tests to being
selected for interviews in very few to finally being able to crack one. Also, this is not coming from the
top most SDE profile. This is just from someone who has an okayish decent profile.

SECTION 1 - SUMMER PREPARATION


Well, you get 80 to 90 days during your summer vacation for the preparation for the intern season. Is
it too little? Is it too much? I would say it is just about sufficient if you plan accordingly. When I started
my preparation in summer, it was very overwhelming at the start because there are just too many things.
But you ought to do what you ought to. I just thought that if I just keep overthinking the situation and
don’t give a start, I won’t proceed anywhere. So don’t worry, it is a feeling everyone goes through.
Give a start. START! Trust me, you’ll enjoy the process.
This guide won’t provide you with a day-to-day itinerary of what to do. But it gives you an idea of how
much you should prioritize different things, and you can set the pace yourself.
P1 - DSA
The most important part and the one with the highest weightage. Data Structures and Algorithms. The
people who did a course on this already are a bit more lucky in this aspect on the fact that they know
things already. But even then, they are not supposed to take things lightly and just leave practicing
during the summer. And for those, who haven’t done a formal course. Well, it would be a really good
experience learning this. Learn it with curiosity, with interest, and with love. Because it is really
important.
There are a lot of topics starting from Arrays, Sorting and Searching, Strings, Linked Lists, Stacks and
Queues, Heaps, Greedy Algorithm, Recursion, Graphs, Trees, Dynamic Programming etc.
Well, it seems like a lot but trust me, you can do it. Every topic has easy, medium, and hard questions.
Don’t panic if you are unable to do hard questions. You can look up tutorials; almost all questions have
their solutions on YouTube on multiple channels. Give a couple of chances to the question and you’ll
grasp it.
Follow a defined path to DSA.
Striver’s SDE Sheet: https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-
interview-problems/
This is for someone who hasn’t done any practice of DSA as of now and want to cover all their basics
first. This sheet is short, comprehensive and very well organized. There are about 190-200 questions
handpicked. Even though for few topics, the YouTube videos are missing, you can look them up on the
internet and find the resources. Few video playlists are mentioned below as well. When you’re solving
questions from this sheet, do it on LeetCode
Striver’s A2Z sheet: https://takeuforward.org/strivers-a2z-dsa-course/strivers-a2z-dsa-course-
sheet-2
This is an extension to the above sheet. It has 450+ problems. So if you are someone who is well versed
with DSA, you can start this. It is one of the best-organized resources. Contains topic wise videos +
questions. Even though for few topics, the YouTube videos are missing, you can look them up on the
internet and find the resources.
Interviewbit: https://www.interviewbit.com/courses/programming/
This is for practice and doesn’t contain any videos. You can see videos or tutorials first and then come
to this. Even though InterviewBit’s UI is a bit laggy and the solutions aren’t great, it has a really good
path to practice DSA questions. And most importantly this is what almost everyone did before we had
Striver’s lists.
You can find the solutions to the problems from the interview bit easily on YouTube and Leetcode. In
LeetCode, you’ll get really good solutions from different people in the discussion section.
https://chromewebstore.google.com/detail/interviewbit/healhengajmbpahbgiokccdoemnnlaak?h1=enc
This extension gives LeetCode link of few InterviewBit questions. So this might help.
CSES Problem Set: https://cses.fi/problemset/
This is the most famous resource for DSA practice. Questions were asked from this for the online tests
as well as interviews. So if you get time, do questions from this. Not everything, but the graphs and dp
part. But again, depends on the time. Prefer Striver’s Sheet/Interviewbit over this if you are in the
beginner stage.
There are few YouTube playlists which are good+:
Stiver’s: https://www.youtube.com/playlist?list=PLgUwDviBIf0oF6QL8m22w1hIDC1vJ_BHz
Jenny’s: https://www.youtube.com/playlist?list=PLdo5W4Nhv31bbKJzrsKfMpo_grxuLl8LU
Babbar’s: https://www.youtube.com/playlist?list=PLDzeHZWIZsTryvtXdMr6rPh4IDexB5NIA
Harry’s: https://www.youtube.com/playlist?list=PLu0W_9lII9ahIappRPN0MCAgtOu3lQjQi
Remember. Just watching videos ain’t enough. That’s not what you are supposed to do. You are
supposed to practice.
TAKEAWAYS:
 DSA is the most important part!
 The way – Watch the video/read up from a topic, then practice a few introductory
problems, then go to Stiver’s sheet/InterviewBit/CSES and solve the questions from that
topic.
 Mark the questions you think you need to relook.
 Tons of resources online, just choose whatever is comfortable.
 Graphs and DP are important! And a bit on the tougher side as well. So give time.
P2 – Competetive Programming
Why CP? Isn’t DSA enough. Well it might be enough but you never run a race directly without
practicing right? So CP is just for that. If you are a good competitive programmer and have a good
rating, ofcourse you can drive your interview towards Competitive Programming. But even if you are
not, it doesn’t mean you shouldn’t do it. Just give regular contests on Codeforces, upsolve 1-2 problems
after the contest everytime and you can see that you are building confidence.
I mean don’t do it straightaway if you are a beginner. Do it after you’ve done a certain level of
programming and DSA.
Trust me, a good contest boosts your confidence more than anything else. And if you manage to get a
good rank in any contest, that can go to the achievements section of your resume.
Don’t worry too much about the rating, just keep practicing and doing well.
Codeforces: https://codeforces.com/
Codechef: https://www.codechef.com/ (Beginner stage of programming)
Leetcode: https://leetcode.com/contest/ (Underrated but great)
Few extensions for Codeforces:
Rating Prediction – Carrot:
https://chromewebstore.google.com/detail/carrot/gakohpplicjdhhfllilcjpfildodfnnn
Parse question to VS Code - Competitive Companion:
https://chromewebstore.google.com/detail/competitive-
companion/cjnmckjndlpiamhfimnnjmnckgghkjbl

And if you are someone, who’s good at CP. Continue doing it. Boost your rating. Learn new techniques.
Explore and have fun. If you are very confident about your intern preparation and looking for
proficiency in CP: https://usaco.guide/
USACO is the ultimate guide. You have sections ranging from General, Bronze, Silver, Gold, Platinum.
You have nicely curated resources and problem sets in USACO which will help you improve your
Competitive Programming level.

P3 – Projects
 Projects are another important aspect in which companies question you.
 You need to have one good project on which you can discuss well with the interviewer.
 A good project means something you have learned in and out about. Where you know well about
the technologies you used and why you have used them.
 You should have idea about the features you have implemented and what is unique about them.
You should also know how you can improve certain features and what do you plan for the future
of you project. Write the GitHub repo Readme well.
 Coding Club would be launching some summer projects. So you can look at them.
 Now the situation is a bit tricky since there are quite a few companies that don’t really ask much
about projects. That is why this is at priority three. DSA is something everyone defenitely asks.
 Don’t try to learn too many tech stacks if you haven’t learnt any as of now. Learn either Web
Dev, App Dev, or ML, whatever interests you and make projects on that.
 Preferably do one project at the start of the semester and don’t spend too much time on that. In
the end, the other two projects can be copy pasted from github/youtube and just learnt well. But
of course, you need to know a tech stack.
 Talk to some senior who is proficient of the tech stack that you want to work on, on how
questions were asked in the interviews.
 The preference of asking about project in interviews is different for different companies. Some
companies ask too deeply. Some don’t ask at all. Some ask just the idea behind the project. But
it is always suggested to do projects a bit well.
Whatever Tech Stack you mention in your resume – Node, Angular, Flutter, etc., you need to be
familiar with that. You can prepare the interview questions from interviewbit.
https://www.interviewbit.com/technical-interview-questions/
For a particular course, you can refer:
 APPDEV: First Steps to Flutter by Coding Club: https://rebrand.ly/app_dev_course
 WEBDEV: MERN Course by CC: https://shorturl.at/oyN45
 ML: Summer Course by IITG.AI - https://iitg-ai-society.vercel.app/coursePage
Again, if you haven’t done anything as of now. Don’t spend too much time on this. Instead spend more
time on DSA. Just learn basics of one tech stack, do one nice project. And two basic projects can be
lifted from Github but you need to once watch the youtube tutorial so that you can understand what’s
going on. Watching the videos won’t take that much time.
Contact any one senior who did projects in the particular domain to get more idea.
P4 - OOPs
Object Oriented Programming is another key concept that some interviewers focus on. So it always
suggested to read up a bit. It won’t take much time. You can watch a one shot video or just read up an
article. Would hardly take 2-3 hours.
These are important questions and actually reading this will also just help you understand quite a bit (I
only read this for OOPS preparation) : https://www.interviewbit.com/oops-interview-questions/
All 3 languages, C++, Python and Java are OOPs based. You can learn OOPs in general or you can
learn the concepts using a particular language.
C++ : https://www.youtube.com/watch?v=9roJTTghZJI
Java: https://www.youtube.com/watch?v=bSrm9RXwBaI
Python: https://www.youtube.com/watch?v=HeW-D6KpDwY
The below are for those who have completed all the above 4 and want to do some more interview
prep.
P5 – Other Computer/Programming Concepts
Other programming concepts like DBMS and OS might be asked in very few interviews. But if you
haven’t had a formal course on these topics. You can inform the interviewer. But few companies might
insist that you know these topics. Depends on the role actually. But don’t try to focus too much on this
if you don’t have time.
P6 – System Design
It is basically identifying and creating a model that meets the objectives of a company. You use concepts
of DBMS and OOPs
Example: Design a system for movie booking/google maps/twitter, etc.
There are very few companies (two or three) that have a round of system design. So it is not for
everyone. UBER and DevRev have a mandatory system design round. So if you are shortlisted for
these, do prepare for the same.
https://www.youtube.com/playlist?list=PLhgw50vUymycJPN6ZbGTpVKAJ0cL4OEH3

Takeaways from Section 1:


 Prepare DSA really well during summer.
 Do a bit of CP. Give some contests. Regular practice of CP during summer helps in the intern
season.
 Have one really good project which you know in and out of. Rest you can have basic projects.
Know the tech stacks well. Make a good project at the start of summer and then rest can be
lifted from Github.
 Study a bit of OOPs. It won’t take much time.
 Studying other topics of computer fundamentals like OS and DBMS depends on the time you
have.
 System Design is asked in interviews of two or three companies.
 Give really good time and you can complete the preparation during summer.
SECTION 2 – JUST BEFORE INTERN SEASON
Resume Preparation
Now this is one of the most important aspects. Your resume in many cases defines your chances. So
always make a really good resume.
Overleaf template for IITG: https://www.overleaf.com/latex/templates/iit-guwahati-
resume/fvqtppmzhvxn
This is the best way to generate a resume for intern. Ofcourse, you need to make changes and require
knowledge of some basics of LaTeX but it is easy and can be found anywhere on the internet.
 Intro: You can have hyperlinks of Codeforces/Codechef along with Github and LinkedIn if you
have a decent profile in both.
 Projects: In your projects, write the explanation well. Bold the technologies that were used in
the project. If it is a group project, mention your role in the project. Don’t forget to add the
hyperlink of the repo of that project. If there is some ongoing project, you can mention it. Be
careful about the order of projects. Your best project should be first followed by the others.
 Technical Skills: Mention technical skills in different categories. And be careful about this part.
Don’t add anything that you actually don’t know. Things will be asked from this in the interview.
You can use * for elementary proficiency.
 Key Courses Taken: In Key courses taken, mention Math courses, CS courses, any core courses
that are a bit relevant, and any development course that you completed and obtained
certification. Incase there is a case in which you have obtained AS, you can star that and mention
the star as AS received.
 Achievements: Ofcourse, you should add JEE Main, JEE Advanced, or BITSAT or KVPY and
any good rank in CET. If you have ranks in the Olympiads, add them. You can also add Inter-
IIT Positions. Any good ranks in CP Contests can be added. Any positions achieved in good
level competitions can be mentioned. If you have achieved state or national ranks in any good
competitions you can write them. If you have a department rank in top 3, you can mention it.
Don’t write something which is too old. Write things starting preferably from college or at max,
you can write things from your +2 level. Don’t go upto school level, they won’t be that impactful
until and unless they are really good achievements.
 Position of Responsibility: If you don’t have any, its okay. No need to worry. You can skip this
section. If you have one, write it and write a one line description about it.
 Extra Curriculars: Any positions or even participation in Manthan/Spardha/Kriti can be
mentioned. Again Kriti, it depends, if you achieved some good position, mention in the
achievements section. Also, if you have participated in any competitions in college organized
by clubs, mention it here.
Few key points:
 There are different styles of making a resume. Not everyone has the same style. So don’t worry
if someone else is making something a bit different from yours.
 Even the sections depend. Some people make a separate section for Competitive Programming
and related achievements. So even that’s fine. Don’t worry if you look at such resumes, it is
mostly done by the top 5-6 people in the batch and that’s okay. You need not be concerned by
it.
 Keep a 1 page resume. If it is extending beyond it, leave out some points or reduce the spacing.
Just prioritize.
 Don’t worry if you feel your resume is empty at this point, you can build it after your projects
are done. They can cover most of the portion.
 After you are done making the CV, send it to as many seniors as you know to get some
corrections. There may be confliction suggestions but as I said, everyone has a different style.
So its okay. Take suggestions from all the seniors and make some good sensible changes. In the
second round, send it to only 4-5 seniors who are really close. Again make some changes and
in the end, just send it to the closest seniors and friends.
 CV making is not a one day process by any means. So work on it well.
Mock Interviews
Once, your intern preparation feels done, you can contact some seniors to take some mock interviews.
Your seniors have experienced many type of interviews so they can help you assess your preparation
level. It is a bit tough thing since seniors have their own internship season going on and they would be
a bit busy but you can try asking them.
Prepbit
Prepbit is a series of tests launched by Coding Club where questions are similar to those asked in coding
tests of companies. So register for this and give the contests. You can also get an idea about your
preparation level.

SECTION 3 - DURING INTERN SEASON


Leetcode Discuss
There is a dedicated section on Leetcode where people add questions from coding tests and interviews.
There is always a possibility that a company coming to our college for recruiting interns, has already
recruited in another college before or atleast that their coding round is done. This page would have the
questions of that company from different colleged. Sometimes it happens that the company gives the
exact same question in our college as well, so looking at the questions before hand and trying the
solutions would help.
https://leetcode.com/discuss/interview-question?currentPage=1&orderBy=hot&query=
So do this during the intern season before the exam of the particular company.
Interview
If you are selected for the interview of a particular company, contact the seniors who got shortlisted in
that company and ask them regarding how their interview was. This will help you gain some insights
and prepare well.
https://docs.google.com/spreadsheets/d/1tX2N5G-
qLUynMroHygz09pacE2odmDpM31Umw5DB9-U/edit?usp=sharing
The above excel sheet contains the list of students from our batch who were selected in different
companies. You can refer this document and contact the senior to know more about a particular
company.
Few Tips:
 Keep talking to seniors if you’re stressed.
 Prepare together and help your friends in need.
 If you face any issues, inform them to the PC or APC immediately.
SECTION 4 – INTERNSHIP SEASON 2023-24
We have recently touched the 300 count mark for the on-campus internship season. The season
has been a bit tough than the previous years. You can get the companies list here.
https://docs.google.com/spreadsheets/d/18Y1uTXiZ6UbyeLqQrnTALRrTABAS-
r39Cv5d6Vykk_Q/edit?usp=sharing
Branch Wise Statistics:

You will experience a lot of things during the intern season. I’ve seen way absurd things happen with
me as well as many different people. A company rejected someone by saying that they were
overqualified. A company took the interview of a guy just to say that they can have already got the
required number of people and are just taking the interview for formality. A company randomly selected
some people. A company rejected people on the basis of a game they played. A company asked basic
array questions to one person and difficult graphs questions to another. Most probably, even you’ll
experience a lot of these. But remember, DON’T GIVE UP. Keep trying until you hit it.
CONCLUSION
 Utilize the summer to the very best.
 Do good practice of DSA and do some CP. Don’t just keep watching videos. Watch videos and
then practice well.
 Don’t worry too much about projects. One tech stack is enough. One good project + 2 okay ones
lifted from youtube/git totally works. Do the one good project in the start of vacation and don’t
waste too much time on it.
 Make a good CV and before finalizing it review from as many seniors as possible.
 If you are shortlisted in any particular company, contact that particular senior and get some
details of the interview.
 Don’t be stressed. All is well. You’ll do it!

ALL THE BEST!


- Manohar Sunkara

You might also like