This repository contains a collection of interview questions and solutions for various topics related to frontend development, backend development, and data structures & algorithms. Whether you are preparing for technical interviews or want to enhance your problem-solving skills, this repository is designed to help you.
Frontend
Backend
Data Structures & Algorithms
overview of the main topics related to React, Node.js, Express, MongoDB, and JavaScript in general, as well as Data Structures and Algorithms (DSA) in JavaScript:
Basics of JavaScript:
Variables, Data Types, Operators Control Flow: Conditionals and Loops Functions and Scope Objects and Arrays ES6+ Features: Arrow Functions, Destructuring, Spread/Rest Operator Asynchronous JavaScript:
Callbacks, Promises, Async/Await Handling Asynchronous Operations ES6+ Features:
Classes and Modules Template Literals Promises and Async/Await Arrow Functions Error Handling:
try/catch blocks Handling and Throwing Errors
React Basics:
Components and Props State and Lifecycle Handling Events Conditional Rendering React Router:
Navigation in React Apps State Management:
Context API Redux (Actions, Reducers, Store) Hooks:
useState, useEffect, useContext, etc. Custom Hooks Component Lifecycle:
Mounting, Updating, Unmounting Forms and Controlled Components:
Handling Form Input and Validation Testing in React:
Unit Testing with Jest and React Testing Library
Node.js Basics:
Event Loop File System Operations Modules and npm Express.js:
Middleware Routing Template Engines (optional) RESTful API Design:
CRUD Operations Authentication and Authorization Error Handling Database Integration:
Connecting to MongoDB with Mongoose Performing CRUD Operations Express Middleware:
Creating Custom Middleware
MongoDB Basics:
Document-based NoSQL databases Collections and Documents CRUD Operations:
Creating, Reading, Updating, and Deleting Documents Indexing and Aggregation:
Optimizing Queries Aggregation Framework Mongoose:
Object Data Modeling in Node.js Schema and Model Definition
Arrays and Strings:
Manipulation, Searching, Sorting Linked Lists:
Singly Linked Lists, Doubly Linked Lists Stacks and Queues:
Basic Operations Trees and Graphs:
Binary Trees, Binary Search Trees Graph Representation, Traversal Sorting Algorithms:
Bubble Sort, Merge Sort, Quick Sort Searching Algorithms:
Binary Search, Linear Search Hashing:
Hash Tables, Collision Resolution Dynamic Programming:
Memoization, Bottom-Up Approach Greedy Algorithms:
Activity Selection, Huffman Coding Big O Notation:
Time and Space Complexity Analysis These topics cover a broad range of skills required for Full Stack JavaScript development and are commonly tested in interviews for roles involving React, Node.js, Express, MongoDB, and general web development.
Feel free to contribute by adding more questions, improving existing solutions, or fixing any issues. Follow the guidelines in CONTRIBUTING.md.