An open API service indexing awesome lists of open source software.

https://github.com/umitkacar/awesome-interview

Coding Interview Prep: LeetCode, system design, algorithms, data structures, FAANG questions, and technical interview resources.
https://github.com/umitkacar/awesome-interview

List: awesome-interview

algorithms arrays binary-search career-development coding-interview competitive-programming data-structures dynamic-programming faang graph-algorithms interview-prep interview-questions leetcode problem-solving software-engineering sorting strings system-design technical-interview trees

Last synced: about 1 month ago
JSON representation

Coding Interview Prep: LeetCode, system design, algorithms, data structures, FAANG questions, and technical interview resources.

Awesome Lists containing this project

README

          

# πŸš€ Awesome FAANG Interview Resources

### *Your Ultimate Guide to Landing Your Dream Tech Job in 2025* 🎯

[![GitHub stars](https://img.shields.io/github/stars/umitkacar/awesome-faang-interview?style=for-the-badge&logo=github&color=yellow)](https://github.com/umitkacar/awesome-faang-interview/stargazers)
[![Last Updated](https://img.shields.io/badge/Last%20Updated-January%202025-brightgreen?style=for-the-badge&logo=calendar)](https://github.com/umitkacar/awesome-faang-interview)
[![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-blue?style=for-the-badge&logo=github)](https://github.com/umitkacar/awesome-faang-interview/pulls)
[![License](https://img.shields.io/badge/License-MIT-orange?style=for-the-badge&logo=opensourceinitiative)](LICENSE)

Typing SVG

---

## πŸ“Š Repository Stats

| πŸ“š Resources | πŸŽ₯ YouTube Channels | πŸ“– Books | 🌐 Platforms | πŸ€– AI/ML Section |
|:---:|:---:|:---:|:---:|:---:|
| **150+** | **15+** | **20+** | **25+** | **βœ… NEW** |

---

## πŸ“‘ Table of Contents

- [🎯 FAANG Interview Essentials](#-faang-interview-essentials)
- [πŸ“Ί Top YouTube Channels 2025](#-top-youtube-channels-2025)
- [πŸ’Ύ Data Structures & Algorithms](#-data-structures--algorithms)
- [πŸŽ“ Object Oriented Programming](#-object-oriented-programming)
- [πŸ“š Must-Read Books 2024-2025](#-must-read-books-2024-2025)
- [πŸ’» Online Coding Platforms](#-online-coding-platforms)
- [πŸ€– AI & Machine Learning Interviews](#-ai--machine-learning-interviews)
- [πŸ—οΈ System Design Resources](#%EF%B8%8F-system-design-resources)
- [🎁 Additional Resources](#-additional-resources)

---

## 🎯 FAANG Interview Essentials

*Start your journey with these battle-tested resources* ⚑

### πŸ”₯ Essential Interview Prep Paths

| Resource | Description | Difficulty | 🌟 Rating |
|----------|-------------|------------|-----------|
| [**NeetCode 150**](https://neetcode.io/) | πŸ† Most popular for 2024-2025! Curated list with video explanations | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| [**LeetCode Grind 75**](https://www.techinterviewhandbook.org/grind75) | Structured study plan, time-optimized | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| [**Blind 75**](https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU) | Classic must-do problems | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| [**Tech Interview Handbook**](https://www.techinterviewhandbook.org/) | Complete interview guide | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| [**System Design Primer**](https://github.com/donnemartin/system-design-primer) | 200K+ stars on GitHub! | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |

### 🎬 Top Video Courses (2024-2025)

```
πŸŽ“ NeetCode 150 Course on freeCodeCamp [38+ hours]
└─ All 150 problems explained with optimal solutions

πŸ“š Data Structures and Algorithms in Python [12+ hours]
└─ Complete beginner to advanced coverage

πŸš€ Google Engineer's Full Tutorial [10+ hours]
└─ Real-world problems from a Googler
```

- πŸŽ₯ [**NeetCode 150 Course on freeCodeCamp**](https://www.youtube.com/watch?v=KLlXCFG5TnA) - 38+ hours masterclass
- πŸ“˜ [**Data Structures and Algorithms in Python**](https://www.youtube.com/watch?v=pkYVOmU3MgA) - Full course for beginners
- 🎯 [**Google Engineer's Tutorial**](https://www.youtube.com/watch?v=RBSGKlAvoiM) - Easy to advanced course

---

## πŸ“Ί Top YouTube Channels 2025

*Learn from the best! These channels have helped thousands land FAANG offers* πŸŽ“

### πŸ’» Coding Interview Channels



NeetCode

πŸ‘€ 360K+ subs

🏒 Google Engineer

⭐ Best LeetCode explanations



Clement Mihailescu

πŸ‘€ 500K+ subs

🏒 Ex-Google/Facebook

⭐ AlgoExpert Founder



Back To Back SWE

πŸ‘€ 250K+ subs

πŸ’‘ Clear explanations

⭐ Complex topics simplified



TakeUForward

πŸ‘€ 600K+ subs

πŸ“š Striver's A2Z DSA

⭐ Complete roadmap

#### 🎯 More Awesome Channels

- πŸ“Ί [**Nick White**](https://www.youtube.com/@NickWhite) - Live coding sessions and tutorials
- πŸŽ“ [**William Fiset**](https://www.youtube.com/@WilliamFiset-videos) - In-depth algorithms and data structures
- πŸ’™ [**freeCodeCamp.org**](https://www.youtube.com/@freecodecamp) - Full courses and tutorials (1M+ hours of content!)

### πŸ—οΈ System Design & Career Channels

| Channel | Focus Area | Subscribers | Must Watch |
|---------|-----------|-------------|------------|
| [**ByteByteGo**](https://www.youtube.com/@ByteByteGo) | System Design | 500K+ | Alex Xu's channel πŸ”₯ |
| [**tryExponent**](https://www.youtube.com/@tryexponent) | Mock Interviews | 300K+ | Real interview practice |
| [**System Design Interview**](https://www.youtube.com/@SystemDesignInterview) | Architecture | 200K+ | Design patterns |
| [**TechLead**](https://www.youtube.com/@TechLead) | Career Advice | 1M+ | Ex-Google/Facebook |

---

## πŸ’Ύ Data Structures & Algorithms

*Master the fundamentals that 90% of interviews test* πŸ“Š

### 🎯 Essential Resources



Big O Cheat Sheet

⏱️ Time & Space complexity reference



VisuAlgo

πŸ‘€ See algorithms in action!



NeetCode Roadmap

πŸ—ΊοΈ Structured learning path

### πŸ“š Top DSA Courses

```diff
+ AlgoExpert β†’ 160+ curated problems with video explanations ($99)
+ AlgoMonster β†’ Pattern-based learning, very structured
+ Udemy Bootcamp β†’ Complete Python DSA course
+ CodeBasics β†’ Free Python DSA course
```

- 🎯 [**AlgoExpert**](https://www.algoexpert.io/) - 160+ curated problems with video explanations ($99)
- 🧠 [**AlgoMonster**](https://algo.monster/) - Pattern-based learning approach
- πŸ“– [**Udemy - DSA Bootcamp in Python**](https://www.udemy.com/course/data-structures-and-algorithms-bootcamp-in-python/)
- πŸ†“ [**CodeBasics - DSA in Python**](https://codebasics.io/courses/data-structures-and-algorithms-in-python)

---

## πŸŽ“ Object Oriented Programming

*Essential for system design and coding interviews* πŸ›οΈ

| Resource | Type | Level | Link |
|----------|------|-------|------|
| 🐍 Real Python OOP | Tutorial Path | ⭐⭐ | [Visit](https://realpython.com/learning-paths/object-oriented-programming-oop-python/) |
| πŸ“Ί Corey Schafer | Video Series | ⭐⭐ | [Watch](https://www.youtube.com/playlist?list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc) |
| 🎨 Design Patterns | Interactive Guide | ⭐⭐⭐ | [Learn](https://refactoring.guru/design-patterns) |

---

## πŸ“š Must-Read Books 2024-2025

*Invest in these proven resources* πŸ’Ž

### πŸ†• New Releases (2024-2025)



Beyond Cracking the Coding Interview

πŸ“ Gayle McDowell

⭐⭐⭐⭐⭐

Get Book



Coding Interview Patterns

πŸ“ Alex Xu & Shaun

⭐⭐⭐⭐⭐

Get Book



Generative AI System Design

πŸ“ Alex Xu

⭐⭐⭐⭐⭐

Get Book

### πŸ“– Coding Interview Classics

```
πŸ“• Cracking the Coding Interview (6th Edition) ⭐⭐⭐⭐⭐
β”œβ”€ 189 programming problems
β”œβ”€ Still #1 for FAANG interviews
└─ Solutions in multiple languages

πŸ“˜ Elements of Programming Interviews in Python ⭐⭐⭐⭐⭐
β”œβ”€ 250+ challenging problems
β”œβ”€ Perfect for senior positions
└─ Deep algorithmic thinking

πŸ“™ Grokking Algorithms ⭐⭐⭐⭐
β”œβ”€ Illustrated guide
β”œβ”€ Great for beginners
└─ Easy to understand
```

| Title | Author | Focus | Amazon |
|-------|--------|-------|--------|
| **Cracking the Coding Interview** | Gayle Laakmann McDowell | 189 problems | [πŸ›’ Buy](https://www.amazon.com/dp/0984782850) |
| **Elements of Programming Interviews** | Aziz, Lee, Prakash | 250+ problems | [πŸ›’ Buy](https://www.amazon.com/dp/1537713949) |
| **Grokking Algorithms** | Aditya Bhargava | Illustrated guide | [πŸ›’ Buy](https://www.amazon.com/dp/1617292230) |

### πŸ—οΈ System Design Books

> **πŸ”₯ Most Recommended for 2025**

| Book | Author | Level | Rating |
|------|--------|-------|--------|
| πŸ“• **System Design Interview Vol. 1** | Alex Xu | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ [Get it](https://www.amazon.com/dp/B08CMF2CQF) |
| πŸ“• **System Design Interview Vol. 2** | Alex Xu | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ [Get it](https://www.amazon.com/dp/1736049119) |
| πŸ“˜ **Acing the System Design Interview** | Zhiyong Tan | ⭐⭐⭐ | ⭐⭐⭐⭐ [Get it](https://www.amazon.com/dp/1633439100) |
| πŸ“™ **Designing Data-Intensive Applications** | Martin Kleppmann | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ [Get it](https://www.amazon.com/dp/1449373321) |

### πŸ’Ό Behavioral & Career

- πŸ“— [**The Tech Resume Inside Out**](https://www.amazon.com/dp/B08J2DW6BQ) - Gergely Orosz ⭐⭐⭐⭐⭐
- 🎯 [**Behavioral Interview Questions**](https://www.techinterviewhandbook.org/behavioral-interview-questions) - Free online guide

### πŸ€– AI/ML Interview Books

| Book | Focus | Link |
|------|-------|------|
| πŸ“• **Hands-on Machine Learning** (3rd Ed) | Practical ML with Scikit-Learn & TensorFlow | [Amazon](https://www.amazon.com/dp/1492032646) |
| πŸ“˜ **Machine Learning Interviews** | Free comprehensive guide | [GitHub](https://github.com/alirezadir/Machine-Learning-Interviews) |
| πŸ“™ **Deep Learning Interviews** | 400+ questions and answers | [Amazon](https://www.amazon.com/dp/B08W3HPNDK) |

---

## πŸ’» Online Coding Platforms

*Practice makes perfect* 🎯

### πŸ† Problem Solving Platforms



LeetCode

⭐ #1 Platform

πŸ“Š 3000+ problems



NeetCode

πŸŽ₯ Video solutions

πŸ”₯ Most popular 2025



HackerRank

πŸ… Certifications

πŸ’Ό Job matching



CodeForces

πŸ† Competitive

⚑ Contest rated



CodeChef

🌍 Global contests

πŸ“ˆ Rating system

### πŸŽ“ Interview Prep Platforms

```
πŸ’Ž Premium Platforms (Worth the Investment)
```

| Platform | Price/Year | Focus | Best For | Rating |
|----------|-----------|-------|----------|--------|
| [**DesignGurus.io**](https://www.designgurus.io/) | $122 | Pattern-based learning | Visual learners | ⭐⭐⭐⭐⭐ |
| [**AlgoExpert**](https://www.algoexpert.io/) | $99 | 160+ curated problems | Structured prep | ⭐⭐⭐⭐⭐ |
| [**AlgoMonster**](https://algo.monster/) | $99 | Pattern recognition | Fast track | ⭐⭐⭐⭐⭐ |
| [**Educative.io**](https://www.educative.io/) | $199 | Interactive courses | Hands-on learning | ⭐⭐⭐⭐ |
| [**InterviewBit**](https://www.interviewbit.com/) | FREE | Complete prep | Budget option | ⭐⭐⭐⭐ |

### 🎯 Mock Interview Platforms

> **Practice with real people!**

| Platform | Type | Price | Features |
|----------|------|-------|----------|
| 🎭 [**Pramp (Exponent)**](https://www.tryexponent.com/practice) | Peer-to-peer | FREE (5/month) | AI grading, transcripts |
| πŸ’Ό [**Interviewing.io**](https://interviewing.io/) | Anonymous | Paid | Real engineers from FAANG |
| πŸŽͺ [**TechMockInterview**](https://techmockinterview.com/) | 1-on-1 | Paid | Personalized feedback |

### πŸ“Š Assessment Platforms

- πŸ“ [**TestDome**](https://www.testdome.com/) - Skills assessment & certifications
- πŸ’» [**DevSkiller**](https://devskiller.com/) - Technical screening for companies
- πŸ€– [**Workera.ai**](https://workera.ai/) - AI skills assessment
- πŸ“Š [**DataCamp**](https://www.datacamp.com/) - Data science focused

---

## πŸ€– AI & Machine Learning Interviews

*Critical for 2025! ML roles are exploding* πŸš€



### 🧠 ML Interview Resources

#### πŸ“š Free Resources
- πŸ”₯ [**ML Interviews GitHub**](https://github.com/alirezadir/Machine-Learning-Interviews) - 10K+ stars!
- πŸ“– [**Deep Learning Questions**](https://github.com/youssefHosni/Awesome-ML-GitHub-Repos-for-Data-Science-Interviews)
- 🎯 [**InterviewQuery**](https://www.interviewquery.com/) - Data science prep

#### πŸ’Ž Premium Courses
- πŸ† [**MLExpert.io**](https://www.algoexpert.io/machine-learning/product) - By AlgoExpert team
- πŸ“Š [**Interview Kickstart**](https://interviewkickstart.com/courses/machine-learning-interview-masterclass) - 66% salary increase avg
- πŸŽ“ [**Techademy AI/ML**](https://www.techademy.com/ai-ml-interview-preparation-program)

### 🎯 Key Topics to Master for 2025

```python
ml_interview_topics = {
"Foundation": [
"Supervised & Unsupervised Learning",
"Model Evaluation & Metrics",
"Feature Engineering",
"Bias-Variance Tradeoff"
],
"Deep Learning": [
"Neural Networks Architecture",
"CNNs for Computer Vision",
"RNNs & LSTMs for Sequences",
"Training & Optimization"
],
"2025 Critical": [
"πŸ”₯ Transformers Architecture",
"πŸ”₯ Large Language Models (LLMs)",
"πŸ”₯ Prompt Engineering",
"πŸ”₯ RAG (Retrieval-Augmented Generation)",
"πŸ”₯ Fine-tuning & Transfer Learning"
],
"Production ML": [
"MLOps & Model Deployment",
"A/B Testing",
"Model Monitoring",
"Scalability Considerations"
]
}
```

> **⚠️ 2025 Alert:** 80% of ML interviews now include questions about LLMs and Transformers!

---

## πŸ—οΈ System Design Resources

*The most challenging part of FAANG interviews* πŸ’ͺ

### πŸ“š Essential Resources



System Design Primer

πŸ“– Most comprehensive

πŸ†“ Completely free



ByteByteGo

πŸ“ Alex Xu's platform

πŸ’° Paid but worth it



Grokking SD

🎯 Pattern-based

πŸ’‘ Visual learning



SD Interview

✍️ Practice problems

πŸŽͺ Mock interviews

### πŸ“Ί Video Resources

| Channel | Subscribers | Best For | Link |
|---------|------------|----------|------|
| πŸŽ₯ **ByteByteGo** | 500K+ | System design concepts | [Watch](https://www.youtube.com/@ByteByteGo) |
| πŸŽ“ **Gaurav Sen** | 500K+ | In-depth explanations | [Watch](https://www.youtube.com/c/GauravSensei) |
| πŸ—οΈ **System Design Interview** | 200K+ | Architecture patterns | [Watch](https://www.youtube.com/@SystemDesignInterview) |
| πŸ’‘ **Tech Dummies** | 300K+ | Simplified concepts | [Watch](https://www.youtube.com/@TechDummiesNarendraL) |

### 🎯 Practice Platforms

```
πŸŽͺ Where to practice system design interviews
```

- πŸŽ“ [**Exponent System Design**](https://www.tryexponent.com/courses/system-design-interview) - Comprehensive course with mock interviews
- πŸ’¬ [**HelloInterview System Design**](https://www.hellointerview.com/learn/system-design) - Interactive learning
- πŸ“Š [**DesignGurus.io**](https://www.designgurus.io/) - Pattern-based approach

---

## 🎁 Additional Resources

*Everything else you need to succeed* ✨

### πŸ™ GitHub Repositories

| Repository | Stars | Description |
|-----------|-------|-------------|
| [**Awesome Interview Questions**](https://github.com/DopplerHQ/awesome-interview-questions) | 60K+ ⭐ | Questions for all languages |
| [**Tech Interview Handbook**](https://github.com/yangshun/tech-interview-handbook) | 100K+ ⭐ | Complete handbook |
| [**Coding Interview University**](https://github.com/jwasham/coding-interview-university) | 280K+ ⭐ | Multi-month study plan |
| [**System Design Resources**](https://github.com/ashishps1/awesome-system-design-resources) | 15K+ ⭐ | Curated SD resources |

### πŸ’° Salary Negotiation



Levels.fyi

πŸ“Š Real salary data

🏒 All major tech companies



TeamBlind

πŸ’¬ Anonymous community

πŸ” Real employee insights



Negotiation Guide

πŸ“– Comprehensive guide

πŸ’‘ Proven strategies

### πŸ“„ Resume & LinkedIn

- πŸ“ [**Resumake**](https://resumake.io/) - LaTeX resume builder (ATS-friendly)
- 🎨 [**FlowCV**](https://flowcv.com/) - Modern resume templates
- πŸ’Ό [**LinkedIn Optimization**](https://www.techinterviewhandbook.org/resume/) - Get noticed by recruiters

---

## πŸ“ˆ Learning Path Recommendation

```mermaid
graph TD
A[Start Here] --> B{Your Level?}
B -->|Beginner| C[NeetCode Roadmap]
B -->|Intermediate| D[LeetCode Grind 75]
B -->|Advanced| E[Blind 75 + System Design]

C --> F[Practice 50 Easy Problems]
D --> G[Practice Medium Problems]
E --> H[Mock Interviews]

F --> I[Move to Grind 75]
G --> J[System Design Study]
H --> K[Apply to FAANG!]

I --> J
J --> H

style A fill:#ff6b6b
style K fill:#51cf66
style B fill:#ffd43b
```

### πŸ—“οΈ Suggested Study Schedule

| Week | Focus Area | Resources | Hours/Day |
|------|-----------|-----------|-----------|
| **1-2** | DSA Basics | NeetCode Roadmap, VisuAlgo | 2-3h |
| **3-6** | Problem Solving | Grind 75 (Easy β†’ Medium) | 3-4h |
| **7-10** | Advanced Problems | Blind 75, NeetCode 150 | 4-5h |
| **11-12** | System Design | ByteByteGo, System Design Primer | 2-3h |
| **13-14** | Mock Interviews | Pramp, Interviewing.io | 2-3h |
| **15-16** | Behavioral Prep | Tech Interview Handbook | 1-2h |

---

## πŸ‘¨β€πŸ’» For Developers - Contributing to This Project

**Want to improve this project? Here's everything you need!**

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](https://github.com/umitkacar/awesome-faang-interview/pulls)
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-blue?style=for-the-badge&logo=python)](https://www.python.org/)
[![Hatch](https://img.shields.io/badge/Built%20with-Hatch-orange?style=for-the-badge)](https://hatch.pypa.io/)

### πŸš€ Quick Start for Developers

This project uses modern Python tooling for production-grade quality. Here's how to get started:

#### πŸ“‹ Prerequisites

- **Python 3.11+** - Required for modern type hints
- **Git** - For version control
- **Hatch** - Modern Python project manager

#### ⚑ Setup in 3 Steps

```bash
# 1. Clone the repository
git clone https://github.com/umitkacar/awesome-faang-interview.git
cd awesome-faang-interview

# 2. Install Hatch (if not already installed)
pip install hatch

# 3. Install pre-commit hooks
pre-commit install
```

That's it! Hatch will automatically manage environments and dependencies.

---

### πŸ› οΈ Development Commands

All commands use Hatch for consistency and simplicity:

| Command | Description | Time |
|---------|-------------|------|
| `hatch run test` | Run all tests | ~3s |
| `hatch run test-cov` | Run tests with coverage report | ~4s |
| `hatch run test-parallel` | Run tests in parallel (faster) | ~3s |
| `hatch run lint` | Check code quality with Ruff | ~0.05s |
| `hatch run format` | Format code with Black | ~0.2s |
| `hatch run type-check` | Type check with MyPy | ~0.8s |
| `hatch run security` | Security scan with Bandit | ~1s |
| `hatch run all` | **Run everything** βœ… | ~8s |

#### 🎯 Recommended Workflow

```bash
# Before making changes
hatch run all # Ensure everything passes

# Make your changes...

# Verify your changes
hatch run all # All checks must pass

# Commit (pre-commit hooks run automatically)
git add .
git commit -m "feat: your amazing feature"
```

---

### πŸ§ͺ Testing

We maintain **93.50% code coverage** with comprehensive tests.

#### Running Tests

```bash
# Quick test (sequential)
hatch run test

# With coverage report
hatch run test-cov

# Parallel execution (3x faster!)
hatch run test-parallel

# View coverage report
open htmlcov/index.html # macOS
xdg-open htmlcov/index.html # Linux
```

#### Test Structure

```
tests/
β”œβ”€β”€ conftest.py # Shared fixtures
β”œβ”€β”€ test_cli.py # CLI command tests (33 tests)
└── test_core.py # Core logic tests
```

#### Writing Tests

```python
# Example test
def test_resource_validation() -> None:
"""Test URL validation in Resource model."""
with pytest.raises(ValidationError):
Resource(
name="Invalid",
url="not-a-url", # Should fail
category="test"
)
```

---

### πŸ“Š Quality Standards

This project maintains **zero-error** production quality:

```
βœ… Tests: 33/33 PASSED (100%)
βœ… Coverage: 93.50% with branch coverage
βœ… MyPy: 0 errors across 9 files
βœ… Ruff: All checks passed
βœ… Black: Code formatted
βœ… Bandit: No security issues
βœ… Speed: 3x faster with parallel testing
```

#### Quality Tools

| Tool | Purpose | Configuration |
|------|---------|---------------|
| **Ruff** | Linting (10-100x faster than alternatives) | `pyproject.toml:114-156` |
| **Black** | Code formatting (100 char line) | `pyproject.toml:158-161` |
| **MyPy** | Type checking (strict mode) | `pyproject.toml:163-174` |
| **Bandit** | Security scanning | `pyproject.toml:194-198` |
| **pytest** | Testing framework | `pyproject.toml:200-210` |

---

### πŸ” Pre-commit Hooks

Pre-commit hooks run automatically on `git commit` to ensure quality:

```yaml
βœ… Black - Auto-format code
βœ… Ruff - Auto-fix linting issues
βœ… MyPy - Check types
βœ… Bandit - Security scan
βœ… pytest - Run fast tests
```

#### Manual Hook Execution

```bash
# Run all hooks on all files
pre-commit run --all-files

# Run specific hook
pre-commit run black --all-files
pre-commit run mypy --all-files

# Skip hooks (emergency only!)
git commit --no-verify
```

---

### πŸ“ Project Structure

```
awesome-faang-interview/
β”œβ”€β”€ src/
β”‚ └── faang_interview/
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ cli.py # CLI commands (Typer)
β”‚ └── core.py # Core logic (Pydantic models)
β”œβ”€β”€ tests/
β”‚ β”œβ”€β”€ conftest.py
β”‚ β”œβ”€β”€ test_cli.py
β”‚ └── test_core.py
β”œβ”€β”€ .pre-commit-config.yaml # Pre-commit hooks
β”œβ”€β”€ pyproject.toml # All configuration
β”œβ”€β”€ README.md # This file
β”œβ”€β”€ CHANGELOG.md # Version history
β”œβ”€β”€ LESSONS_LEARNED.md # Technical documentation
└── LICENSE # MIT License
```

---

### 🎨 Code Style Guidelines

#### Type Hints

```python
# βœ… Good - Full type hints
def filter_resources(
resources: list[Resource],
category: str | None = None,
) -> list[Resource]:
"""Filter resources by category."""
...

# ❌ Bad - No type hints
def filter_resources(resources, category=None):
...
```

#### Docstrings

```python
# βœ… Good - Comprehensive docstring
def process_data(data: dict[str, Any]) -> str:
"""Process data and extract name.

Args:
data: Dictionary containing resource data

Returns:
Extracted name as string

Raises:
KeyError: If 'name' key is missing
"""
return str(data["name"])
```

#### Error Handling

```python
# βœ… Good - Descriptive error messages
if not url.startswith(("http://", "https://")):
msg = f"Invalid URL format: {url}. Must start with http:// or https://"
raise ValueError(msg)

# ❌ Bad - Generic error
if not url.startswith(("http://", "https://")):
raise ValueError("Invalid URL")
```

---

### πŸ› Debugging

#### Enable Verbose Output

```bash
# Verbose pytest output
hatch run test -vv

# Show print statements
hatch run test -s

# Run specific test
hatch run test tests/test_cli.py::test_list_command -vv
```

#### Type Checking Issues

```bash
# Check specific file
mypy src/faang_interview/cli.py

# Show error codes
mypy src/ --show-error-codes

# Ignore specific errors (use sparingly!)
mypy src/ --disable-error-code=attr-defined
```

---

### πŸ“š Additional Documentation

- **[LESSONS_LEARNED.md](LESSONS_LEARNED.md)** - Deep technical insights and decisions
- **[CHANGELOG.md](CHANGELOG.md)** - Detailed version history
- **[Hatch Documentation](https://hatch.pypa.io/)** - Build system guide
- **[Ruff Documentation](https://docs.astral.sh/ruff/)** - Linter reference
- **[pytest Documentation](https://docs.pytest.org/)** - Testing guide

---

### 🀝 Contributing Resources

**Found a great resource? Have suggestions?**

Simply:
1. 🍴 Fork this repository
2. ✏️ Add your resource to README.md
3. βœ… Run `hatch run all` to ensure quality
4. πŸ“¬ Submit a pull request

**For code contributions:**
1. Create a feature branch (`git checkout -b feature/amazing-feature`)
2. Make your changes
3. Ensure all tests pass (`hatch run all`)
4. Commit your changes (`git commit -m 'feat: add amazing feature'`)
5. Push to the branch (`git push origin feature/amazing-feature`)
6. Open a Pull Request

---

### πŸ’‘ Pro Tips

**Speed up development:**
```bash
# Use parallel testing by default
alias test="hatch run test-parallel"

# Quick format + lint
hatch run format && hatch run lint

# Watch mode for tests (install pytest-watch)
pip install pytest-watch
ptw -- -n auto
```

**IDE Integration:**
- **VS Code**: Install Python, Pylance, Ruff extensions
- **PyCharm**: Configure Hatch as project interpreter
- **Vim/Neovim**: Use ALE or coc-pyright

---

---

## ⭐ Show Your Support

**If this helped you, give it a star!** It helps others discover these resources 🌟

[![GitHub stars](https://img.shields.io/github/stars/umitkacar/awesome-faang-interview?style=social)](https://github.com/umitkacar/awesome-faang-interview/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/umitkacar/awesome-faang-interview?style=social)](https://github.com/umitkacar/awesome-faang-interview/network/members)

---

### πŸ“« Connect & Stay Updated



---

**Last Updated:** January 2025 πŸ“…

**License:** MIT πŸ“œ

---

Motivation

**Made with ❀️ for aspiring FAANG engineers**