w3resource

Daily Coding Challenges & Projects


Thursday


Frontend Mini Project Challenge

Theme : React Hooks & State Management

Small Challenge : React Hooks & State Management

Create a React component that tracks the number of times two buttons are clicked:

  • Button A Click Count
  • Button B Click Count

Requirements :

  • Use useState() hook
  • Display a total click count computed from both
  • Prevent total count from updating directly (derived state only)

Try Online :Provide this challenge on CodeSandbox, StackBlitz, or your embedded editor.

Backend Challenge

Language Focus : Node.js (JavaScript) & Go

Node.js Challenge :

Problem : Write a Node.js + Express endpoint /reverse-text that:

  • Accepts JSON: { "text": "hello world" }
  • Returns reversed text: { "result": "dlrow olleh" }
  • Must validate that input is a non-empty string
  • If invalid → return 400 Bad Request

Go Challenge :

Problem : Write a Go function that reads a large CSV file line by line and prints only lines where the first column contains more than 10 characters.

Do NOT load the entire file into memory.

Database Query Challenge

Problems on SQL - HR Database :

  1. Find employees who were hired in the last 6 months.
  2. Write a query to display employees who earn more than the average salary of their department.

HR database



Data Structures & Algorithms Challenge

  • Easy :
    • Problem : Return the index of the first non-repeating character in a string.
    • If none exists, return -1.

    • Hint : Use a hashmap (frequency count) → second pass to find the first unique.
  • Medium :
    • Problem : Given a rotated sorted array (e.g. [4,5,6,7,0,1,2]), search for a target in O(log n) time.
    • Hint : Binary search + determine which half is sorted.
  • Hard :
    • Problem : Given an array of integers, find the longest increasing subsequence (LIS) in O(n log n).
    • Hint : Use a dynamic tail array + binary search.

Bug of the Day

Language Focus : Node.js (JavaScript) & Go

    Buggy Code ( Node.js ) :

    
    const fs = require('fs');
    
    fs.readFile('./data.txt', 'utf8', (data, err) => {
      if (err) {
        console.log("Error:", err);
      }
      console.log(data);
    });
    
    

Challenge : Find & fix the bug.


    Buggy Code ( Go ) :

    
    package main
    
    import "fmt"
    
    func main() {
        nums := []int{1, 2, 3}
        for i, val := range nums {
            if val == 2 {
                nums = append(nums, 4)
            }
            fmt.Println(i, val)
        }
    }
    
    

Challenge : Find the bug and fix it.

📋 Daily Micro-Project

Focus : Frontend

Task :

Build a React toast notification component that:

  • Fades in
  • Auto-hides after 3 seconds
  • Uses useState + useEffect
  • Allows multiple stacked notifications

Trivia: 5 Fun Facts

  1. React was initially created by Jordan Walke, a software engineer at Facebook.
  2. Go (Golang) was created at Google by Robert Griesemer, Rob Pike, and Ken Thompson.
  3. Node.js was invented in 2009 by Ryan Dahl.
  4. The first SQL language prototype was developed at IBM in the early 1970s.
  5. The term “frontend” only became widely used in the mid-2000s after JavaScript became capable of dynamic interaction.

Tool & Resource of the Day

Tool : Vite

Fastest frontend build tool for Vue, React, and Vanilla JS.

Resource Roundup ( Vue.js ) :

  • React Hooks Cheatsheet
  • React Patterns Guide
  • State Management in React (Free eBook)
  • Go Concurrency Cheatsheet

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What problem does React's useMemo() solve?
    2. Explain controlled vs uncontrolled components in React.
    3. How does React's reconciliation algorithm work?
    4. What is the purpose of the useReducer hook?
    Backend :
    1. Explain middleware in Express.js.
    2. What is Go’s goroutine scheduler?
    3. How does event-driven architecture work in Node.js?
    4. What is the difference between cluster mode and worker threads in Node.js?
    Database :
    1. Why is indexing helpful in large tables?
    2. Explain the difference between a composite key and a primary key.
    3. What is referential integrity?
    Others :
    1. What is a load balancer?
    2. What is the difference between process-level and thread-level parallelism?

Daily Quiz Challenge

    Frontend :

    1. What does useCallback() return?
    2. What will happen if you update state inside useEffect without dependencies?
    3. Which hook is best for complex state transitions?

    Backend :

    1. What is the default port for Node.js Express apps?
    2. Which Go keyword starts a new goroutine?
    3. What is Express.js primarily used for?

    Other :

    1. Database : What does the SQL HAVING clause do?
    2. Other : What is the function of a reverse proxy?

Weekly Cross-Domain Activities ( November 28 to December 04, 2025 )

API of the Day:

Use the Currency Exchange API to convert an amount between currencies.

Linux / DevOps Tip :

Run server health check :

top  
htop  
df -h  
du -sh *  
free -m  
uptime  
journalctl -xe  
systemctl status <service>

Real-World Project of the Week ( November 28 to December 04, 2025 )

Project of the Week:

Build a URL shortener app ( frontend + backend + database ).

Collaborative Project :

Join an open-source project:

“Awesome-DSA-Practice”

(Create algorithms + solutions in multiple languages.)

Case Study :

Analyze how Spotify recommendation engine works.

Users replicate the feature using:

  • Cosine similarity
  • TF-IDF
  • Collaborative filtering

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  21-08-2025  22-08-2025  25-08-2025  26-08-2025  27-08-2025  28-08-2025  29-08-2025  15-09-2025  16-09-2025  17-09-2025  19-09-2025  11-10-2025  22-11-2025  24-11-2025  25-11-2025  26-11-2025  28-11-2025  01-12-2025  02-12-2025  03-12-2025



Follow us on Facebook and Twitter for latest update.