Quick Reference Guide for Amazon L6/L7 Interviews
ð Interview Day Cheat Sheet
Pre-Interview Checklist
ð Key Numbers to Memorize
System Scale Metrics
Python |
---|
| # Latency Numbers Every Engineer Should Know (2024)
L1_cache_reference = 0.5 # ns
Branch_mispredict = 5 # ns
L2_cache_reference = 7 # ns
Mutex_lock_unlock = 25 # ns
Main_memory_reference = 100 # ns
Send_1KB_over_1Gbps = 10_000 # ns (10 Ξs)
SSD_random_read = 150_000 # ns (150 Ξs)
Read_1MB_from_SSD = 1_000_000 # ns (1 ms)
HDD_seek = 10_000_000 # ns (10 ms)
Read_1MB_from_HDD = 20_000_000 # ns (20 ms)
Send_packet_CA_to_Netherlands = 150_000_000 # ns (150 ms)
|
AWS Service Limits
Service |
Key Limits |
Notes |
DynamoDB |
40K RCU/WCU per table |
Auto-scaling available |
S3 |
3.5K PUT/POST/DELETE per prefix |
5.5K GET/HEAD |
Lambda |
15 min timeout, 10GB memory |
1000 concurrent default |
SQS |
256KB message size |
14 days retention |
API Gateway |
10K requests/sec |
29 sec timeout |
EC2 |
20 instances default |
Increasable via support |
Capacity Planning
Python |
---|
| # Quick Estimations
1M requests/day = ~12 requests/second
1B requests/month = ~400 requests/second
1 photo (compressed) = ~200KB
1 minute HD video = ~50MB
1TB = 1000GB = 1_000_000MB
|
ðïļ System Design Template
1. Requirements (5 min)
Markdown |
---|
| Functional:
- Feature 1: [Description]
- Feature 2: [Description]
Non-Functional:
- Users: [Number]
- Requests: [QPS]
- Latency: [p50/p99]
- Availability: [99.9% or 99.99%]
- Data: [Volume]
|
2. Capacity Estimation (3 min)
Python |
---|
| users = 100_000_000
daily_active = users * 0.1
requests_per_user = 10
total_requests = daily_active * requests_per_user
qps = total_requests / 86400
peak_qps = qps * 3 # 3x for peak
|
3. High-Level Design (10 min)
Text Only |
---|
| [Client] --> [CDN] --> [LB] --> [API Gateway]
|
[Service Layer]
|
[Cache] <-- [Database]
|
4. Detailed Components (15 min)
- API Design
- Data Model
- Algorithm Choice
- Service Breakdown
5. Scale & Optimize (10 min)
- Caching Strategy
- Database Sharding
- Load Balancing
- CDN Usage
6. Handle Failures (5 min)
- Single points of failure
- Data loss scenarios
- Network partitions
- Cascading failures
ðŧ Coding Patterns Quick Reference
Two Pointers
Python |
---|
| def two_sum_sorted(arr, target):
left, right = 0, len(arr) - 1
while left < right:
curr_sum = arr[left] + arr[right]
if curr_sum == target:
return [left, right]
elif curr_sum < target:
left += 1
else:
right -= 1
return []
|
Sliding Window
Python |
---|
| def max_sum_subarray(arr, k):
window_sum = sum(arr[:k])
max_sum = window_sum
for i in range(k, len(arr)):
window_sum = window_sum - arr[i-k] + arr[i]
max_sum = max(max_sum, window_sum)
return max_sum
|
BFS Template
Python |
---|
| from collections import deque
def bfs(root):
if not root:
return
queue = deque([root])
visited = set([root])
while queue:
node = queue.popleft()
# Process node
for neighbor in node.neighbors:
if neighbor not in visited:
visited.add(neighbor)
queue.append(neighbor)
|
DFS Template
Python |
---|
| def dfs(node, visited=None):
if visited is None:
visited = set()
visited.add(node)
# Process node
for neighbor in node.neighbors:
if neighbor not in visited:
dfs(neighbor, visited)
return visited
|
Binary Search
Python |
---|
| def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = left + (right - left) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
|
ð STAR Story Template
For comprehensive guidance: STAR Framework Mastery Guide
Markdown |
---|
| S: At [Company], our [system] was experiencing [problem]
affecting [X users/$ impact].
T: As [role], I needed to [objective] within [constraints].
A: I [action 1], [action 2], and [action 3].
Specifically, I [technical detail] and [leadership action].
R: This resulted in [metric improvement], saving [$X] and
improving [customer metric]. I learned [lesson].
|
ðŊ Leadership Principles Quick Guide
Most Important for L6
- Deliver Results - Show consistent execution
- Ownership - Take end-to-end responsibility
- Dive Deep - Demonstrate technical depth
- Earn Trust - Build team relationships
- Learn and Be Curious - Show growth mindset
Most Important for L7
- Think Big - Demonstrate vision
- Invent and Simplify - Show innovation
- Are Right, A Lot - Strategic decisions
- Have Backbone - Influence upward
- Hire and Develop - Build organizations
ð§ AWS Services Quick Reference
Compute
- EC2: Virtual servers
- Lambda: Serverless functions
- ECS/EKS: Container orchestration
Storage
- S3: Object storage
- EBS: Block storage
- EFS: File storage
Database
- RDS: Relational (MySQL, PostgreSQL)
- DynamoDB: NoSQL key-value
- ElastiCache: In-memory cache
- Redshift: Data warehouse
Networking
- VPC: Virtual private cloud
- CloudFront: CDN
- Route 53: DNS
- API Gateway: API management
Messaging
- SQS: Queue service
- SNS: Pub/sub notifications
- EventBridge: Event bus
- Kinesis: Stream processing
ð Common Behavioral Questions
L6 Level
- Tell me about a time you disagreed with your manager
- Describe a situation where you had to make a decision with incomplete information
- How did you handle an underperforming team member?
- Give an example of when you failed
- Describe your most challenging technical project
L7 Level
- How did you drive organizational change?
- Describe influencing a decision at VP level
- Tell me about building a platform used by multiple teams
- How did you handle competing priorities from different VPs?
- Describe creating a multi-year technical strategy
⥠Time Management Tips
Coding Interview (45 min)
- 0-5 min: Understand problem
- 5-10 min: Discuss approach
- 10-30 min: Code solution
- 30-35 min: Test and debug
- 35-40 min: Optimize
- 40-45 min: Questions
System Design (60 min)
- 0-5 min: Requirements
- 5-10 min: Estimation
- 10-25 min: High-level design
- 25-45 min: Deep dive
- 45-55 min: Scale and optimize
- 55-60 min: Wrap up
Behavioral (45 min)
- 0-5 min: Introduction
- 5-40 min: 3-4 STAR stories
- 40-45 min: Your questions
ðĻ Red Flags to Avoid
Technical
- â Over-engineering simple problems
- â Ignoring requirements
- â Not considering trade-offs
- â Forgetting about failures
- â No cost consideration
Behavioral
- â Blaming others
- â No quantified results
- â Theoretical examples
- â Not showing growth
- â Weak leadership examples
Communication
- â Not asking questions
- â Rambling answers
- â Getting defensive
- â Not thinking out loud
- â Poor time management
System Design Success
Text Only |
---|
| Success = Clear Communication +
Structured Approach +
Trade-off Analysis +
Scale Considerations +
Practical Experience
|
Coding Success
Text Only |
---|
| Success = Problem Understanding +
Clean Code +
Optimal Algorithm +
Edge Cases +
Clear Explanation
|
Behavioral Success
Text Only |
---|
| Success = Relevant Stories +
STAR Structure +
Quantified Impact +
Leadership Principles +
Self-Reflection
|
ðŊ Final Interview Tips
- Be yourself - Authenticity matters
- Think out loud - Share your process
- Ask questions - Show curiosity
- Stay calm - Mistakes are okay
- Be specific - Use real examples
- Show impact - Quantify results
- Demonstrate growth - Learn from failures
- Prepare questions - Show interest
ð Questions to Ask Interviewers
About the Role
- What are the biggest challenges facing this team?
- What does success look like in this role?
- How is the team structured?
About the Team
- What's the team's tech stack?
- How do you handle on-call?
- What's the team culture like?
About Growth
- What learning opportunities are available?
- How is performance evaluated?
- What's the path to L7/L8?
You're Ready!
Keep this guide handy during your preparation and review it the night before your interview. Remember: you've prepared thoroughly, trust your preparation, and show them what you can do!
Good luck with your interview! ð