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:
- Light Mode
- Dark Mode
- 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 :
- Find employees who changed departments at least once, along with the count of department changes.
- Find the top 3 highest-paid employees in each department using window functions.
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
- The first computer bug was an actual moth stuck inside a relay in 1947.
- Python is named after Monty Python, not the snake.
- Git was created by Linus Torvalds in 10 days.
- The first 1GB hard drive (1980) weighed over 200 kg.
- 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 :
- What is the Shadow DOM and why is it useful?
- Explain the difference between controlled & uncontrolled components in React.
- How do Vue watchers differ from computed values?
- What triggers reflow vs repaint in the browser?
-
Backend :
- Explain strong vs weak typing with examples.
- What is a coroutine (Kotlin/Scala concept)?
- Difference between synchronous and asynchronous I/O.
- What is an ORM and when should you avoid using one?
- What is a clustered index?
- Explain ACID properties with examples.
- What is a CTE and when is it beneficial?
- What does a reverse proxy do?
- How does container orchestration (Kubernetes) work at a high level?
Daily Quiz Challenge
- What is the output of "5" - 2 in JS?
- Which CSS property controls stacking order?
- Vue: What does v-model do on a custom component?
Frontend :
- What does Python’s with statement manage?
- In C++, what does std::move() actually do?
- What is the difference between Node’s setTimeout() and setImmediate()?
Backend :
- What does the SQL ROLLUP operator do?
- What is the latency of L1 vs L3 cache (general concept)?
- Which is faster in practice: hash table lookup or binary search? Why?
Database :
Other :
Mixed Quiz :
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
