w3resource

Daily Coding Challenges & Projects


Thursday


Frontend Mini Project Challenge

Theme : React Hooks & State Management

Challenge :

Build a React counter app using Hooks.

  • Add + and – buttons to increase/decrease the counter.
  • Use useState to track count.

Bonus :Add a button to reset the counter and another to double the current count.

Playground :Use CodeSandbox or StackBlitz

Backend Challenge

Category : Node.js, Go

Challenge :

Node.js :Create an Express.js API endpoint /users/:id that fetches user details from a mock array. Return 404 if the user is not found.

Go : Write a Go program that starts an HTTP server on port 8080. Create an endpoint /hello that responds with "Hello, Go Server!".

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a query to find employees who earn more than their manager.
  2. Write a query to get the second highest salary in each department.

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem :Reverse a string without using built-in reverse functions.
    • Hint :Convert to array, swap from ends.
  • Medium:
    • Problem : Implement a queue using two stacks.
    • Hint :Push into stack1, pop from stack2 when empty, transfer elements.
  • Hard:
    • Problem :Solve the Word Ladder Problem (minimum transformations from start word to end word).
    • Hint :Use BFS and dictionary-based adjacency.

Bug of the Day

Language : Node.js, Go

    Buggy Code ( Node.js ):

    
    const express = require('express');
    const app = express();
    
    app.get('/user/:id', (req, res) => {
        let id = req.params.id;
        if(id = 10) {
            res.send("User found");
        } else {
            res.send("User not found");
        }
    });
    app.listen(3000, () => console.log("Server running"));
    

Challenge :Why does it always return "User found"? How can you fix it?

📋 Daily Micro-Project

Type : Frontend

Task :

Build a React “dark mode toggle” button that switches between light and dark themes using useState.

Bonus : Persist preference in localStorage.

Trivia: 5 Fun Facts

  1. React was created by Jordan Walke at Facebook in 2013.
  2. Node.js uses the V8 JavaScript engine, the same as Chrome.
  3. Go was created at Google by Robert Griesemer, Rob Pike, and Ken Thompson.
  4. SQL was initially called SEQUEL (Structured English Query Language).
  5. JavaScript’s original name was Mocha, later renamed to LiveScript, then JavaScript.

Tool & Resource of the Day

Tool : Insomnia

Use : A modern API client for REST, GraphQL, and gRPC

Resource Roundup :

  • FreeCodeCamp tutorial: API testing with Insomnia
  • Official Insomnia Docs
  • REST API best practices (Microsoft Docs)

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the difference between controlled and uncontrolled components in React?
    2. Explain the purpose of useEffect hook.
    3. What are React keys and why are they important?
    4. How does context API help in state management?
    Backend :
    1. Explain the difference between callback, promise, and async/await in Node.js.
    2. How does Go handle concurrency?
    3. What is the event loop in Node.js?
    4. Explain middleware in Express.js
    Database :
    1. What is normalization? Why is it important?
    2. Explain the difference between primary key and unique key.
    3. What is a database view, and how is it different from a table?
    Others :
    1. What is the CAP theorem in distributed systems?
    2. Explain the difference between monolithic and microservices architecture.

Daily Quiz Challenge

    Frontend :

    1. In React, what hook is used to manage state?
      • useContext
      • useState
      • useEffect
      • useReducer
    2. Which of the following is NOT true about React keys?
      • Keys help React identify elements.
      • Keys should be unique among siblings.
      • Index of array is always the best key.
      • Keys improve re-render efficiency.
    3. What will happen if you call useState inside a loop?
      • It will work fine.
      • It will throw an error.
      • It is discouraged because hooks must be called in the same order.
      • It automatically optimizes rendering.

    Backend :

    1. Which function is used to create a new server in Node.js core HTTP module?
      • http.start()
      • http.createServer()
      • server.listen()
      • express()
    2. In Go, what keyword is used to run a function concurrently?
      • async
      • defer
      • goroutine
      • go
    3. What does npm init do?
      • Installs dependencies
      • Initializes a new Node.js project with package.json
      • Starts a Node.js server
      • Compiles JavaScript

    Mixed :

    1. Database : Which SQL function is used to get the total number of rows in a table?
      • COUNT()
      • SUM()
      • TOTAL()
      • LENGTH()
    2. Other :Who created Go programming language?
      • James Gosling
      • Rob Pike, Ken Thompson, Robert Griesemer
      • Brendan Eich
      • Guido van Rossum

Weekly Cross-Domain Activities ( August 15 to August 21, 2025 )

API of the Day:

Build a currency converter using the ExchangeRate API

Real-World Project of the Week ( August 15 to August 21, 2025 )

Project of the Week:

Idea : Build a personal expense tracker

  • Frontend : React + Tailwind CSS
  • Backend : Node.js + Express + MongoDB
  • Features : Add, edit, delete expenses; filter by date and category; show monthly summaries.

Previous Daily Coding Challenges & Projects : 04-04-2025   07-04-2025  08-04-2025  09-04-2025  10-04-2025  11-04-2025  14-04-2025  15-04-2025  16-04-2025  17-04-2025  18-04-2025  21-04-2025  22-04-2025  23-04-2025  24-04-2025  25-04-2025  28-04-2025  29-04-2025  30-04-2025  01-05-2025  02-05-2025  05-05-2025  06-05-2025  07-05-2025  08-05-2025  09-05-2025  12-05-2025  13-05-2025  14-05-2025  15-05-2025  16-05-2025  19-05-2025  20-05-2025  21-05-2025  22-05-2025  23-05-2025  26-05-2025  27-05-2025  29-05-2025  30-05-2025  02-06-2025  03-06-2025  04-06-2025  05-06-2025  06-06-2025  09-06-2025  10-06-2025  11-06-2025  12-06-2025  13-06-2025  16-06-2025  17-06-2025  18-06-2025  19-06-2025  20-06-2025  23-06-2025  24-06-2025  25-06-2025  26-06-2025  27-06-2025  30-06-2025  01-07-2025  02-07-2025  03-07-2025  04-07-2025  07-07-2025  08-07-2025  09-07-2025  10-07-2025  11-07-2025  14-07-2025  15-07-2025  16-07-2025  17-07-2025  18-07-2025  21-07-2025  22-07-2025  23-07-2025  24-07-2025  25-07-2025  28-07-2025  29-07-2025  05-08-2025  06-08-2025  07-08-2025  11-08-2025  12-08-2025  13-08-2025  14-08-2025  15-08-2025  18-08-2025  19-08-2025  20-08-2025



Follow us on Facebook and Twitter for latest update.