Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix M: Company-wise Preparation

Preparation strategies and commonly asked topics for top tech companies.


General Tips for All Companies

  1. Research the company — understand their products, culture, and recent news
  2. Know the interview format — number of rounds, duration, focus areas
  3. Practice on the company’s tagged problems — LeetCode has company-specific problem lists
  4. Prepare behavioral stories — most companies ask behavioral questions
  5. Practice system design — for senior roles, system design is crucial
  6. Mock interviews — practice with the company’s style in mind

Google

Interview Style

  • Rounds: 2 phone screens + 4-5 onsite (or virtual)
  • Focus: Problem-solving ability, coding skills, Googleyness
  • Difficulty: Medium to Hard
  • Unique: Strong emphasis on clean code and edge cases

Common Topics

  • Arrays & Strings (very frequent)
  • Trees & Graphs (very frequent)
  • Dynamic Programming (frequent)
  • System Design (for L5+)
  • Recursion & Backtracking

Frequently Asked Problems

  • Longest Increasing Subsequence
  • Number of Islands
  • Course Schedule
  • Merge Intervals
  • Word Ladder
  • Serialize/Deserialize Binary Tree
  • Trapping Rain Water
  • Alien Dictionary

Tips

  • Google loves clean, readable code — don’t write hacky solutions
  • Test your code thoroughly — Google interviewers expect you to find bugs
  • Discuss multiple approaches — show your thought process
  • Ask clarifying questions — Google interviewers appreciate this
  • Be prepared for follow-ups — they often add constraints

Amazon

Interview Style

  • Rounds: 1 phone screen + 4-5 onsite (or virtual)
  • Focus: Leadership Principles (LP), coding, system design
  • Difficulty: Medium
  • Unique: Heavy emphasis on Leadership Principles

Leadership Principles (Must Know)

  1. Customer Obsession
  2. Ownership
  3. Invent and Simplify
  4. Are Right, A Lot
  5. Learn and Be Curious
  6. Hire and Develop the Best
  7. Insist on the Highest Standards
  8. Think Big
  9. Bias for Action
  10. Frugality
  11. Earn Trust
  12. Dive Deep
  13. Have Backbone; Disagree and Commit
  14. Deliver Results
  15. Strive to be Earth’s Best Employer
  16. Success and Scale Bring Broad Responsibility

Common Topics

  • Arrays & Strings (very frequent)
  • Trees & Graphs (frequent)
  • Dynamic Programming (moderate)
  • System Design (for SDE2+)
  • OOP Design

Frequently Asked Problems

  • Two Sum
  • LRU Cache
  • Number of Islands
  • Merge Intervals
  • Top K Frequent Elements
  • Critical Connections in a Network
  • Reorder Data in Log Files
  • Optimal Utilization

Tips

  • Prepare 2-3 STAR stories for each LP — this is critical
  • Use the STAR method — Situation, Task, Action, Result
  • Be specific — use numbers and details
  • Connect your answers to LPs — explicitly mention which LP you’re demonstrating
  • Practice system design — Amazon asks it for most levels

Microsoft

Interview Style

  • Rounds: 1-2 phone screens + 4-5 onsite (or virtual)
  • Focus: Problem-solving, coding, design
  • Difficulty: Medium
  • Unique: Collaborative culture, “growth mindset”

Common Topics

  • Arrays & Strings (very frequent)
  • Trees & Graphs (frequent)
  • Linked Lists (moderate)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)

Frequently Asked Problems

  • Reverse Linked List
  • LRU Cache
  • Number of Islands
  • Merge Intervals
  • Design Tic-Tac-Toe
  • Longest Substring Without Repeating Characters
  • Serialize/Deserialize Binary Tree
  • Meeting Rooms II

Tips

  • Show collaboration — Microsoft values teamwork
  • Discuss trade-offs — show you think about alternatives
  • Be open to hints — Microsoft interviewers often give hints
  • Practice design questions — even for junior roles
  • Show growth mindset — talk about learning from failures

Meta (Facebook)

