w3resource

Daily Coding Challenges & Projects


Weekend


Frontend Mini Project Challenge

Theme : Mini Frontend Projects

Challenge :

Build a "Dark Mode + High-Contrast Mode" Toggle Component

Your mini challenge is to create a tiny UI widget with three modes:

  1. Light Mode
  2. Dark Mode
  3. High Contrast Mode (black background, yellow text)

Requirements :

  • Use JavaScript OR React OR Vue (your choice)
  • Store the theme in localStorage
  • Make transitions smooth using CSS

Bonus : Show icons for each mode

Backend Challenge

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

Scala Challenge :

Write a Scala function that loads a CSV file and returns the top 5 rows with missing values, sorted by the number of missing columns.

R Challenge :

Create an R script that :

  • Reads a large dataset using data.table::fread()
  • Computes column-wise summary stats
  • Writes results to a new CSV
  • Must complete under 1 second for 1M rows (simulated)

Swift Backend Challenge (Vapor) :

Build a Vapor route:

GET /users/search?name=<string>

It should:

  • Query a PostgreSQL table users
  • Return users where name contains the substring (case-insensitive)
  • Respond in JSON

TypeScript (Node.js) Challenge :

Create an Express + TypeScript middleware that:

  • Logs request method, URL, and response time
  • Uses generics for type-safe request logging

Database Query Challenge

Problems on SQL - HR Database :

  1. Find employees who changed departments at least once, along with the count of department changes.
  2. Find the top 3 highest-paid employees in each department using window functions.

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem : Given an array of integers, return true if any value appears at least twice.
    • Hint :Use a set to track duplicates efficiently.
  • Medium:
    • Problem : Return the length of the longest increasing subsequence in an array.
    • Hint :Binary search can reduce the solution to O(n log n).
  • Hard:
    • Problem : Given an n × n grid with obstacles, count the number of ways to go from (0,0) to (n-1,n-1) where you may move right, down, or diagonally.
    • Hint :Use DP + consider 3 transitions per cell.

Bug of the Day

Focus : Scala, R, Swift, TypeScript

    Buggy Code ( Scala ) :

    
    val nums = List(1, 2, 3)
    println(nums.map(_ + "1"))
    
    

Expected numeric addition but produces strings. Find the fix.


    Buggy Code ( R ) :

    
    df <- data.frame(a = 1:5, b = 6:10)
    mean(df)
    
    

Mean of the entire dataframe doesn’t work. Fix it.


    Buggy Code ( Swift ) :

    
    var name: String!
    print(name.count)
    
    

Crashes at runtime. Identify the issue.


    Buggy Code ( TypeScript ) :

    
    function add(a: number, b: number): number {
      return a + b || 0;
    }
    

Fails when a + b equals 0. Fix it.

📋 Daily Micro-Project

Focus : Backend

Task :

Build a "Note-Taking REST API"

Endpoints required :

  • POST /notes – create
  • GET /notes/:id – read
  • GET /notes – list
  • PUT /notes/:id – update
  • DELETE /notes/:id – delete

Use any backend language (Scala/R/Swift/TS recommended).

Trivia: 5 Fun Facts

  1. The first computer bug was an actual moth stuck inside a relay in 1947.
  2. Python is named after Monty Python, not the snake.
  3. Git was created by Linus Torvalds in 10 days.
  4. The first 1GB hard drive (1980) weighed over 200 kg.
  5. Java was originally called Oak.

Tool & Resource of the Day

Tool : esbuild

Ultra-fast bundler and transpiler (written in Go)

Resource Roundup :

  • "The Modern JavaScript Cheatsheet" – one-stop PDF reference covering JS basics → advanced.

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the Shadow DOM and why is it useful?
    2. Explain the difference between controlled & uncontrolled components in React.
    3. How do Vue watchers differ from computed values?
    4. What triggers reflow vs repaint in the browser?
    Backend :
    1. Explain strong vs weak typing with examples.
    2. What is a coroutine (Kotlin/Scala concept)?
    3. Difference between synchronous and asynchronous I/O.
    4. What is an ORM and when should you avoid using one?
    Database :
    1. What is a clustered index?
    2. Explain ACID properties with examples.
    3. What is a CTE and when is it beneficial?
    Others :
    1. What does a reverse proxy do?
    2. How does container orchestration (Kubernetes) work at a high level?

Daily Quiz Challenge

    Frontend :

    1. What is the output of "5" - 2 in JS?
    2. Which CSS property controls stacking order?
    3. Vue: What does v-model do on a custom component?

    Backend :

    1. What does Python’s with statement manage?
    2. In C++, what does std::move() actually do?
    3. What is the difference between Node’s setTimeout() and setImmediate()?

    Database :

    1. What does the SQL ROLLUP operator do?
    2. Other :

    3. What is the latency of L1 vs L3 cache (general concept)?
    4. Mixed Quiz :

    5. Which is faster in practice: hash table lookup or binary search? Why?

Weekly Cross-Domain Activities ( November 22 to November 27, 2025 )

API of the Day:

Integrate the OpenWeatherMap API and build a small weather widget showing temperature, city, and weather icon.

Linux / DevOps Tip :

Use top, htop, and vmstat to monitor CPU, memory, and process usage live on Linux servers.

Real-World Project of the Week ( November 22 to November 27, 2025 )

Project of the Week:

Build a “Personal Finance Tracker” — Track expenses, visualize data with charts, and store in a backend DB.

Collaborative Project :

Contribute to an open-source Habit Tracker App on GitHub (Frontend: React, Backend: Node.js).

Case Study :

Study how Spotify’s recommendation system works — replicate a mini version using a dataset and cosine similarity.


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



Follow us on Facebook and Twitter for latest update.