- Published on
Technical Interview Complete Preparation Guide 2025: From Coding Test to System Design and Behavioral
- Authors

- Name
- Youngju Kim
- @fjvbn20031
Table of Contents
1. The 2025 Interview Landscape
Interview Process Comparison
As of 2025, major tech companies each have distinct interview processes with their own emphasis and style.
| Stage | FAANG | Big Tech (General) | AI Startups |
|---|---|---|---|
| Resume Screen | Resume + Referral | Resume + Portfolio | Resume + GitHub |
| Phone Screen | 45-min coding x1 | Online coding test | 30-min tech discussion |
| Onsite 1 | Coding x2 (45 min each) | Deep coding test | Live coding + Pair programming |
| Onsite 2 | System Design x1-2 | Technical interview | ML System Design |
| Onsite 3 | Behavioral x1-2 | Culture fit | Team fit + Values |
| Final | Hiring Committee | Executive interview | Founder interview |
| Total Timeline | 4-8 weeks | 2-4 weeks | 1-3 weeks |
| Difficulty | LeetCode Medium-Hard | Varies by company | Practical-oriented |
FAANG Detailed Process
Google:
- 2 Coding interviews (algorithms + data structures)
- 1 System Design (Senior+)
- 1 Googleyness and Leadership (GnL)
- Hiring Committee review, then team matching, then offer
Amazon:
- Online Assessment (OA) with 2 coding problems
- Virtual onsite with 4-5 rounds
- Every round includes Leadership Principles (LP) questions
- Bar Raiser interviewer participates (independent evaluator)
Meta (Facebook):
- 2 Coding interviews (45 min each)
- 1 System Design (E5+)
- 1 Behavioral interview (Core Values focused)
- Team matching happens after offer
Apple:
- Process varies by team
- Particularly deep technical deep-dive interviews
- Domain expertise highly valued
- Secrecy culture reflected in interview process
AI Startup Specifics
AI startup interviews emphasize practical ability and fast learning:
- Coding: Practical coding over algorithms (API design, data pipelines)
- ML System Design: Recommendation systems, RAG architecture, LLM serving
- Take-home assignments: 48-hour project completions
- Values interview: Mission alignment, perspectives on AI ethics
2. Resume and Portfolio
ATS (Applicant Tracking System) Optimization
Most large companies use ATS. To get your resume past ATS:
DO:
- Include keywords from the job description (JD)
- Use a clean, single-column layout
- Submit as PDF (not Word)
- Quantify achievements (use numbers!)
- Use consistent date formatting
DON'T:
- Use creative layouts with lots of graphics
- Use table formatting (ATS parsing fails)
- Include a photo (US standard)
- Write more than 2 pages (3 max for senior)
- Use only abbreviations (spell out full names too)
STAR-Based Achievement Bullets
Write your experience section using the STAR methodology:
Bad: "Participated in payment system development"
Good: "Led MSA-based payment system refactoring, reducing failure rate
by 60% and tripling throughput (500K to 1.5M transactions/day)"
Bad: "Frontend performance optimization"
Good: "Reduced React app bundle size by 40% and improved LCP from
2.1s to 0.8s, contributing to 15% conversion rate increase"
GitHub Profile Optimization
- Pinned repositories: Pin your 6 most impressive projects
- README.md: Clear README for each project (purpose, tech stack, architecture diagram)
- Commit history: Consistent commits with meaningful messages
- Contribution graph: Steady activity over time
- Open source contributions: PR history in well-known projects
Keyword Strategy
Strategically place role-specific keywords throughout your resume:
Backend:
- Java/Spring Boot, Go, Node.js, Python
- Kubernetes, Docker, AWS/GCP
- PostgreSQL, Redis, Kafka
- REST API, gRPC, GraphQL
- CI/CD, Terraform, Observability
Frontend:
- React/Next.js, TypeScript
- Performance Optimization, Web Vitals
- Design System, Accessibility
- State Management, Testing (Jest, Cypress)
ML/AI:
- PyTorch, TensorFlow, Hugging Face
- LLM, RAG, Fine-tuning, RLHF
- MLOps, Feature Store, Model Serving
- Distributed Training, GPU Optimization
3. Coding Interview
Blind 75 to NeetCode 150
The standard preparation path for coding interviews:
Phase 1: Blind 75 (4-6 weeks)
| Category | Problems | Key Patterns |
|---|---|---|
| Array/String | 9 | Two Pointers, Sliding Window |
| Binary Search | 3 | Edge conditions, Rotated Array |
| Linked List | 6 | Fast/Slow Pointer, Reversal |
| Tree | 11 | DFS, BFS, BST properties |
| Graph | 6 | DFS/BFS, Topological Sort |
| Dynamic Programming | 11 | 1D DP, 2D DP, Knapsack |
| Heap | 3 | Top K, Merge K Sorted |
| Backtracking | 4 | Permutation, Combination |
| Greedy | 3 | Interval Scheduling |
| Stack | 3 | Monotonic Stack |
| Bit Manipulation | 5 | XOR, Bit Counting |
| Math | 3 | GCD, Power, Matrix |
| Interval | 5 | Merge, Insert, Overlap |
| Total | 75 |
Phase 2: NeetCode 150 (additional 4-6 weeks)
An extended version of Blind 75. Solve additional advanced problems for each pattern to strengthen pattern recognition.
Pattern Recognition Strategy
The most important skill in coding interviews is rapidly recognizing patterns:
Problem type to pattern mapping:
"Find X in sorted array" -> Binary Search
"Max/min of contiguous subarray" -> Sliding Window
"Two values sum to X" -> Two Pointers or Hash Map
"All possible combinations" -> Backtracking
"Shortest path" -> BFS (unweighted) or Dijkstra (weighted)
"Dependency ordering" -> Topological Sort
"Optimal substructure + overlapping subproblems" -> Dynamic Programming
"Interval-related" -> Sort by start + Greedy
"Top K from stream" -> Heap (Priority Queue)
Time Management (45-minute interview)
0-5 min: Understand problem + clarifying questions
5-10 min: Explain approach (brute force first, then optimize)
10-35 min: Code
35-40 min: Run test cases + edge cases
40-45 min: Time/space complexity analysis + follow-up questions
Key principles:
- Always explain your approach and get agreement before coding
- If stuck, be honest and ask for hints (this is not penalized)
- Communication during coding matters more than perfect code
Language Choice
| Language | Pros | Cons | Recommended For |
|---|---|---|---|
| Python | Concise syntax, rich libraries | Weak type safety | Most candidates |
| Java | Explicit types, stable | Verbose code | Backend candidates |
| C++ | Best performance, STL | Complex syntax, memory mgmt | Systems/Embedded |
| JavaScript | Familiar to web devs | Can be disadvantageous | Frontend candidates |
| Go | Concise, fast execution | Limited generics | Infra/Backend |
Recommendation: Master one language deeply. Do not switch languages during an interview.
4. System Design
Framework: The 4-Step Approach
System design interviews run 45-60 minutes. A systematic framework is essential.
Step 1: Requirements Gathering (5-7 min)
Functional Requirements:
- Define 3-5 core features
- "Which feature should we prioritize?"
Non-Functional Requirements:
- Availability (99.9%? 99.99%?)
- Consistency vs Availability (CAP tradeoff)
- Latency (P99 target)
- Throughput (QPS, TPS)
Scale Estimation:
- DAU (Daily Active Users)
- Requests per second (QPS)
- Storage capacity (5-year projection)
- Bandwidth
Step 2: High-Level Design (10-15 min)
- Draw core components as a diagram
- Explain data flow
- API design (key endpoints)
- Data model (key tables/schemas)
Step 3: Detailed Design (15-20 min)
- Deep dive into components the interviewer cares about
- Specific technology choices with justification
- Scaling strategy
- Data partitioning, caching, indexing
Step 4: Tradeoffs and Extensions (5-10 min)
- Analyze design pros and cons
- Identify bottlenecks and solutions
- Monitoring and alerting strategy
- Future extension directions
Top 10 System Design Problems
| Rank | Problem | Key Topics |
|---|---|---|
| 1 | URL Shortener | Hashing, distributed ID generation |
| 2 | News Feed / Timeline | Fan-out, caching, ranking |
| 3 | Chat System | WebSocket, message queue, delivery guarantees |
| 4 | Notification System | Event-driven, priority queue |
| 5 | Search Autocomplete | Trie, distributed cache, ranking |
| 6 | YouTube / Netflix | Video streaming, CDN, encoding |
| 7 | Google Drive | File sync, chunk upload, conflict resolution |
| 8 | Rate Limiter | Token bucket, distributed counters |
| 9 | Distributed Key-Value Store | Consistent hashing, replication, consensus |
| 10 | Web Crawler | BFS, politeness, deduplication |
Essential Concepts
Databases:
- SQL vs NoSQL selection criteria
- Sharding strategies (Range, Hash, Directory)
- Replication (Master-Slave, Multi-Master)
- Indexing (B-Tree, LSM Tree)
Caching:
- Cache Aside, Write Through, Write Behind
- Cache invalidation strategies
- Redis vs Memcached
- CDN (Content Delivery Network)
Messaging:
- Kafka vs RabbitMQ vs SQS
- Event Sourcing, CQRS
- Message delivery guarantees (at-least-once, exactly-once)
Scaling:
- Horizontal vs Vertical scaling
- Load Balancing (Round Robin, Least Connections, Consistent Hashing)
- Auto Scaling
- Service Discovery
5. Behavioral Interview
STAR Method Mastery
The core of behavioral interviews is the STAR framework:
S - Situation: Briefly describe the context (2-3 sentences)
T - Task: Clarify your role and objective (1-2 sentences)
A - Action: What you specifically did (longest part, 3-5 sentences)
R - Result: Measurable outcomes (with numbers!) (2-3 sentences)
Example:
Q: "Tell me about a time you dealt with a tight deadline."
S: "During a payment system migration, unexpected legacy code issues
delayed the schedule by 2 weeks. With 3 weeks until launch,
we were only 50% complete."
T: "As tech lead, I needed to ensure safe migration completion
within the deadline."
A: "I took three actions. First, I classified features as
must-have vs nice-to-have and redefined our MVP scope.
Second, I split the team into 2 squads for parallel work.
Third, I implemented daily 30-minute standups to
immediately address blockers."
R: "We shipped all core features 2 days before deadline with
zero downtime during migration. This process was later
adopted as the team's standard approach."
Amazon Leadership Principles
Amazon evaluates all 16 LPs in every interview. The top 5 most frequently tested:
- Customer Obsession — "Tell me about a time you made an unconventional decision for a customer."
- Ownership — "When did you solve a problem outside your team's scope?"
- Dive Deep — "Tell me about a time you discovered a hidden issue through data analysis."
- Bias for Action — "When did you make a fast decision with incomplete information?"
- Deliver Results — "Tell me about achieving results despite significant obstacles."
Preparing Conflict / Failure / Leadership Stories
Prepare at least 8-10 stories in STAR format before interviews:
Essential stories:
1. Most technically challenging project
2. Resolving a team conflict
3. A lesson learned from failure
4. Demonstrating leadership
5. Delivering under deadline pressure
6. Persuading others when opinions differed
7. Making a decision without manager guidance
8. Tackling technical debt
6. AI-Specific Rounds
ML System Design
AI/ML positions include additional ML system design interviews:
Frequently asked problems:
- Recommendation System Design — Netflix/YouTube recommendations
- Search Ranking System — Query-document matching, relevance
- Fraud Detection System — Real-time anomaly detection
- Content Classification System — Spam filter, toxic content detection
- RAG System Design — Retrieval-Augmented Generation, vector DB, chunking
ML System Design Framework:
1. Problem Definition: Business objective -> ML problem formulation
2. Data: Collection, labeling, feature engineering
3. Model Selection: Baseline -> complex models
4. Training Pipeline: Distributed training, hyperparameter tuning
5. Serving: Latency requirements, batch vs real-time
6. Evaluation: Offline metrics + online A/B testing
7. Monitoring: Data drift, model performance degradation
LLM Evaluation and RAG Architecture
Hot topics in 2025 AI interviews:
LLM-related questions:
- Fine-tuning vs prompt engineering tradeoffs
- RLHF (Reinforcement Learning from Human Feedback) pipeline
- Model evaluation metrics (BLEU, ROUGE, human evaluation)
- Safety considerations — hallucination, bias, toxicity
- Serving optimization — quantization, KV cache, batching
RAG architecture questions:
- Document chunking strategies (fixed-size, semantic, recursive)
- Embedding model selection and vector DB comparison
- Retrieval accuracy improvement (HyDE, reranking, multi-hop)
- Production RAG pipeline design
Prompt Engineering
Frequently asked prompt-related questions:
- Differences and use cases for few-shot vs zero-shot prompting
- Principles behind Chain-of-Thought (CoT) prompting
- Prompt injection defense strategies
- Prompt design for structured output
- Prompt testing and evaluation methodologies
7. Company-Specific Tips
Google: Googleyness
Google has a unique evaluation criterion called Googleyness:
- Low ego: Team success matters more than individual achievement
- Effective collaboration: Working well with people from diverse backgrounds
- Risk-taking: Willing to take on challenges in uncertain situations
- Proactive action: Finding and solving problems without being told
Meta: Move Fast
Meta's core values:
- Move Fast: Speed over perfection. Ship quickly and iterate
- Be Bold: Ambitious goals, large-scale impact
- Focus on Impact: Concentrate on work with the greatest impact
- Be Open: Transparent communication and feedback
Amazon: Leadership Principles
Among the 16 LPs, these are evaluated with particular depth in interviews:
- Insist on the Highest Standards: Do you refuse to compromise on quality?
- Think Big: Do you see the big picture?
- Have Backbone; Disagree and Commit: Will you speak up even when it is uncomfortable?
- Earn Trust: How do you build trust?
Anthropic: Safety Mindset
Anthropic evaluates genuine interest in AI safety:
- Deep understanding of AI alignment challenges
- Perspective on responsible AI development
- Balance between technical capability and ethical judgment
- Vision for long-term AI safety research
8. Offer Negotiation
TC (Total Compensation) Breakdown
Total Compensation Structure:
- Base Salary: Paid monthly, most stable component
- Stock Compensation (RSU/Options): Typically 4-year vesting
- Signing Bonus: One-time payment at start, supplements first-year TC
- Annual Bonus: Performance-based, 0-30%
- Other: Learning budget, benefits, remote work
TC by Level (US, annual):
- Junior (L3/E3): $150-220K
- Mid (L4/E4): $200-350K
- Senior (L5/E5): $300-550K
- Staff (L6/E6): $450-800K
- Principal (L7/E7): $700K-1.2M+
EU (annual, EUR):
- Junior: 45-70K
- Mid: 65-100K
- Senior: 90-150K
- Staff: 130-220K+
Competing Offer Strategy
- Apply to 3-5 companies simultaneously — To align offer timing
- Request deadline extensions — "I have other processes in progress, could I have one more week?"
- Negotiate with specific numbers — "I have another offer with TC of X, can you match?"
- If base salary is rigid, try signing bonus — The most flexible component
- Negotiate non-monetary terms too — Remote work, learning budget, start date
Counter-Offer Strategy
Counter-offer scenarios:
1. Current employer makes a counter:
-> Re-examine why you wanted to leave (beyond compensation)
-> Over 50% of people leave within 6 months of accepting a counter
-> Relationships may change (loyalty questioned)
2. Using another company's offer as leverage:
-> Share specific numbers but not the actual offer letter
-> "The gap in total compensation is approximately X"
-> Never use an offer from a company you do not genuinely intend to join
3. Leveraging levels.fyi data:
-> Present market data for the relevant level as justification
-> "This is X% below the market median for this level"
9. 12-Week Study Plan
Week-by-Week Schedule
Weeks 1-2: Foundation Building
- Daily goal: 2 LeetCode Easy problems
- Review data structures (Array, Linked List, Stack, Queue, Tree, Graph)
- Update resume and start applications
- Write 3 STAR stories
Weeks 3-4: Pattern Learning
- Daily goal: 1 LeetCode Easy + 1 Medium
- Begin Blind 75 (Two Pointers, Sliding Window, Binary Search)
- Start system design fundamentals (DDIA chapters 1-3)
- Write 5 additional STAR stories
Weeks 5-6: Core Patterns
- Daily goal: 2 LeetCode Medium problems
- Continue Blind 75 (Tree, Graph, DP)
- System Design: URL Shortener, News Feed design
- 1 mock interview (peer or Pramp)
Weeks 7-8: Advanced
- Daily goal: 2 Medium + 1 Hard (2x per week)
- Target completing Blind 75
- System Design: Chat, Notification, Search systems
- Behavioral interview rehearsal (record and review)
- 2 mock interviews
Weeks 9-10: Live Simulation
- Daily goal: 45-minute timed coding practice
- NeetCode 150 weak pattern reinforcement
- System Design: Full 45-minute process simulation
- 3 mock interviews (coding + system design + behavioral)
- Company-specific preparation for target companies
Weeks 11-12: Final Review
- Intensive review of weak areas
- Begin actual interviews
- Maintain 1 problem/day (keep sharp)
- Final rehearsal of behavioral stories
- Physical and mental health management
Daily Routine
Morning (1-2 hours):
- 1-2 LeetCode problems
- Review problems you could not solve yesterday
Lunch (30 minutes):
- Learn 1 system design concept
- Or read 1 interview experience report
Evening (1-2 hours):
- Practice 1 system design problem (3-4x per week)
- Rehearse behavioral stories (2-3x per week)
- Mock interview (1-2x per week)
Weekend (3-4 hours/day):
- Solve advanced problems
- Weekly review (re-solve missed problems)
- 1 system design mock
10. Mental Health During Job Search
Handling Rejection
Rejection during the interview process is completely normal. FAANG acceptance rates are 1-3%.
Reframing:
- "I failed" -> "I did not match in this round"
- "I am not good enough" -> "This specific interview was not my best"
- "I will never get in" -> "Most companies allow reapplication in 6-12 months"
Practical steps:
- Write feedback notes immediately after each interview
- Practice more problems of the same type
- Apply improvements to the next interview
- Send a thank-you reply to rejection emails (maintain relationships)
Building a Support System
- Interview study group: Mock interviews with 2-4 people sharing the same goal
- Mentors: Coffee chats with people at target companies
- Online communities: Blind, Reddit r/cscareerquestions, Discord servers
- Professional coaching: interviewing.io, Pramp (free), Exponent
Burnout Prevention
Warning signs:
- Feeling irritated just seeing a problem
- Coding is no longer enjoyable
- Sleep patterns have become irregular
- Completely given up social activities
Coping strategies:
- Take 1-2 complete rest days per week (no interview prep)
- Maintain exercise routine (30 min cardio/day)
- Work on fun coding projects unrelated to interviews
- Spend time with family and friends
- Remember: "This is a marathon, not a sprint"
Interview Day Tips
Before the interview:
- Get adequate sleep the night before (7-8 hours)
- Light exercise or walk 1 hour before
- Quick review of resume and STAR stories
- Equipment check (camera, microphone, internet)
During the interview:
- Speak slowly and clearly
- Show your thought process even when unsure
- Treat the interviewer as a colleague
- Have a glass of water ready
After the interview:
- Write feedback notes immediately
- Send a thank-you email to interviewers (optional)
- Continue preparing for the next interview regardless of outcome
11. Practice Quiz
Q1: Should you start coding immediately when you receive a problem?
Answer: Absolutely not.
When you receive a problem:
- Clarifying questions — Confirm input/output format, constraints, edge cases
- Explain approach — Describe brute force first, then optimization direction
- Get interviewer agreement — "Should I proceed in this direction?"
- Then start coding — Code while explaining your thought process
Starting to code immediately can waste 30 minutes going in the wrong direction.
Q2: What should you do first in a system design interview?
Answer: Clarify requirements
Many candidates start drawing architecture immediately, which is a mistake. First:
- Functional requirements — Define 3-5 core features
- Non-functional requirements — Availability, latency, throughput
- Scale estimation — DAU, QPS, storage capacity
- Scope limitation — Agree on what to cover in 45 minutes
These 5-7 minutes determine the direction of the remaining 40 minutes.
Q3: What is the most important part of a STAR response?
Answer: Action
S and T provide background, R shows results. But what the interviewer really wants to know is what you specifically did:
- Not "the team solved it" but "what I personally did"
- Mention specific technologies, tools, and methodologies
- Explain why you made those choices
- Include 3-5 specific actions
If the Action is weak, the entire response loses its impact.
Q4: What is the most common salary negotiation mistake?
Answer: Accepting the first offer immediately
Nearly every offer is negotiable:
- Express gratitude and ask "Can I have some time to review?"
- Mention competing offers if you have them (specific numbers are not required)
- If base salary is rigid, negotiate signing bonus, RSU, or start date
- Frame it as "This offer makes it difficult to leave my current situation"
- Even in the worst case, the original offer will not be withdrawn
Not negotiating costs hundreds of thousands in opportunity cost over your career.
Q5: What should you do when you encounter a problem you cannot solve?
Answer: Be honest and show your thought process
Interviewers do not expect correct answers to every problem. They evaluate:
- Problem decomposition — Breaking large problems into smaller ones
- Thought process — Communicating what direction you are thinking
- Hint utilization — Adjusting correctly after receiving hints
- Attitude — Not giving up and continuing to try
- Collaboration — Working with the interviewer to solve the problem
Saying "I do not know" and stopping earns zero points, but showing your thought process earns partial credit.
12. References
Coding Interview
- NeetCode.io — Blind 75 + NeetCode 150 roadmap
- LeetCode — Coding problem platform
- "Cracking the Coding Interview" — Gayle Laakmann McDowell
- interviewing.io — Mock interview platform
System Design
- "Designing Data-Intensive Applications (DDIA)" — Martin Kleppmann
- "System Design Interview" — Alex Xu (Vol 1 and 2)
- ByteByteGo — System design visualizations
- Grokking the System Design Interview — Online course
Behavioral Interview
- Amazon Leadership Principles — Official LP list
- "The STAR Method Explained" — Indeed Career Guide
- Exponent — Behavioral interview coaching
AI/ML Interview
- "Designing Machine Learning Systems" — Chip Huyen
- ML System Design — ML system design guide
- "Machine Learning Engineering" — Andriy Burkov
Compensation and Career
- levels.fyi — TC data
- Blind — Anonymous professional network
- Glassdoor — Company reviews and salary data
Mental Health
- Pramp — Free mock interviews
- "Grit: The Power of Passion and Perseverance" — Angela Duckworth
- Neetcode YouTube — Free coding interview explanations