Interview Style

  • Rounds: 1-2 phone screens + 4-5 onsite (or virtual)
  • Focus: Coding, system design, behavioral
  • Difficulty: Medium to Hard
  • Unique: Strong emphasis on “Move Fast” culture

Common Topics

  • Arrays & Strings (very frequent)
  • Trees & Graphs (very frequent)
  • Dynamic Programming (frequent)
  • System Design (for E5+)
  • Recursion & Backtracking

Frequently Asked Problems

  • Valid Palindrome
  • Product of Array Except Self
  • Minimum Remove to Make Valid Parentheses
  • Binary Tree Vertical Order Traversal
  • Buildings With an Ocean View
  • Dot Product of Two Sparse Vectors
  • Random Pick with Weight
  • Merge Intervals

Tips

  • Move fast — Meta values speed and efficiency
  • Write clean code quickly — don’t overthink
  • Test your code — but don’t spend too long on testing
  • Discuss scalability — Meta cares about scale
  • Show impact — talk about the impact of your work

Apple

Interview Style

  • Rounds: 1-2 phone screens + 4-5 onsite (or virtual)
  • Focus: Problem-solving, coding, design, culture fit
  • Difficulty: Medium to Hard
  • Unique: Secrecy, attention to detail

Common Topics

  • Arrays & Strings (very frequent)
  • Trees & Graphs (frequent)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • Low-level design

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Lowest Common Ancestor
  • Design a Parking Lot
  • Serialize/Deserialize Binary Tree
  • Longest Palindromic Substring
  • Word Search
  • Implement Trie

Tips

  • Attention to detail — Apple values precision
  • Show passion for products — know Apple’s products
  • Discuss user experience — Apple cares about UX
  • Be prepared for design questions — even for coding roles
  • Show craftsmanship — take pride in your code quality

Adobe

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, design
  • Difficulty: Medium
  • Unique: Creative and document-focused

Common Topics

  • Arrays & Strings (very frequent)
  • Trees & Graphs (frequent)
  • Dynamic Programming (moderate)
  • OOP Design
  • System Design (for senior roles)

Frequently Asked Problems

  • Two Sum
  • Longest Substring Without Repeating Characters
  • Merge Intervals
  • Number of Islands
  • Design a File System
  • LRU Cache
  • Word Break
  • Serialize/Deserialize Binary Tree

Tips

  • Know Adobe’s products — PDF, Photoshop, etc.
  • Practice OOP design — Adobe asks design questions
  • Discuss scalability — Adobe handles large documents
  • Show creativity — Adobe values creative thinking

Atlassian

Interview Style

  • Rounds: 1 phone screen + 4-5 onsite (or virtual)
  • Focus: Problem-solving, coding, values
  • Difficulty: Medium to Hard
  • Unique: Values-driven company

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (frequent)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • Values-based questions

Frequently Asked Problems

  • Number of Islands
  • Merge Intervals
  • LRU Cache
  • Word Ladder
  • Course Schedule
  • Design a Notification System
  • Implement Trie
  • Top K Frequent Elements

Tips

  • Know Atlassian’s values — Open Company, No Bullshit
  • Practice system design — Atlassian asks for most levels
  • Show collaboration — Atlassian values teamwork
  • Be transparent — Atlassian values openness

Oracle

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, SQL, design
  • Difficulty: Medium
  • Unique: Database-focused

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (moderate)
  • SQL (very important)
  • OOP Design
  • System Design (for senior roles)

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Longest Substring Without Repeating Characters
  • Number of Islands
  • Design a Database
  • SQL queries
  • LRU Cache
  • Word Break

Tips

  • Know SQL well — Oracle is a database company
  • Practice SQL queries — joins, subqueries, aggregations
  • Discuss data modeling — Oracle cares about data
  • Show technical depth — Oracle values deep expertise

NVIDIA

Interview Style

  • Rounds: 1-2 phone screens + 4-5 onsite (or virtual)
  • Focus: Problem-solving, coding, low-level systems
  • Difficulty: Medium to Hard
  • Unique: GPU, parallel computing, hardware-aware

