w3resource

Daily Coding Challenges & Projects


Weekend


Frontend Mini Project Challenge

HTML, CSS, JavaScript

Challenge :

Create a Responsive Countdown Timer

Tasks :

  • Let users set a future date/time.
  • Display a live countdown (days, hours, minutes, seconds).
  • Auto-stop when countdown hits zero.

Bonus : Add sound notification and dark/light toggle.

Backend Challenge

Scala, R, Swift, TypeScript

Scala :

Problem : Build a simple in-memory key-value store with GET, SET, and DELETE operations via CLI input.

Bonus: Add expiration support for keys.


R :

Problem : Write a script to load a CSV dataset, summarize columns (mean, median, mode), and export results to a new CSV.

Bonus: Add visualization using ggplot2.


Swift (Server-side with Vapor) :

Problem : Create a REST API with a single route /convert that converts Fahrenheit to Celsius.

Bonus: Add unit tests using XCTest.


TypeScript (Node.js with TS) :

Problem : Build a simple Express server that returns random quotes from a static list.

Bonus: Store and retrieve quotes using a file-based store (JSON file).

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a query to list all employees who do not manage any department.
  2. Write a SQL query to find the top 5 departments with the highest average salary.

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem : Find the first non-repeating character in a string.
    • Hint :Use a hash map to count characters.
  • Medium:
    • Problem : Rotate a matrix (2D array) by 90 degrees clockwise in-place.
    • Hint :Use transpose and reverse operations.
  • Hard:
    • Problem : Implement a Least Recently Used (LRU) Cache.
    • Hint :Use a combination of HashMap and Doubly Linked List.

Bug of the Day

Scala, R, Swift, TypeScript

Language : Swift

    Buggy Code:

    
    let a = "10"
    let b = 5
    let result = a + b
    print("Result is \(result)")
    

Challenge : Fix the type error and correctly print the result as an integer addition.

📋 Daily Micro-Project

Backend Focus :

Project :

Build a REST API to manage tasks (CRUD)

Tech Stack: Node.js (Express) / TypeScript

Endpoints:

  • GET /tasks
  • POST /tasks
  • PUT /tasks/:id
  • DELETE /tasks/:id

Bonus : Add in-memory filtering and basic validation.

Trivia: 5 Fun Facts

  1. The first programming language ever created was Plankalkül, developed by Konrad Zuse in the 1940s.
  2. Python was named after the comedy group Monty Python, not the snake.
  3. The first computer virus was created in 1986 and was called Brain.
  4. GitHub was launched in 2008 and Microsoft acquired it in 2018.
  5. The original name of JavaScript was Mocha, then LiveScript, before settling on its current name.

Tool & Resource of the Day

Tool : DBeaver

A powerful universal database management tool for developers, admins, and analysts.

Resource Roundup :

  • Awesome Node.js Repo
  • Free eBook: TypeScript Handbook – TypeScript Docs
  • Cheat Sheet: Vue 3 Composition API Cheat Sheet

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What are controlled and uncontrolled components in React?
    2. Explain event modifiers in Vue.js.
    3. What is the difference between em, rem, and % in CSS?
    4. Describe how reactivity works in Vue 3 with Composition API.
    Backend :
    1. What is the difference between concurrency and parallelism?
    2. How do you handle file uploads in Node.js?
    3. How is memory managed in Swift?
    4. What is a goroutine in Go?
    Database ( SQL ) :
    1. What is a foreign key, and why is it important?
    2. What’s the difference between a clustered and a non-clustered index?
    3. Explain ACID properties with real-world examples.
    Others :
    1. What is a container orchestration tool? Give examples
    2. What’s the difference between CI and CD in DevOps?

Daily Quiz Challenge

    Frontend Quiz :

    1. What does z-index control in CSS?
    2. Which Vue directive is used for conditional rendering?
    3. Identify the output:
      • console.log(0.1 + 0.2 === 0.3);
        

    Backend Quiz :

    1. What’s the default port of MySQL?
    2. Which keyword is used in Go to create a goroutine?
    3. What is the use of async and await in JavaScript?

    Others :

    1. What is the purpose of HAVING in SQL?
    2. What is the command to list all running Docker containers?

    Mixed Quiz :

    1. What is a closure in JavaScript?
    2. What is the difference between INNER JOIN and LEFT JOIN?
    3. What does pip install do in Python?

Weekly Cross-Domain Activities ( June 20 to June 26, 2025 )

API of the Day:

Task : Integrate the News API to fetch top headlines based on user-selected categories.

Bonus :Add search and filter by country or keyword.


Linux/DevOps Tip :

Title : Monitor Server Resources

Commands :

  • top – Live process monitoring
  • df -h – Disk space usage
  • free -m – Memory usage
  • uptime – Server load
  • lsof – Open files

Real-World Project of the Week ( June 20 to June 26, 2025 )

Project of the Week:

Build a Resume Builder Web App

  • Tech Stack: HTML, CSS, JavaScript (React optional)
  • Features: Section-wise input (Education, Experience, Skills), Live Preview, Download as PDF

Collaborative Project:

Idea : Open-source a Daily Code Challenge Tracker

  • Use GitHub Projects or issues to track challenges.
  • Allow contributors to submit PRs for daily code solutions.

Case Study:

How Netflix Handles Streaming at Scale

  • Topics: CDN, Microservices, Chaos Engineering
  • Activity: Recreate a mini Netflix UI with static video thumbnails and categories using React or Vue.

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



Follow us on Facebook and Twitter for latest update.