Algorithm Grading Rubric

How to approach every programming interview, regardless of the topic.

How to approach every programming interview, regardless of the topic.

I put together this framework for approaching interview questions as I was studying for my interviews with Facebook & Google. There are four sections (inspect, strategy, code, review) that break down each step. This should be used as a grading rubric as you practice.

Inspect:

For every single interview question, you should start with an inspection step. Spending 5 minutes here shows the interviewer that you critically think about problems before just diving in. It also buys you time to come up with a proper solution.

Each step in the inspect section has something that should be written on the board.

Strategy:

Now that you’ve inspected your problem, it’s time to start developing a strategy to actually solve it.

If you develop your strategy correctly, the coding portion of the interview will be very straightforward. This is the hardest part of your interview. If nail this portion, it should be smooth sailing until the end.

The goal of this section is to help you come up with a consistent way to solve complicated programming problems.

Unlike the previous section, not every section is meant to be written on the board unless specified with a code block. This section is where you really lean on your Data structures and Algorithm studying.

Code:

Now that you’ve come up with a strategy, it’s time to plan and write your code. Before you start writing any code, you should have already figured out how you were going to solve the problem at a high level.

There are a few specific questions to ask yourself during the coding portion of your interview to help you impress your interviewer.

Review:

Finally, if you have the time, you should take a few minutes at the end to review your code. Interviewers want to see someone who reviews what they just wrote and actually tests it before shipping.

Conclusion

The point of using a grading rubric when you approach these interview questions is to give you structure as you practice. This is a consistently proven way to ace these questions and once you have it down you can spend your time on the real difficult part of the interview which is the actual critical thinking around the strategy.

Join the community

Looking for a study partner? Hackpack is the most active community of engineers studying for programming interviews. We hold each other accountable, provide support, and fight burnout to study more efficiently and get the job faster.

Apply Here

Events | Youtube | Twitter | LinkedIn | Newsletter