Skip to content
Published on

Technical Interview Complete Preparation Guide 2025: From Coding Test to System Design and Behavioral

Authors

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.

StageFAANGBig Tech (General)AI Startups
Resume ScreenResume + ReferralResume + PortfolioResume + GitHub
Phone Screen45-min coding x1Online coding test30-min tech discussion
Onsite 1Coding x2 (45 min each)Deep coding testLive coding + Pair programming
Onsite 2System Design x1-2Technical interviewML System Design
Onsite 3Behavioral x1-2Culture fitTeam fit + Values
FinalHiring CommitteeExecutive interviewFounder interview
Total Timeline4-8 weeks2-4 weeks1-3 weeks
DifficultyLeetCode Medium-HardVaries by companyPractical-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)

CategoryProblemsKey Patterns
Array/String9Two Pointers, Sliding Window
Binary Search3Edge conditions, Rotated Array
Linked List6Fast/Slow Pointer, Reversal
Tree11DFS, BFS, BST properties
Graph6DFS/BFS, Topological Sort
Dynamic Programming111D DP, 2D DP, Knapsack
Heap3Top K, Merge K Sorted
Backtracking4Permutation, Combination
Greedy3Interval Scheduling
Stack3Monotonic Stack
Bit Manipulation5XOR, Bit Counting
Math3GCD, Power, Matrix
Interval5Merge, Insert, Overlap
Total75

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

LanguageProsConsRecommended For
PythonConcise syntax, rich librariesWeak type safetyMost candidates
JavaExplicit types, stableVerbose codeBackend candidates
C++Best performance, STLComplex syntax, memory mgmtSystems/Embedded
JavaScriptFamiliar to web devsCan be disadvantageousFrontend candidates
GoConcise, fast executionLimited genericsInfra/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

RankProblemKey Topics
1URL ShortenerHashing, distributed ID generation
2News Feed / TimelineFan-out, caching, ranking
3Chat SystemWebSocket, message queue, delivery guarantees
4Notification SystemEvent-driven, priority queue
5Search AutocompleteTrie, distributed cache, ranking
6YouTube / NetflixVideo streaming, CDN, encoding
7Google DriveFile sync, chunk upload, conflict resolution
8Rate LimiterToken bucket, distributed counters
9Distributed Key-Value StoreConsistent hashing, replication, consensus
10Web CrawlerBFS, 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:

  1. Customer Obsession — "Tell me about a time you made an unconventional decision for a customer."
  2. Ownership — "When did you solve a problem outside your team's scope?"
  3. Dive Deep — "Tell me about a time you discovered a hidden issue through data analysis."
  4. Bias for Action — "When did you make a fast decision with incomplete information?"
  5. 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:

  1. Recommendation System Design — Netflix/YouTube recommendations
  2. Search Ranking System — Query-document matching, relevance
  3. Fraud Detection System — Real-time anomaly detection
  4. Content Classification System — Spam filter, toxic content detection
  5. 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

  1. Apply to 3-5 companies simultaneously — To align offer timing
  2. Request deadline extensions — "I have other processes in progress, could I have one more week?"
  3. Negotiate with specific numbers — "I have another offer with TC of X, can you match?"
  4. If base salary is rigid, try signing bonus — The most flexible component
  5. 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

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:

  1. Clarifying questions — Confirm input/output format, constraints, edge cases
  2. Explain approach — Describe brute force first, then optimization direction
  3. Get interviewer agreement — "Should I proceed in this direction?"
  4. 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:

  1. Functional requirements — Define 3-5 core features
  2. Non-functional requirements — Availability, latency, throughput
  3. Scale estimation — DAU, QPS, storage capacity
  4. 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:

  1. Express gratitude and ask "Can I have some time to review?"
  2. Mention competing offers if you have them (specific numbers are not required)
  3. If base salary is rigid, negotiate signing bonus, RSU, or start date
  4. Frame it as "This offer makes it difficult to leave my current situation"
  5. 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:

  1. Problem decomposition — Breaking large problems into smaller ones
  2. Thought process — Communicating what direction you are thinking
  3. Hint utilization — Adjusting correctly after receiving hints
  4. Attitude — Not giving up and continuing to try
  5. 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

  1. NeetCode.io — Blind 75 + NeetCode 150 roadmap
  2. LeetCode — Coding problem platform
  3. "Cracking the Coding Interview" — Gayle Laakmann McDowell
  4. interviewing.io — Mock interview platform

System Design

  1. "Designing Data-Intensive Applications (DDIA)" — Martin Kleppmann
  2. "System Design Interview" — Alex Xu (Vol 1 and 2)
  3. ByteByteGo — System design visualizations
  4. Grokking the System Design Interview — Online course

Behavioral Interview

  1. Amazon Leadership Principles — Official LP list
  2. "The STAR Method Explained" — Indeed Career Guide
  3. Exponent — Behavioral interview coaching

AI/ML Interview

  1. "Designing Machine Learning Systems" — Chip Huyen
  2. ML System Design — ML system design guide
  3. "Machine Learning Engineering" — Andriy Burkov

Compensation and Career

  1. levels.fyi — TC data
  2. Blind — Anonymous professional network
  3. Glassdoor — Company reviews and salary data

Mental Health

  1. Pramp — Free mock interviews
  2. "Grit: The Power of Passion and Perseverance" — Angela Duckworth
  3. Neetcode YouTube — Free coding interview explanations