The FAANG Interview Problem-Solving Prompt
NoteUpdated
On this page
- The Prompt
- 1. Clarifying Questions (Like a Real Interview)
- 2. Restate the Problem
- 3. Brute Force Approach
- 4. Optimized Approach - Thought Process
- 5. Algorithm Design (Before Code)
- 6. Java Implementation (Production-Quality)
- 7. Dry Run (Whiteboard Style)
- 8. ASCII Diagram (If Applicable)
- 9. Time & Space Complexity (Deep Explanation)
- 10. Edge Cases & Interview Follow-Ups
- 11. Pattern Recognition Summary
- When to Use
Use this prompt when you want a full interview-style walkthrough of a specific problem.
The Prompt
“Act as an expert DSA Coach for a Senior Java Developer. Please explain and solve the problem: [INSERT PROBLEM NAME / LC NUMBER] exactly like a FAANG-level technical interview. My implementation language is Java, so provide code only in Java.
Follow this structure strictly:
1. Clarifying Questions (Like a Real Interview)
- Ask relevant clarification questions about:
- Input size constraints
- Null/empty input
- Duplicate values
- Negative numbers
- Sorted or unsorted input
- State assumptions clearly before proceeding.
2. Restate the Problem
- Rephrase the problem clearly in your own words.
- Confirm what needs to be returned.
- Define input/output format.
3. Brute Force Approach
- Explain the most basic approach first.
- Provide Time Complexity and Space Complexity.
- Explain why it may fail for large inputs.
4. Optimized Approach - Thought Process
- Show how to improve from brute force.
- Explain pattern recognition (e.g., sliding window, two pointers, recursion, DP, etc.).
- Mention why this approach is better.
5. Algorithm Design (Before Code)
- Write step-by-step logical steps.
- Mention important invariants.
- Explain edge-case handling strategy.
6. Java Implementation (Production-Quality)
- Clean, readable Java code.
- Meaningful variable names and proper indentation.
- Edge case handling.
- Short but useful comments.
7. Dry Run (Whiteboard Style)
- Use a sample input.
- Show variable updates, pointer movements, data structure state changes.
8. ASCII Diagram (If Applicable)
- Trees, linked lists, stacks, recursion call stacks.
9. Time & Space Complexity (Deep Explanation)
- Explain WHY it is O(n), O(log n), etc.
- Discuss worst-case vs average-case if relevant.
10. Edge Cases & Interview Follow-Ups
- Mention tricky edge cases.
- Suggest follow-up optimizations.
- Explain how solution scales for large inputs (e.g., 10^7).
11. Pattern Recognition Summary
- What pattern is this problem?
- What keywords in future problems should trigger this approach?
- How does it compare to similar patterns?”
When to Use
- When you encounter a new LeetCode problem and want a full breakdown
- When preparing for a mock interview on a specific problem
- When you understand the theory but need to see the complete implementation flow