Understanding - clarify what is being asked before jump into solving. Ask as many questions as you need to.
- What is the prompt/key action in the question?
- What data type/format is the output?
Match - Identify similar problems you have done in the past. (You will see the pattern as you solve more interview questions). Plan - Pseudocode an algorithm and prove it works(run simple input test)
- Manually perform steps, talk out laoud about the decision(this shows that you are understanding the problem or otherwise). Implement - Write the code(by translating the pseudocode you wrote) Review - Test your solution by walking through it(run it with more complicated tests). Evaluate - Analyze time and space complexity