w3resource

Daily Coding Challenges & Projects


Weekend


Frontend Mini Project Challenge

Theme : Mini Frontend Projects

Challenge :

Build a Weather Dashboard:

  • Use JavaScript + CSS (or Vue/React).
  • Fetch data from OpenWeatherMap API.
  • Display current temperature, weather condition, and icon.
  • Add a toggle for dark/light mode.

Backend Challenge

Focus : Scala, R, Swift, TypeScript

Scala Challenge :

Write a Scala program that:

  • Reads a list of integers.
  • Groups them into even and odd using partition.
  • Prints results.

R Challenge :

Write an R script that:

  • Reads a CSV file of employees.
  • Calculates average salary by department using aggregate().

Swift Challenge (Vapor) :

Build a simple Vapor API that:

  • GET /hello returns "Hello, Swift Backend!".
  • POST /echo echoes back the JSON body.

TypeScript (Node.js) Challenge :

Create a TypeScript Express API:

  • GET /square/:num returns the square of a number.
  • Include request validation (ensure input is a number).

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a query to list employees who have never received a promotion.
  2. Write a query to find departments where the total salary expense exceeds 1 million.

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem : Check if a string contains a permutation of another string.
    • Hint :Sliding Window
  • Medium:
    • Problem : Find the k most frequent elements in an integer array.
    • Hint :Heap / Priority Queue
  • Hard:
    • Problem : Given a 2D grid of 0 (land) and 1 (water), find the minimum number of days to disconnect the island (convert land to water so island splits).
    • Hint :DP + Graphs

Bug of the Day

Focus : Scala, R, Swift, TypeScript

    Buggy Code ( TypeScript ) :

    
    function add(a: number, b: number): number {
      return a + b;
    }
    console.log(add("5", 10));
    

Challenge : Identify and fix the bug(s).

📋 Daily Micro-Project

Focus : Backend

Task :

Build a JWT-based authentication system (in Swift Vapor / Scala Play / Node.js with TypeScript).

  • POST /login issues a JWT token.
  • GET /profile requires JWT token to access.

Trivia: 5 Fun Facts

  1. R was created in 1993 at the University of Auckland.
  2. Scala combines object-oriented and functional programming.
  3. Swift was introduced by Apple in 2014 as an alternative to Objective-C.
  4. TypeScript was created at Microsoft by Anders Hejlsberg, who also designed C#.
  5. PostgreSQL started in 1986 as "POSTGRES."

Tool & Resource of the Day

Tool : Insomnia (API client like Postman)

  • Great for testing REST and GraphQL APIs.
  • Simple and lightweight.

Resource Roundup :

  • Insomnia Docs
  • Free TypeScript course: TypeScript Handbook
  • Swift Vapor guide: Vapor Docs

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the difference between inline, inline-block, and block in CSS?
    2. Explain the difference between controlled and uncontrolled inputs in React.
    3. How does Vue.js handle two-way binding internally?
    4. What are CSS variables, and why are they useful?
    Backend :
    1. Explain immutability in Scala and why it’s useful.
    2. How does R handle vectorized operations?
    3. Explain the difference between synchronous and asynchronous APIs in Swift Vapor.
    4. What are the advantages of using TypeScript over JavaScript for backend development?
    Database :
    1. What is a materialized view in SQL?
    2. Explain database sharding and when it’s useful.
    3. What is the difference between OLAP and OLTP databases?
    Others :
    1. What are containers vs. virtual machines?
    2. What is continuous monitoring in DevOps?

Daily Quiz Challenge

    Frontend :

    1. Which CSS property is used for custom properties (variables)?
      • --var
      • $var
      • --custom
      • var()
    2. In React, which hook replaces lifecycle methods like componentDidMount?
      • useReducer
      • useEffect
      • useMemo
      • useCallback
    3. In Vue.js, which directive repeats elements?
      • v-show
      • v-bind
      • v-for
      • v-model

    Backend :

    1. Which keyword in Scala is used to define an immutable value?
      • let
      • const
      • val
      • var
    2. In R, which function reads a CSV file?
      • read.csv()
      • csv.read()
      • import.csv()
      • load.csv()
    3. Which keyword is used to declare a constant in TypeScript?
      • const
      • let
      • var
      • final

    Database :

    1. Which SQL function returns the number of rows?
      • SUM()
      • COUNT()
      • ROWS()
      • TOTAL()

      Other :

    2. Who designed the TypeScript language?
      • Brendan Eich
      • Anders Hejlsberg
      • James Gosling
      • Guido van Rossum

      Mixed Quiz :

    3. Which of the following is true?
      • Swift is not open-source.
      • TypeScript is a superset of JavaScript.
      • R cannot handle statistical operations.
      • Scala doesn’t support functional programming.

Weekly Cross-Domain Activities ( September 19 to September 25, 2025 )

API of the Day:

Use the NewsAPI to build a “Top Headlines Dashboard” with filtering by country and category.

Linux / DevOps Tip :

Run htop in Linux to monitor CPU, memory, and processes in real time.

Real-World Project of the Week ( September 19 to September 25, 2025 )

Project of the Week:

Build a Task Manager Web App (Frontend: React/Vue, Backend: Node.js/Scala, Database: PostgreSQL).

Collaborative Project :

Contribute to freeCodeCamp’s Open Source Projects on GitHub.

Case Study :

Analyze Slack’s architecture – how it handles real-time messaging and scaling – and try to replicate a mini chat app.


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  18-09-2025



Follow us on Facebook and Twitter for latest update.