Skip to main content

Interview Checklist

The following interview checklist is meant to mirror the one found in [6] but recast in a more memorable way (i.e., using my own name, DANIEL). But all that really matters is that each step is remembered.

StepMeaningDescription
DDiscernDiscern what the actual problem is along with its constraints
Read the statement (twice)
Work through examples out loud
Ask clarifying questions (e.g., edge cases, input/output format, scale constraints, etc.)
AArchitectArchitect an algorithm(s) to solve the problem you've spent time discerning
Minimally sketch naive solution
Identify upper and lower bounds
Look for triggers
Employ boosters
NNarrateNarrate the solution you've architected by various illustrative means
Examples
Indented English
Name and justify
IInquireInquire whether or not you should code your narrated algorithm X, with time Y and space Z, or keep thinking
I would like to use <X algorithm> with <Y time> and <Z space> to solve the problem. Should I code this now, or should I keep thinking?
EExecuteExecute on all of the dialogue so far by actually working out a solution in code
Main logic
Helper functions
Stop if you get lost
LLintLint your solution to verify its accuracy and efficiency
Top-to-bottom pass
Tricky expressions
Run through with tiny input
Check edge cases
Verify analysis