Algorithms questions Template
- Ask clarifying questions. (5 min)
- Can the inputs be null or empty?
- Can we fail to calculate the output? If so, what should we do?
- What are the sizes of inputs? (You can’t run an exponential time solution on input > 40)
- How long should this algorithm take? How much memory should it take?
- High level overview (5 min)
- Describe the algorithm(s) and data structure(s) you’ll use for this question.
- Talk about what steps you’ll go through to do so.
- Discuss why you made these choices.
- Implementation (30 min)
- Implement the steps outlined
- Explain what each piece does
- Write clean code.
- Review (5 min)
- Come up with small test cases.
- Make sure to test and discuss pitfalls with implementation.