Declaration and assignment statements.
Integers.
Floating-point numbers.
Booleans.
Comparison operators.
Printing.
Parsing command-line arguments.
Math library.
The full java.lang.Math API.
Java library calls.
Type conversion.
Anatomy of an if statement.
If and if-else statements.
Nested if-else statement.
Anatomy of a while loop.
Anatomy of a for loop.
Loops.
Break statement.
Do-while loop.
Switch statement.
Arrays.
Inline array initialization.
Typical array-processing code.
Two-dimensional arrays.
Inline initialization.
Our standard output library.
The full StdOut API.
Our standard input library.
The full StdIn API.
Our standard drawing library.
Data Structure Cheat Sheet
The full StdDraw API.
Our standard audio library.
The full StdAudio API.
Command line.
Redirection and piping.
Functions.
Libraries of functions.
Our standard random library.
Our standard statistics library.
Using an object.
Instance variables.
Constructors.
Instance methods.
Classes.
Object-oriented libraries.
Java's String data type.
The full java.lang.String API.
Java's Color data type.
The full java.awt.Color API.
Our input library.
The full In API.
Our output library.
Google Technical Interview Cheat Sheet
The full Out API.
Our picture library.
The full Picture API.
Our stack data type.
The full Stack API.
Our queue data type.
The full Queue API.
Iterable.
Our symbol table data type.
The full ST API.
Our set data type.
The full SET API.
Our graph data type.
The full Graph API.
Compile-time and run-time errors.
Software Engineering Interview Cheat Sheet
Here's a list of errors compiled byMordechai Ben-Ari.It includes a list of common error message and typical mistakes thatgive rise to them.
Last modified on October 30, 2019.
Copyright © 2000–2019Robert SedgewickandKevin Wayne.All rights reserved.
This is a straight-to-the-point, distilled list of technical interview Do's and Don'ts for interviewers, mainly for algorithmic interviews. Some of these may apply to only phone screens or whiteboard interviews, but most will apply to both. I revise this list before each of my interviews as an interviewer to remind myself of them and eventually internalized all of them to the point I do not have to rely on it anymore.
If you are a candidate you probably do not need to know this section well. You may read this to get a better sense of what an interviewer is supposed to do during an interview.
Legend#
- ✅ = Do
- ❌ = Don't
- ⚠️ = Situational
Before interview#
Things |
---|
✅ | Make sure your surroundings are well-lit. |
✅ | Find a quiet environment with good Internet connection. |
✅ | Ensure webcam and audio are working. Test that your VC app is working well. |
✅ | Prepare two to three questions and be familiar with the different approaches for solving the questions. |
✅ | Familiarize yourself with the coding environment (CoderPad/CodePen). Set up the coding shortcuts, turn on autocompletion, tab spacing, etc. |
Introduction#
Things |
---|
✅ | Check if candidate wants to use the restroom or take a break. |
✅ | Give an overview of the interview format (introduction, duration, programming languages available, 5 min at the end for Q&A). |
✅ | Do a self-introduction and get the candidate to introduce themselves. |
✅ | Explain to candidate that they do not have to finish all questions and you might interrupt them abruptly. |
❌ | Allow the candidate to spend too long introducing themselves. |
Upon delivering the question#
Things |
---|
✅ | Ask if the candidate has seen the question before. |
✅ | Give a small example for the question and the desired output. |
✅ | Get the candidate to talk through the solution first before diving into coding. |
✅ | Provide hints where appropriate. |
✅ | If candidate is still stuck after providing hints, provide the solution and move to coding so that you can get coding signals. |
During coding#
Things |
---|
✅ | If whiteboard interview, stand alongside candidate but also giving them space, instead of being distant, e.g seated down. |
✅ | Take note of all the positive and negative signals. |
❌ | Check the time in an overly-obvious manner. |
After coding#
Things |
---|
✅ | Ask for candidate to provide test cases and run through the code with them. |
✅ | Point out edge cases candidate missed and ask the candidate to address them. |
✅ | Take note of the duration TC spent on each question to include in the feedback. |
✅ | Ask for time complexity and space analysis. |
✅ | Preserve the code somewhere - take a picture or copy the code out. |
✅ | Stop the candidate when there is 5 minutes left. e.g. ('I'll stop you here and let's go to the next section') |
Wrap up#
Things |
---|
✅ | Allow candidate to ask questions and answer them to the best of your ability. |
✅ | Thank the candidate and wish them all the best. |
Post interview#
Things |
---|
✅ | Write feedback as soon as possible to not forget details. |