Skip to content

A comprehensive collection of coding questions and exercises for JavaScript and Node.js developers from beginner to advanced level.

Notifications You must be signed in to change notification settings

mohin-sheikh/js-node-coding-questions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

JavaScript & Node.js Coding Challenges

A comprehensive collection of coding questions and exercises for JavaScript and Node.js developers from beginner to advanced level. Master Express.js, data manipulation, middleware, and API development through practical, real-world challenges.

Node.js Express.js JavaScript

Table of Contents

Overview

This repository contains carefully crafted coding challenges designed to take you from a JavaScript beginner to an advanced Node.js developer. Each file focuses on specific concepts and builds upon previous knowledge, creating a comprehensive learning journey.

Challenge Structure

All challenges are organized in structured directories and follow a consistent naming pattern:

JS-questions/
├── 01-basic-javascript-challenges.md
├── 02-intermediate-javascript-challenges.md
├── 03-advanced-javascript-challenges.md

NodeJs Questions/
├── 01-beginner-express-challenges.md
├── 02-express-middleware-challenges.md  
├── 03-nodejs-data-manipulation-challenges.md
├── 04-ecommerce-order-management-challenges.md
├── 05-express-blog-api-challenges.md
└── [Future challenges will appear here automatically]

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • Code Editor (VS Code recommended)
  • API Testing Tool (Postman, Thunder Client, or Insomnia)

Installation & Setup

  1. Clone the repository

    git clone git@github.com:mohin-sheikh/js-node-coding-questions.git
    cd js-node-coding-questions
  2. Initialize your project

    npm init -y
    npm install express
  3. Create your server file (index.js)

    const express = require('express');
    const app = express();
    const PORT = 3000;
    
    // Middleware to parse JSON bodies
    app.use(express.json());
    
    // Add your routes here
    
    app.listen(PORT, () => {
      console.log(`Server running on http://localhost:${PORT}`);
    });

Available Challenges

JavaScript Fundamentals

File Focus Areas Status Level
01-basic-javascript-challenges.md JavaScript Basics, Arrays, Strings, Objects Available 🟢 Beginner
02-intermediate-javascript-challenges.md Advanced Arrays, Objects, Algorithms Available 🟡 Intermediate
03-advanced-javascript-challenges.md Data Structures, Functional Programming, Performance Available 🔴 Advanced

Node.js & Express.js

File Focus Areas Status Level
01-beginner-express-challenges.md Express basics, Routing, CRUD Available 🟢 Beginner
02-express-middleware-challenges.md Middleware, Authentication, Error Handling Available 🟡 Intermediate
03-nodejs-data-manipulation-challenges.md Data Processing, Array Methods, Algorithms Available 🟡 Intermediate
04-ecommerce-order-management-challenges.md Complex Systems, Database Relations Available 🔴 Advanced
05-express-blog-api-challenges.md Full API Development, Best Practices Available 🔴 Advanced

Learning Path

Recommended Progression -

Phase 1: JavaScript Fundamentals (3-4 weeks)

  1. Start with Basics - Begin with 01-basic-javascript-challenges.md to master core JavaScript concepts
  2. Intermediate Concepts - Progress to 02-intermediate-javascript-challenges.md for advanced data manipulation
  3. Advanced JavaScript - Complete 03-advanced-javascript-challenges.md for algorithms and data structures

Phase 2: Backend Development with Node.js (8-10 weeks)

  1. Express Foundation - Move to 01-beginner-express-challenges.md for Node.js/Express basics
  2. Master Middleware - Continue with 02-express-middleware-challenges.md after understanding routing
  3. Data Skills - Advance to 03-nodejs-data-manipulation-challenges.md for complex data processing
  4. Real Projects - Tackle 04-ecommerce-order-management-challenges.md for enterprise systems
  5. API Excellence - Complete with 05-express-blog-api-challenges.md for production-ready API development

Skill Development Timeline -

  • Weeks 1-4 - JavaScript Fundamentals (JS-questions files)
  • Weeks 5-6 - Node.js & Express Basics (Files starting with 01-)
  • Weeks 7-8 - Intermediate Concepts (Files starting with 02-)
  • Weeks 9-10 - Advanced Data Handling (Files starting with 03-)
  • Weeks 11-12 - Real-world Applications (Files starting with 04-)
  • Weeks 13-14 - Mastery Level (Files starting with 05- and beyond)

Testing Your Solutions

Recommended Tools -

  • Node.js REPL - For JavaScript challenges
  • Console.log - Basic debugging and output testing
  • Postman - API testing
  • Thunder Client - VS Code extension
  • curl - Command line testing
  • Browser - For GET requests
  • Performance Profiling - For advanced algorithm challenges

Example Test Commands -

# Test JavaScript functions
node -e "console.log(require('./your-solution.js').yourFunction())"

# Test basic server
curl http://localhost:3000/

# Test POST request
curl -X POST http://localhost:3000/users \
  -H "Content-Type: application/json" \
  -d '{"name":"John","email":"john@example.com"}'

# Test with query parameters
curl "http://localhost:3000/search?q=javascript&category=books"

# Performance testing for advanced challenges
node --prof your-algorithm.js

Pro Tips

  • Sequential Learning - Challenges are numbered for a reason - follow the sequence
  • Read Carefully - Each challenge file contains detailed instructions and examples
  • Test Thoroughly - Use the provided example outputs to verify your solutions
  • Experiment - Don't hesitate to try different approaches and learn from mistakes
  • Check Updates - New challenges are added regularly, so watch this repository
  • Practice Regularly - Consistent practice is key to mastering these concepts

Automatic Updates

This README automatically reflects new challenge files as they're added to the directories. When new files are added:

  1. They automatically appear in the Available Challenges table
  2. The learning path recommendations expand accordingly
  3. No manual updates needed to the README

Contributing

We welcome contributions! Here's how you can help -

  1. Fork the repository
  2. Create a new challenge file following the naming convention - NUM-descriptive-name-challenges.md
  3. Add comprehensive challenges with examples and expected outputs
  4. Submit a Pull Request

Challenge File Guidelines -

  • Use consistent numbering (06-, 07-, etc.)
  • Include clear learning objectives
  • Provide example inputs and outputs
  • Follow the existing structure and formatting
  • Add difficulty level indicators (🟢 Beginner, 🟡 Intermediate, 🔴 Advanced)

Need Help?

If you get stuck on any challenge -

  1. Review the Basics - Ensure you understand previous challenges
  2. Check Examples - Each challenge includes detailed example outputs
  3. Break It Down - Solve smaller parts of the problem first
  4. Use Documentation - Refer to official JavaScript, Node.js and Express.js docs
  5. Community Support - Check issues and discussions for similar questions

Remember - Every expert was once a beginner. Take your time, practice consistently, and don't hesitate to revisit earlier challenges!


Ready to Begin Your Journey?

Start with JavaScript fundamentals:
01-basic-javascript-challenges.md

Then move to Node.js:
01-beginner-express-challenges.md

Check back regularly for new challenges and updates!


More challenges coming soon!

About

A comprehensive collection of coding questions and exercises for JavaScript and Node.js developers from beginner to advanced level.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published