Stage 1 · Code
Interview Preparation
Communication Strategies
Clarifying questions, explaining approach, handling hints, and follow-up.
Clarifying Questions
Always ask before coding. Shows thoroughness, prevents wrong solution. Standard questions:
- Constraints: Input size range? Value range? Sorted? Distinct?
- Edge cases: Empty input? Single element? Null? Negative numbers?
- Output format: Return value? Print? Modify in place? New array?
- Duplicates: How to handle? Return first/last/all?
- Time/Space limits: Any specific requirements?
- Multiple test cases: Single function or class with state?
Explaining Your Approach
Structure: (1) High-level idea. (2) Why it works (intuition). (3) Time/space complexity. (4) Walk through example. (5) Edge cases. (6) Code structure.
Handling Hints
Hints are gifts, not criticisms. Respond: 'That\'s a great hint, let me think...' Then re-evaluate. Don\'t ignore hints. If stuck: 'I\'m considering two approaches: X and Y. What do you think?' Shows reasoning.
Follow-up Questions
At end, ask: 'How would this scale to streaming data?', 'What if input is sorted?', 'Can we parallelize?', 'How to handle distributed?', 'Trade-offs between your approach and mine?' Shows systems thinking.
- Ask about constraints upfront
- Think aloud — narrate every decision
- Start brute force, then optimize
- Test with examples, including edge cases
- State complexity clearly
- Handle hints gracefully
- Ask thoughtful follow-up questions
Mark this lesson complete to store local progress and unlock a cleaner resume path the next time you visit.