The easiest way to get a computer science internship is to start by asking around with your friends. If your friends know someone, who knows someone, then there is a better chance of you getting an internship at their company.
Someone you know has a better chance of helping you find a great internship than someone you do not know. By asking around your friends and through networking, you might be able to get a computer science internship at a company you have only dreamed of working at.
What is Computer science?
Computer science is a set of academic disciplines that deal with the theoretical foundations of information and computation and with the practical problems of implementing information systems. Computer scientists study the state and behavior of physical objects from the point of view of the computer.
How to get a computer science internship?
First, I was luckily able to get offers from many companies, including Google, Amazon, etc.
I applied to more than 500 internship positions and heard back and got an interview for around 30 of those 500. The interview processes for most companies were very similar so I will talk about the overlapping interview process step by step. I did not get any referrals and did not reach out to any recruiter. I applied to 500 companies on their website.
The internship recruiting process is in two cycles.
- The first cycle is from late August to early December.
- The second cycle (less popular) is from January to April.
I recommend applying on websites as much as possible in August and sending out emails to recruiters that you have contact with. This gives you a headstart in the interview process, and if you have expiring return offers from previous internships, you must act fast and interview fast with other companies before it expires. —
Here was the interview process for most companies, and if you have questions about specifics, I can try to answer those in the comments.
- Linkedin – LinkedIn has a lot of internship application recommendations. I would look into this platform
- Jumpstart – is not the best platform, but also another way you can apply to some companies
- Intern. supply – this has a long list of companies that are hiring for cs majors
- Handshake – Your school might have a platform where you can apply directly to companies
- Career Fairs – If your school is large, then this might not be a great way, but if you can get contact information from some recruiters you meet there, that is always great!
- Manual Application – If you have any companies in mind, go on their website and see when their application opens. This is usually the easiest/best way
Internship Interview Process
- The first part of hearing back from a company was being sent a coding challenge either from Hackerrank or some other third-party coding platform. I noticed that you usually move on to the next round by getting a perfect score on the coding challenge.
- However, there were times when I didn’t get a perfect score and I still moved on to the next round and there were also times when I got a perfect score and was not moved on to the next round.
- The next part was usually a 1-hour phone interview consisting of a technical coding challenge. None of these interviews asked for my knowledge of complex algorithms like bellman ford or Hopcroft Karp.
- They were purely testing my problem-solving ability and my ability to write code. Also, they sometimes asked for my knowledge of simple data structures that are taught in all undergraduate data structures classes. For example, they will ask what a HashMap looks like and how that is implemented, etc.
- Usually, when you do well on the phone interview, there are either more phone interviews or an onsite interview. 9 companies out of 10 do not have onsite interviews.
- They usually have 2-3 phone interviews and once you do well in those interviews you are accepted. The onsite interviews were much longer (3 hours minimum). You were expected to be there at a certain time and go through multiple back-to-back interviews that consisted of technical and behavioral interviews.
My preparation for this recruiting season was not that rigorous. This past summer, while I was interning at a company, I solved around 1 or 2 LC Medium or Hard problems a day. I did not code up any problems.
I solved the problems on the commute to my internship on pen and paper. I did hear from others that this is a good way to practice for a whiteboard interview. In total, I think I solved around 50 Med/Hard problems.
I recommend solving around at least 200 and recommend solving 500+ if you want to get into every company you ever want.
- Luck: I think there is a huge portion of luck involved with finding an internship. Everyone has strengths and weaknesses, and if you get a question that involves your weakness, that’s very unlucky. I would not worry too much about rejection, as I have also been rejected hundreds of times in the past.
- Game of numbers: There are thousands of opportunities out there so apply to all of them. Even if you don’t see yourself working there, the interview experience is valuable. Remember that most people only hear back from < 1% of applications.
- Preparation: Leetcode is a great platform, so set a goal and practice! Start from easy, build your way to medium, and go Hard. There are some easy that should be medium, some mediums that should be easy, etc.
- Don’t get discouraged from not being able to solve an easy/medium/hard. Set a daily goal for X days and try to reach it! Don’t burn yourself out so make the goal realistically and doable.
- Have FUN have fun learning and solving questions! They’re all very fun and wonderful and the more you have fun the more you learn and get better!
I usually write about computer science. These opinions are my own and my own only. They do not represent any company I have or will work for