w3resource

Daily Coding Challenges & Projects


Thursday


Frontend Mini Project Challenge

Theme : React Hooks & State Management

Task :

Build a simple React counter component using useState.

  • Include increment and decrement buttons.
  • Display a message "Count is Even" or "Count is Odd" based on the current count.

Bonus : Add a reset button to set the count back to 0.

Backend Challenge

Node.js & Go

Node.js Task :

Create an Express.js route /reverse that accepts a string as a query parameter and returns the reversed string as JSON.


Go Task :

Write a Go program to read a JSON file containing user information and print all user names.

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a SQL query to display employees who have been with the company for more than 5 years.
  2. Write a SQL query to find departments that do not have any employees assigned.

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem : Write a function to find the maximum element in an array.
    • Hint : Use a simple loop for comparison.
  • Medium:
    • Problem : Implement a queue using two stacks.
    • Hint : Use one stack for enqueue and another for dequeue operations.
  • Hard:
    • Problem : Given a binary tree, write a function to perform a zigzag (spiral) level order traversal.
    • Hint : Alternate between left-to-right and right-to-left at each level.

Bug of the Day

Node.js & Go

Node.js Bug

    Buggy Code:

    
    const express = require('express');
    const app = express();
    
    app.get('/sum', (req, res) => {
        const a = req.query.a;
        const b = req.query.b;
        res.send(`Sum is ${a + b}`);
    });
    
    app.listen(3000);
    
    

Challenge :

Find and fix the issue (sum is incorrect).


Go Bug

    Buggy Code:

    
    package main
    import "fmt"
    
    func main() {
        var numbers = []int{1, 2, 3}
        fmt.Println(numbers[3])
    }
    
    

Challenge :

Find and fix the issue.

📋 Daily Micro-Project

Frontend Focus :

Task :

Build a responsive navigation bar using HTML, CSS, and minimal JavaScript.

  • The navbar should collapse into a hamburger menu on small screens.
  • Clicking the hamburger icon toggles the menu display.

Trivia: 5 Fun Facts

  1. JavaScript was created in just 10 days by Brendan Eich.
  2. Go (Golang) was developed at Google in 2007.
  3. React was created by Jordan Walke, a Facebook engineer.
  4. JSON stands for JavaScript Object Notation.
  5. Node.js uses the V8 JavaScript engine developed by Google.

Tool & Resource of the Day

Tool : ESLint

Why : A powerful tool to analyze and fix problems in JavaScript code automatically.

Resource Roundup :

Interview Question of the Day

Daily Interview Questions

    Frontend ( React Focus ):
    1. What are React Hooks, and why are they used?
    2. Explain the difference between useState and useEffect in React.
    3. How does React handle state updates in functional components?
    4. What is prop drilling, and how can it be avoided?
    Backend ( Node.js & Go ) :
    1. What is the event loop in Node.js?
    2. How does Node.js handle asynchronous operations?
    3. What are Goroutines in Go?
    4. Explain the difference between blocking and non-blocking code.
    Database ( SQL ) :
    1. What is a primary key in SQL?
    2. Explain the difference between HAVING and WHERE clauses.
    3. How do transactions ensure data consistency?
    Others :
    1. What is the purpose of version control systems like Git?
    2. What are the differences between Docker containers and Virtual Machines?

Daily Quiz Challenge

    Frontend Quiz ( React Focus ) :

    1. Which hook is used for managing state in functional components?
      • useEffect
      • useState
      • useContext
      • useRef
    2. In React, useEffect runs:
      • After every render by default
      • Only once after mount
      • Before render
      • Never automatically
    3. Which of the following prevents prop drilling?
      • Redux
      • useState
      • useRef
      • useEffect

    Backend Quiz ( Node.js & Go ) :

    1. Node.js is built on which JavaScript engine?
      • Chakra
      • V8
      • SpiderMonkey
      • Rhino
    2. In Go, which keyword starts a new Goroutine?
      • go
      • func
      • thread
      • defer
    3. Node.js uses which model for I/O operations?
      • Blocking
      • Synchronous
      • Non-blocking, event-driven
      • Multi-threaded

    Database :

    1. Which constraint ensures uniqueness of values in a column?
      • PRIMARY KEY
      • FOREIGN KEY
      • CHECK
      • DEFAULT

    Other :

    1. What is the default port for HTTP?
      • 21
      • 25
      • 80
      • 443

Weekly Cross-Domain Activities ( June 27 to July 03, 2025 )

API of the Day:

Task : Build a real-time currency converter using the ExchangeRate API

https://www.exchangerate-api.com/

Linux/DevOps Tip :

Title : Top 5 Log Monitoring Commands: tail, grep, less, journalctl, watch

Real-World Project of the Week ( June 27 to July 03, 2025 )

Project of the Week:

Build a Book Management System with Vue.js + Node.js + PostgreSQL

Collaborative Project:

Contribute to an open-source to-do app with multi-user auth on GitHub.

Case Study:

Explore how Notion uses dynamic blocks and replicate a basic block editor.


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



Follow us on Facebook and Twitter for latest update.