Common Topics

  • Arrays & Strings (frequent)
  • Bit Manipulation (important)
  • Parallel algorithms
  • Memory management
  • System Design (for senior roles)

Frequently Asked Problems

  • Two Sum
  • Matrix Rotation
  • Bit Manipulation problems
  • Parallel Prefix Sum
  • CUDA-related questions
  • LRU Cache
  • Design a GPU Scheduler
  • Memory allocation problems

Tips

  • Know GPU architecture — CUDA, parallel computing
  • Practice bit manipulation — NVIDIA loves these
  • Discuss memory efficiency — NVIDIA cares about performance
  • Show hardware awareness — understand cache, memory hierarchy

Qualcomm

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, embedded systems
  • Difficulty: Medium
  • Unique: Hardware/software integration

Common Topics

  • Arrays & Strings (frequent)
  • Bit Manipulation (important)
  • Embedded systems concepts
  • Memory management
  • System Design (for senior roles)

Frequently Asked Problems

  • Two Sum
  • Bit Manipulation problems
  • String compression
  • Memory allocation
  • Design a Buffer
  • LRU Cache
  • Reverse Linked List
  • Implement strstr

Tips

  • Know embedded systems — real-time, resource constraints
  • Practice bit manipulation — Qualcomm loves these
  • Discuss memory efficiency — embedded systems have limited memory
  • Show hardware awareness — understand processors, memory

Salesforce

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, design
  • Difficulty: Medium
  • Unique: CRM-focused, cloud computing

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (moderate)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • OOP Design

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Number of Islands
  • LRU Cache
  • Design a CRM System
  • Word Break
  • Serialize/Deserialize Binary Tree
  • Top K Frequent Elements

Tips

  • Know Salesforce’s products — CRM, cloud platform
  • Practice system design — Salesforce asks for most levels
  • Discuss multi-tenancy — Salesforce is multi-tenant
  • Show customer focus — Salesforce values customer success

Walmart (Walmart Global Tech)

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, design
  • Difficulty: Medium
  • Unique: Retail/e-commerce focus

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (moderate)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • Scalability

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Number of Islands
  • LRU Cache
  • Design an E-commerce System
  • Word Break
  • Top K Frequent Elements
  • Meeting Rooms II

Tips

  • Know Walmart’s scale — massive data, high availability
  • Practice system design — Walmart asks for most levels
  • Discuss scalability — Walmart handles huge traffic
  • Show practical thinking — Walmart values practical solutions

Goldman Sachs

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, finance knowledge
  • Difficulty: Medium to Hard
  • Unique: Finance-focused, math-heavy

Common Topics

  • Arrays & Strings (frequent)
  • Dynamic Programming (frequent)
  • Probability & Statistics
  • System Design (for senior roles)
  • Finance-related problems

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Longest Increasing Subsequence
  • Coin Change
  • Design a Trading System
  • Probability problems
  • LRU Cache
  • Word Break

Tips

  • Know finance basics — trading, risk management
  • Practice probability — Goldman Sachs loves probability questions
  • Discuss low latency — trading systems need speed
  • Show analytical thinking — Goldman values analytical skills

JPMorgan Chase

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, finance knowledge
  • Difficulty: Medium
  • Unique: Banking/finance focus

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (moderate)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • OOP Design

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Number of Islands
  • LRU Cache
  • Design a Banking System
  • Word Break
  • Serialize/Deserialize Binary Tree
  • Meeting Rooms II

Tips

  • Know banking basics — accounts, transactions, regulations
  • Practice system design — JPMorgan asks for most levels
  • Discuss security — banking systems need security
  • Show attention to detail — banking requires precision

Visa

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, payment systems
  • Difficulty: Medium
  • Unique: Payment processing focus

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (moderate)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • Scalability

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Number of Islands
  • LRU Cache
  • Design a Payment System
  • Word Break
  • Top K Frequent Elements
  • Meeting Rooms II

