w3resource

Daily Coding Challenges & Projects


Wednesday


Frontend Mini Project Challenge

Focus : Vue.js Components

Small Challenge 1 — Vue.js Components :

Challenge

Create a Vue.js component <CountdownTimer> that takes a prop start (number of seconds) and counts down to 0. When the timer reaches 0, emit an event "finished".

Requirements :

  • Use props
  • Use data() for state
  • Use mounted() for starting countdown
  • Use $emit('finished') when completed

Playground Hint :

Users can test it on :

  • Vue SFC Playground
  • CodeSandbox (Vue template)

Backend Challenge

Focus : Python, PHP

Python Challenge :

Write a Python function to detect circular references in a linked list without using extra memory.

Input : Head of a singly linked list

Output : True/False depending on cycle presence (Floyd’s algorithm expected)

PHP Challenge :

Create a PHP script that reads a 2GB CSV file line by line and calculates the sum of values in a given column without loading the entire file into memory.

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a query to list all employees whose manager is located in a different department.
  2. Write a query to display employees who have never received a salary increase (i.e., their salary equals their minimum salary recorded in job history).

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem : Given an array of integers, return true if it contains two numbers whose difference is exactly k.
    • Hint :Try using a set to check (num + k) or (num – k) efficiently.
  • Medium:
    • Problem : Implement a function to check if a binary tree is height-balanced.
    • Hint :Compute heights bottom-up and return -1 early if imbalance detected.
  • Hard:
    • Problem : Design a data structure supporting:
      • Insert number
      • Delete number
      • Get median anytime
    • Hint :Think: two heaps + lazy deletion mechanism

Bug of the Day

Focus : Python, PHP

    Buggy Code ( Python ) :

    
    items = ["a", "b", "c"]
    for i in range(len(items)):
        items.remove(items[i])
    print(items)
    
    

Challenge : What is wrong? Fix it.


    Buggy Code ( PHP ) :

    
    <?php
    $value = $_POST['amount'];
    if($value = 100){
        echo "Approved";
    } else {
        echo "Denied";
    }
    ?>
    
    

Challenge : Find and fix the logic error

📋 Daily Micro-Project

Focus : Database

Task :

Optimize a slow HR database query that performs:

SELECT * FROM employees WHERE LOWER(last_name) LIKE '%son%';

Goal :

Rewrite using:

  • Function-based index
  • Full text search (if supported)
  • Or query rewrite

Trivia: 5 Fun Facts

  1. The first computer bug was an actual moth stuck in the Harvard Mark II relay.
  2. Python is named after Monty Python, not the snake.
  3. The first 1GB hard disk in 1980 cost $40,000.
  4. Java was originally called Oak.
  5. Git’s name comes from a British slang meaning “unpleasant person”, humorously chosen by Linus Torvalds.

Tool & Resource of the Day

Tool : Postman

A powerful tool for testing APIs, automating calls, saving collections, and generating API documentation.

Resource Roundup (API Testing Special) :

  • Postman Learning Center (free)
  • REST API cheat sheets
  • Free JSON placeholder APIs for practice
  • Postman collections for beginners

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the purpose of Vue.js v-model and how does it work?
    2. Explain the difference between Vue.js methods and computed properties.
    3. What are Vue.js lifecycle hooks? Name at least 3.
    4. How does virtual DOM diffing improve performance?
    Backend :
    1. How does Python manage memory allocation internally?
    2. Explain PHP’s request-response lifecycle.
    3. What is multithreading in Python, and why is GIL important?
    4. How does PHP handle sessions on the server?
    Database :
    1. What is a composite index, and when should you use one?
    2. Difference between clustered and non-clustered indexes?
    3. How does a database optimizer decide which index to use?
    Others :
    1. What is a kernel in an OS, and what does it do?
    2. What is continuous integration? Give an example tool.

Daily Quiz Challenge

    Frontend CSS ) :

    1. What is the correct syntax for a Vue.js data property?
    2. What does v-bind do?
    3. What is emitted by a custom Vue component?

    Backend ( Java / Kotlin ) :

    1. What is the output of print(type(lambda x: x)) in Python?
    2. Which PHP function reads a file line by line?
    3. What is a Python decorator used for?

    Database :

    1. Which SQL keyword is used to remove duplicates?

    Other :

    1. What command in Linux shows running processes?

    Mixed Quiz :

    1. Vue.js: What does v-for do?
    2. Python: What does *args represent?
    3. SQL: What is the purpose of GROUP BY?

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  22-11-2025  24-11-2025  25-11-2025



Follow us on Facebook and Twitter for latest update.