SkillAgentSearch skills...

FAANG

Competitive programming questions.

Install / Use

/learn @neerazz/FAANG

README


layout: default title: "Home" nav_order: 1 permalink: /

<p align="center"> <img height="100" src="https://www.pcr-online.biz/wp-content/uploads/faang-own-logo-660x330.jpg" alt="FAANG Logo"> </p>

FAANG, the Magnificent Seven & Modern Tech Interviews (2025)

Note: While the term "FAANG" (Meta, Amazon, Apple, Netflix, Google) is still widely recognized, the tech world in 2025 often refers to the "Magnificent Seven" (Apple, Microsoft, Alphabet, Amazon, Nvidia, Meta, Tesla) as the dominant group of companies shaping the industry and interview trends. This repository keeps the FAANG name for legacy and recognition, but covers all major tech interview patterns.

Welcome! This repository is a comprehensive collection of solutions, explanations, and resources for mastering coding interviews at top tech companies. Whether you're preparing for interviews at FAANG, the Magnificent Seven, or any leading tech firm, you'll find:

  • Original, well-commented solutions to hundreds of classic and trending problems
  • Intuitive explanations and step-by-step approaches
  • Curated resources for Data Structures, Algorithms, System Design, and OOP
  • Company-specific and topic-specific question lists

🚀 Why This Repo?

Tech interviews are evolving, but the fundamentals remain the same. The problems here are the backbone of interviews at companies like Apple, Google, Amazon, Meta, Microsoft, Netflix, Nvidia, and more. Mastering these will prepare you for both traditional and modern interview formats.


📚 Table of Contents

  1. Complexities & Big O Explained
  2. Resources & Training Material
  3. Data Structures & Algorithm Patterns
  4. Contests
  5. System Design
  6. OOPS Design
  7. Important Links
  8. LeetCode FAQ
  9. How to Use This Repo
  10. How to Contribute
  11. When to Contribute

Complexities & Big O Explained

Understanding time and space complexity is crucial for writing efficient code and acing interviews. Here’s a high-level overview:

| Complexity Type | Notation | Example Algorithm | Typical Use Case | |-----------------|------------|----------------------------------|------------------------------| | Constant | O(1) | Hash table lookup | Accessing array element | | Logarithmic | O(log n) | Binary search | Searching in sorted array | | Linearithmic | O(n log n) | Merge sort, Heap sort | Efficient sorting | | Quadratic | O(n^2) | Bubble sort, Selection sort | Simple nested loops | | Cubic | O(n^3) | Floyd-Warshall, 3-nested loops | Some DP, matrix operations | | Factorial | O(n!) | Traveling Salesman, permutations | Brute-force combinatorics |

  • Always clarify which case you’re analyzing in interviews.
  • Amortized analysis (e.g., dynamic array resizing) is also common. Why Big O? Big O notation helps you compare algorithms and predict performance as input size grows. Interviewers expect you to:
  • Optimize when possible
  • Justify trade-offs

Further Reading:


Resources and Training Material

<details> <summary><strong>Data Structures & Algorithms</strong></summary>
  • <b>Elements of Programming Interviews in Java</b> (Beginner & Intermediate): In-depth problems and solutions. PDF
  • <b>Grokking the Coding Interview</b> (Beginner & Intermediate): Pattern-based approach to common questions. Link
  • <b>Cracking the Coding Interview</b> (Beginner & Intermediate): The classic interview prep book. PDF
  • <b>Coursera</b>:
    • Data Structures (Intermediate): Link
    • Algorithmic Toolbox (Advanced): Link
</details> <details> <summary><strong>Object Oriented Design</strong></summary>
  • <b>Grokking the Object-Oriented Design Interview</b>: Real-world OOD patterns and problems. Link
</details> <details> <summary><strong>System Design</strong></summary>
  • <b>System Design Interview An Insider’s Guide by Alex Yu</b> (Intermediate & Advanced): PDF
  • <b>Designing Data Intensive Applications</b> (Intermediate & Advanced): PDF
  • <b>Scalability System Design for Developers</b>: Link
</details> <details> <summary><strong>Other Useful Resources</strong></summary>
  • Typing finger chart: Image
  • GCP Fundamentals Core-Infrastructure: Link
</details>

Data Structures & Algorithm Patterns

This section provides in-depth explanations, complexity analyses, and common Java patterns for key data structures and algorithms.

Data Structures

Algorithms


Contests

Sharpen your skills and benchmark yourself with real contest problems:

System Design

Tips for System Design

General Design Questions:


OOPS Design

View on GitHub
GitHub Stars1.9k
CategoryDesign
Updated4d ago
Forks490

Languages

Java

Security Score

85/100

Audited on Mar 23, 2026

No findings