Tips on New Grad Software Interviews
I have gone through heaven and hell this past year. Ambitions ablaze, I applied for some of the most coveted companies out there, from big to small, from Google and Palantir to Asana and Medallia. Oh and let’s throw in some banks and fin-tech companies in there like JP Morgan, Capital One, and Jane Street. Here’s some tips and random things I noticed:
For the most part, interview questions land into three categories: data structures and algorithms questions, fizz buzz questions, behavioral/experience questions.
These questions aim to probe at how well you can code, in whatever language. Show them you can do that by providing a working solution. They want to see how well you understand and use the typical data structures because you will need to use them if you are hired. They want to see your past experience to gauge if you are up to their standards and for smaller companies, if you are familiar with their tech stack.
Suggestion: Go practice on HackerRank or something. Read CTCI. Do real interviews too.
There’s no substitute for hard work/practice.
There’s not much to say here. I thought I could wing it. I thought I could use logic and think out solutions. That’s not how things work. With practice, you get comfortable and familiar with questions and more importantly, you get confidence and serenity for during the interview. It alleviates the nervousness and doubt.
Suggestion: More practice! Maybe TopCoder. Maybe read past interviews on CareerCup. Or you can be like me and endure more interviews.
For the more coveted companies and/or smaller companies, there will be other kinds of questions aside from the typical data structure/algorithm/fizz buzz/behavioral questions.
Some will have projects. Some will have design questions. Some will have you debug some code or pair program. It depends on the company but the best way to get an interview and then pass is to cater your experience to what they want.
Suggestion: Do projects. For example, how would you design a backend? Why not create some backends. After you go through the process, you’ll have a better idea of backend design.
Companies originating from Silicon Valley and/or some other startups tend to have more difficult interviews, simply because they are more coveted.
If you plan on interviewing at these companies, I suggest you to practice hard and practice lots. Get good quick and get it over with. It is a huge burden. I was foolish to drag out my interviews across an entire year. The only benefit I can see from doing so is thoroughly understanding interview structure. Maybe in the future, you can become a great interviewer. Still, at least for me, I would rather tell myself to get good faster to avoid the struggles.
Suggestion: Ask yourself what environment do you want to work in. How bad do you want it? After gauging your ambitions, you’ll able to create an outline of stretch companies, on par companies, and backup companies. Kind of like the college process. Don’t be like me. I yolo’d. Not recommended. Don’t drag the process out either.