w3resource

Daily Coding Challenges & Projects


Weekend


Frontend Mini Project Challenge

Implement a Dark Mode Toggle using HTML, CSS, and JavaScript.

Objective :

Create a responsive UI that allows users to switch between light and dark themes seamlessly.

Resources :

Backend Challenge

Language Focus : Scala, R, Swift ( Vapor ), TypeScript (Node.js with TS)

Challenges :

  • Scala: Write a function to group a list of strings by their starting letter.

  • R: Create a script that reads a CSV file of user data, filters users aged over 25, and visualizes the age distribution using ggplot2.

  • Swift (Vapor): Build a basic Vapor route that returns a JSON response: { "message": "Hello from Swift backend!" }.

  • TypeScript (Node.js + Express): Develop a REST API endpoint that fetches user data from MongoDB.w3resource

Reference :

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a SQL query to find employees who joined in the last 3 months.
  2. Write a SQL query to find employees who have not received a salary increase in the last 2 years.
Structure of HR database :

HR database



Reference :

  • YouTube: SQL Query | How to find employees hired in last n months

Data Structures & Algorithms Challenge

  • Easy:
    • Problem: Implement a function to reverse a string.
    • Hint: Use slicing or a loop to iterate over the string in reverse.
  • Medium:
    • Problem: Design a function to check if a linked list has a cycle.
    • Hint: Use two pointers moving at different speeds (Floyd’s Tortoise and Hare algorithm).
  • Hard:
    • Problem: Implement a trie (prefix tree) with insert, search, and startsWith methods.
    • Hint: Each node should contain a map of child nodes and a boolean flag indicating the end of a word.

Bug of the Day

Language Focus: TypeScript ( Node.js with TS )

    Buggy Code:

    
    function greet(name: string) {
      return "Hello, " + name;
    }
    
    const user = null;
    console.log(greet(user));
    
    

Challenge :

Identify and fix the issue to handle cases where user might be null or undefined.

📋 Daily Micro-Project

Backend :

Challenge :

Create a CRUD API endpoint in 30 minutes using Node.js and Express

Objective :

Develop endpoints to Create, Read, Update, and Delete user data.

Resource :

  • freeCodeCamp: How to Create a CRUD API – NodeJS and Express Project

Trivia: 5 Fun Facts

  1. Who created the Linux operating system?
  2. What does the acronym SQL stand for?
  3. Which programming language is known for its use in statistical computing and graphics?
  4. What is the primary function of the git command in version control?
  5. Which company developed the Swift programming language?

Tool of the Day

Tool : Cypress

    A JavaScript End-to-End Testing Framework

Resource Roundup:

  • Cypress Ambassador Spotlight: Joydeep Das

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the difference between null and undefined in JavaScript?
    2. Explain how the event delegation pattern works in JavaScript.
    3. How does the Virtual DOM work in React, and why is it useful?
    4. What are the key differences between Vue.js computed properties and watchers?
    Backend :
    1. Explain the difference between synchronous and asynchronous programming in Node.js.
    2. What is the difference between a thread and a process?
    3. How does memory management work in Python?
    4. Explain how a RESTful API differs from GraphQL.
    Database :
    1. What is the difference between INNER JOIN and LEFT JOIN in SQL?
    2. How does indexing improve query performance in databases?
    3. What is the difference between NoSQL and SQL databases?
    Others :
    1. What are system calls in an operating system? Provide an example.
    2. What is containerization, and how does Docker help in deployment?

Daily Quiz Challenge

    Frontend :

    1. What is the output of console.log([] + []); in JavaScript?
    2. How do you create a CSS-only accordion?
    3. What does the defer attribute do in a script tag?

    Backend :

    1. How does TypeScript handle interfaces differently from Java?
    2. What is the difference between let and var in Swift?
    3. Explain tail recursion in Scala.

    Others :

    1. Which SQL clause is used to filter grouped rows?
    2. Identify the correct syntax for a Python lambda function.

Weekly Cross-Domain Activities ( May 09 to May 15, 2025 )

API of the Day:

NASA Astronomy Picture of the Day (APOD) — Use NASA's APOD API to fetch the image or video of the day along with its description, and display it in a simple UI.

Challenge :

Build a gallery-style viewer where users can:

  • See today’s image
  • Browse previous days using a calendar or buttons
  • Read accompanying explanations

Resource:

Linux/DevOps Tip :

Monitor disk I/O and performance using iotop, sar, and glances

Commands to Explore :

  • iotop – Monitor real-time I/O usage by processes
  • sar – Collect, report, or save system activity information
  • glances – A cross-platform monitoring tool with an elegant web UI

Real-World Project of the Week ( May 09 to May 15, 2025 )

Project of the Week:

    Build a Budget Tracker Web App — Develop a web-based expense tracker where users can:

    • Add, categorize, and delete transactions
    • View monthly summaries and pie charts
    • Store data locally or connect to a backend for persistence

Tech Stack : HTML, CSS, JavaScript (with Chart.js for graphs)

Collaborative Project:

    Join the First Contributions GitHub Project — Learn how to make your first open-source pull request and contribute to beginner-friendly repositories with guided instructions.

Case Study:

    Explore Trello's Task Management UI — Analyze how Trello manages drag-and-drop task organization with React and libraries like react-beautiful-dnd.

Challenge :

Try building a minimal Kanban board with drag-and-drop cards and persistent state.


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



Follow us on Facebook and Twitter for latest update.