Tips

  • Know payment systems — transactions, fraud detection
  • Practice system design — Visa asks for most levels
  • Discuss scalability — Visa handles massive transaction volume
  • Show security awareness — payment systems need security

Cisco

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, networking
  • Difficulty: Medium
  • Unique: Networking-focused

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (frequent)
  • Networking concepts
  • System Design (for senior roles)
  • OOP Design

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Number of Islands
  • LRU Cache
  • Design a Network Router
  • Word Break
  • Serialize/Deserialize Binary Tree
  • Graph problems

Tips

  • Know networking basics — TCP/IP, routing, protocols
  • Practice graph problems — networking is graph-heavy
  • Discuss distributed systems — Cisco deals with distributed networks
  • Show systems thinking — Cisco values systems-level understanding

Intuit

Interview Style

  • Rounds: 1-2 phone screens + 3-4 onsite (or virtual)
  • Focus: Problem-solving, coding, design
  • Difficulty: Medium
  • Unique: Financial software (TurboTax, QuickBooks)

Common Topics

  • Arrays & Strings (frequent)
  • Trees & Graphs (moderate)
  • Dynamic Programming (moderate)
  • System Design (for senior roles)
  • OOP Design

Frequently Asked Problems

  • Two Sum
  • Merge Intervals
  • Number of Islands
  • LRU Cache
  • Design a Tax System
  • Word Break
  • Serialize/Deserialize Binary Tree
  • Meeting Rooms II

Tips

  • Know Intuit’s products — TurboTax, QuickBooks, Mint
  • Practice system design — Intuit asks for most levels
  • Discuss user experience — Intuit values UX
  • Show customer empathy — Intuit is customer-focused

Company Comparison Table

CompanyDifficultyFocus AreasKey Differentiator
GoogleHardClean code, edge casesProblem-solving depth
AmazonMediumLeadership PrinciplesSTAR stories
MicrosoftMediumCollaborationGrowth mindset
MetaMedium-HardSpeed, scalabilityMove fast
AppleMedium-HardDetail, designCraftsmanship
AdobeMediumOOP, creativityProduct knowledge
AtlassianMedium-HardValues, designOpenness
OracleMediumSQL, databasesDatabase expertise
NVIDIAMedium-HardBit manipulation, GPUHardware awareness
QualcommMediumEmbedded, bitsSystems knowledge
SalesforceMediumCloud, CRMMulti-tenancy
WalmartMediumScale, e-commercePractical solutions
Goldman SachsMedium-HardFinance, probabilityAnalytical skills
JPMorganMediumBanking, securityAttention to detail
VisaMediumPayments, scaleTransaction systems
CiscoMediumNetworking, graphsSystems thinking
IntuitMediumFinancial softwareCustomer empathy

Preparation Timeline by Company Type

FAANG (Google, Amazon, Meta, Apple, Microsoft)

  • Minimum: 2-3 months of preparation
  • Problems: 200-300
  • Focus: Hard problems, system design, behavioral

Tier 2 Tech (Adobe, Atlassian, Salesforce, NVIDIA, Qualcomm)

  • Minimum: 1-2 months of preparation
  • Problems: 150-200
  • Focus: Medium problems, system design, company-specific

Finance Tech (Goldman Sachs, JPMorgan, Visa)

  • Minimum: 1-2 months of preparation
  • Problems: 150-200
  • Focus: Medium problems, finance knowledge, system design

Other Tech (Walmart, Cisco, Intuit)

  • Minimum: 1 month of preparation
  • Problems: 100-150
  • Focus: Medium problems, company-specific knowledge

Final Advice

  1. Research the specific company — this guide is general; company-specific research is essential
  2. Practice on LeetCode — use company-tagged problems
  3. Mock interviews — practice with the company’s style in mind
  4. Prepare behavioral stories — most companies ask behavioral questions
  5. Know the products — show you care about the company
  6. Be yourself — authenticity matters

Good luck with your interviews! Remember, every interview is a learning experience, regardless of the outcome.