w3resource

Daily Coding Challenges & Projects


Tuesday


Frontend Mini Project Challenge

TypeScript

Project :

Build a Currency Converter App

Requirements :

  • Fetch exchange rates using an API (e.g., exchangerate.host)
  • Use TypeScript for strict type safety.
  • Allow the user to input an amount, select from/to currencies.
  • Show real-time conversion result.
  • Include error handling for API/network failures.

Backend Challenge

Rust & Ruby

Rust Task : Create a REST API for a Book Collection

  • Use actix-web or rocket to create endpoints:
    • GET /books
    • POST /books
    • GET /books/:id
    • DELETE /books/:id
  • Store books in-memory using Mutex<Vec<Book>>.

Ruby Task: CLI Weather App

  • Use the httparty gem to fetch weather data from weatherapi.com.
  • Ask user for a city name and display current weather info.
  • GET /books/:id
  • Display errors if city is not found.

Database Query Challenge

Problems on SQL - HR Database :

  1. Find all employees who earn more than the average salary of their department. Show employee_id, name, salary, and department_id.
  2. List all departments where the total salary expense exceeds $1,000,000. Show department_id and total_salary. Structure of HR database :

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem : Find Duplicates in an Array
    • Hint : Given an integer array of size n where elements range from 0 to n-1, find all duplicates.
  • Medium:
    • Problem : Group Anagrams
    • Hint : Group words that are anagrams of each other using hashing or sorting.
  • Hard:
    • Problem : Maximum Sum Rectangle in a 2D Matrix
    • Hint : Find the maximum sum submatrix (rectangle) in a 2D matrix of integers.

Bug of the Day

Rust & Ruby

Rust Bug :

    Buggy Code:

    
    fn main() {
        let s = String::from("hello");
        let r1 = &s;
        let r2 = &mut s; // � Error
        println!("{}, {}", r1, r2);
    }
    

Challenge : Fix the borrow checker error.


Ruby Bug :

    Buggy Code:

    
    def greet(name = "Guest")
      puts "Hello, " + name
    end
    
    greet(nil)  # � Bug here
    

Challenge : Handle nil input without throwing an error.


📋 Daily Micro-Project

Database Focus :

Micro-Project :

Project: Build an Employee Search Dashboard (SQL + HTML)

Functionality :

  • Allow search by employee name, department, or job title.
  • Use SQL LIKE, JOIN, and ORDER BY.
  • Highlight results dynamically using JS (optional).

Trivia: 5 Fun Facts

  1. Ruby was created in Japan by Yukihiro Matsumoto and released in 1995.
  2. Rust was voted “most loved language” on Stack Overflow 6 years in a row (2016–2021).
  3. TypeScript is maintained by Microsoft and is a superset of JavaScript.
  4. The first relational database system was System R by IBM in the 1970s.
  5. Fun Fact: The longest valid variable name in Rust is 2⁶⁴ characters — though it’ll crash your memory before that.

Tool & Resource of the Day

Tool : DBeaver

Link : DBeaver

Universal database client with powerful SQL editing and ER diagramming.

Resource :

  • TypeScript Deep Dive by Basarat — a comprehensive and free TS guide.

Interview Question of the Day

Daily Interview Questions

    Frontend ( TypeScript ) :
    1. What is the difference between interface and type in TypeScript?
    2. How does TypeScript perform structural typing?
    3. Explain how enums work in TypeScript.
    4. How can you handle optional chaining and nullish coalescing?
    Backend ( Rust & Ruby ) :
      Rust :
      1. What are lifetimes and how do they prevent dangling references?
      2. Explain ownership, borrowing, and the difference between &T and &mut T.

      Ruby :
      1. What is the difference between a block, proc, and lambda in Ruby?
      2. How does Ruby handle garbage collection?
    Database :
    1. What is a correlated subquery?
    2. How does HAVING differ from WHERE in SQL?
    3. Explain the purpose and use of WITH ROLLUP.
    Others :
    1. What's the difference between ACID and BASE in database systems?
    2. How does event-driven architecture differ from message queues?

Daily Quiz Challenge

    Frontend Quiz ( TypeScript ) :

    1. What is the output of:
      • type X = { a: number }; 
        type Y = { b: number };
        type Z = X & Y;
        
        
      • Union type
      • Intersection type
      • Syntax error
      • None
    2. What’s the correct way to define a function that returns never?
      • function fail(): void
      • function fail(): never
      • function fail(): any
      • function fail(): null
    3. Which keyword ensures strict type-checking in tsconfig?
      • "strict": true
      • "types": "strict"
      • "typeCheck": true
      • "safeMode": true

    Backend Quiz ( Rust & Ruby ) :

    1. In Rust, what is the result of using unwrap() on a None value?
      • Returns null
      • Panics at runtime
      • Returns default
      • Compile-time error
    2. In Ruby, which of the following is true about symbols?
      • They are mutable
      • They are garbage-collected
      • They are reused in memory
      • They are slower than strings
    3. What does cargo build --release do in Rust?
      • Builds with debug info
      • Builds without optimizations
      • Builds with optimizations
      • Runs tests

    Database :

    1. What is the default isolation level in most RDBMS?
      • Serializable
      • Read Uncommitted
      • Read Committed
      • Repeatable Read

    Others :

    1. Which HTTP method is idempotent?
      • POST
      • PUT
      • PATCH
      • CONNECT

Weekly Cross-Domain Activities ( May 23 to May 29, 2025 )

API of the Day:

Project: Build a news feed using the NewsAPI.

  • Endpoint: https://newsapi.org/v2/top-headlines?country=us
  • Display the title, image, and description of each article.

Linux/DevOps Tip :

10 Useful Commands for Monitoring Server Health:

  • top, htop, iotop, vmstat, netstat, free -m, df -h, uptime, iostat, dstat

Real-World Project of the Week ( May 23 to May 29, 2025 )

Project of the Week:

    Build a "Remote Job Board" with React (Frontend), Node.js (Backend), PostgreSQL (Database).


Collaborative Project:

Contribute to Public APIs GitHub Repo – Add new APIs with proper documentation.

Case Study:

  • Analyze how Trello uses drag-and-drop + real-time sync.
  • Rebuild a Trello-style kanban board with Vue.js or React + Firebase.

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



Follow us on Facebook and Twitter for latest update.