Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

neerazz/MAMAA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAMAA Interview Questions (Python)

This repository contains a curated collection of Python solutions to common data structure and algorithm problems, frequently asked in technical interviews at top tech companies.

MAMAA stands for:

  • Meta
  • Apple
  • Microsoft
  • Amazon
  • Alphabet

This project is inspired by repositories like neerazz/FAANG.


🚀 Why This Repo?

Tech interviews are evolving, but the fundamentals remain the same. The problems here are the backbone of interviews at companies like Meta, Apple, Microsoft, Amazon, Alphabet, 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 Problems
  4. Contests
  5. System Design
  6. OOPS Design
  7. Important Links
  8. How to Use This Repo
  9. How to Contribute
  10. When to Contribute
  11. How to Set Up This Repository

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

Complexity Big O Examples
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
Quadratic O(n^2) Bubble sort, Selection sort
Cubic O(n^3) Floyd-Warshall, 3-nested loops
Factorial O(n!) Traveling Salesman, permutations

Further Reading:

Resources and Training Material

Explore curated resources for mastering Data Structures, Algorithms, System Design, and Object-Oriented Programming.

Data Structures & Algorithm Problems

Explore by Topic: (TBD)

Contests

Sharpen your skills and benchmark yourself with real contest problems:


OOPS Design


Important Links

How to Use This Repo

  1. Browse by topic or company to find relevant problems.
  2. Read the code and comments for intuition and step-by-step logic.
  3. Practice by re-implementing solutions and timing yourself.
  4. Use the resources to fill knowledge gaps.
  5. Try contest problems for real-world speed and pressure.

How to Contribute

  1. Fork the repository.
  2. Do the desired changes (add/delete/modify).
  3. Make a pull request.

When to Contribute

  1. If there is no solution to a problem.
  2. If your solution is asymptotically faster than the one in the main branch.
  3. If your algorithm is of the same time complexity but with reduced code size, comment out the original solution and make a pull request with your solution.

How to Set Up This Repository

  1. Clone the repository:

    git clone https://github.com/neerazz/MAMAA.git
  2. Install dependencies:

    pip install -r requirements.txt
  3. Navigate to a topic folder and explore the solutions. Each .py file is a self-contained solution to a problem.

  4. Run the code to test it:

    python ./Arrays/two_sum.py

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages