Skip to content
Gallery
Career Hub
Share
Explore
Software Engineering

icon picker
Interviewing

There are a few different types of interview settings / questions that you may be asked.
Online Assessment (OA): Often, companies begin by screening candidates through an OA. This can either be automatic or after a resume screen. These assessments are usually conducted through Hackerrank, Codility, CoderPad, or CodeSignal (See ) and range between 60-90 minutes in total length.
Recruiter Call: Recruiter calls can either be before or after the OA. These calls are really to just help you understand the process, but the recruiter will generally ask you a few questions about your background to see if your skills align with the role.
Technical Interview Rounds: After passing any OAs and HR calls, candidates have a series of technical interview rounds. There can be just one round, or up to 5. These tend to consist of coding challenges and some behavioral questions. Usually, it’s actual engineers at the company that you are applying to that are giving these interviews.
Hiring Manager: Some companies require you to speak with a hiring manager after your on-site (final technical round). This is usually a behavioral interview to talk more about your experiences and for them to get a sense of your fit for the company. These are usually done with higher position members in the company like team leads.

Differences Between Online Assessments and the Technical Interview

Unlike the online assessments, where you can generally run your program against test cases as many times as you’d like during the timeline, the technical interview rounds are often “whiteboard style” on platforms like LiveCode. These sites generally provide some syntax highlighting, but you often aren’t able to run your code. While you might get away with some of the OA by tweaking some parts of your code until all your test cases pass, the bar for technical interviews is higher because you need to be confident enough with data structures and algorithms without running your code. Also, there are often hidden test cases, so be wary! In technical interviews, your interviewer generally cares a lot about your communication skills in addition to your technical expertise.
With that said, if you forget the exact Python API for a deque, it’s not the end of the world (but definitely study the data structures covered in CS 10—even streams show up sometimes!) Elaborate to your interviewer what a dequeue does, why it’s appropriate, and how you’d use it. That way, they know you know your concepts even if you forget the exact syntax. Also, your interviewer can guide you if you get stuck. What matters more than your ability to memorize (or quickly look up your cheatsheet in front of you) syntax is your ability to apply the data structures and algorithms and communicate effectively.

System design interview:

Behavioral Interview:

Usually conducted with recruiter, but technical rounds can also have some small component of this too, so make sure you are always ready for it. See for more information.

General Interviewing Tips:

Always talk through your solutions, or if you’re stuck, talk about what you’re stuck at and what your intuition is. Good interviewers are there to help you and nudge you in the right direction when you are stuck. The purpose of the interview is not to see if you can solve the problem, but for them to learn how you think and how you act upon the hints that they give you. They want to gauge your technical skills, but they also want to make sure that you are someone they would enjoy working with. Afterall, you will be joining their company, and they only want the people they like!
A brute-force solution is better than no solution. If you’re feeling really stuck, maybe you reached for a super-efficient O(n) solution but are now hopelessly lost, it’s much better to fallback to a tried-n-true O(n^2) approach than to fail with nothing. The interviewers already saw that you tried to be creative and innovative. But now they need to verify that you can solve the problem, period. Show your interviewer your confidence in the tried-n-true method, even if it isn’t the fanciest.
print(), console.log(), system.out.println(). Don’t try to solve those bugs blind! It’s totally acceptable to use print statements (or assertion statements, if you want to impress) at multiple points throughout your code. Tell your interviewer, “here’s what I expect variable X to be at this point in the code, I want to verify that before moving on.” Ensure the previous chunks of your code work before coding the next chunk.
Ask good questions. What is the company known for? Are they ranked highly in something? Tell them that you know they are ranked highly for that and ask them how they get there. This will show that you have done your research on their company.
After you are done with the interview, send a thank you note to your interviewer. If you do not have their emails, send it to your recruiter and ask them to relay it to your interviewer. This might or might not do anything about your application, but remember, your interviewers are taking time out of their busy schedules for your interview so be grateful. Also, how courteous and memorable you are will drive a lot of subconscious microdecisions throughout the hiring process. Your recruiter may bring you up more frequently in discussions. So put your best foot forward!

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.