Daily Coding Challenges & Projects
Thursday
Frontend Mini Project Challenge
Theme : React Hooks & State Management
Small Challenge : React Hooks & State Management
Create a React component that tracks the number of times two buttons are clicked:
- Button A Click Count
- Button B Click Count
Requirements :
- Use useState() hook
- Display a total click count computed from both
- Prevent total count from updating directly (derived state only)
Try Online :Provide this challenge on CodeSandbox, StackBlitz, or your embedded editor.
Backend Challenge
Language Focus : Node.js (JavaScript) & Go
Node.js Challenge :
Problem : Write a Node.js + Express endpoint /reverse-text that:
- Accepts JSON: { "text": "hello world" }
- Returns reversed text: { "result": "dlrow olleh" }
- Must validate that input is a non-empty string
- If invalid → return 400 Bad Request
Go Challenge :
Problem : Write a Go function that reads a large CSV file line by line and prints only lines where the first column contains more than 10 characters.
Do NOT load the entire file into memory.
Database Query Challenge
Problems on SQL - HR Database :
- Find employees who were hired in the last 6 months.
- Write a query to display employees who earn more than the average salary of their department.
Data Structures & Algorithms Challenge
- Easy :
- Problem : Return the index of the first non-repeating character in a string.
- Hint : Use a hashmap (frequency count) → second pass to find the first unique.
- Medium :
- Problem : Given a rotated sorted array (e.g. [4,5,6,7,0,1,2]), search for a target in O(log n) time.
- Hint : Binary search + determine which half is sorted.
- Hard :
- Problem : Given an array of integers, find the longest increasing subsequence (LIS) in O(n log n).
- Hint : Use a dynamic tail array + binary search.
If none exists, return -1.
Bug of the Day
Language Focus : Node.js (JavaScript) & Go
Buggy Code ( Node.js ) :
const fs = require('fs');
fs.readFile('./data.txt', 'utf8', (data, err) => {
if (err) {
console.log("Error:", err);
}
console.log(data);
});
Challenge : Find & fix the bug.
Buggy Code ( Go ) :
package main
import "fmt"
func main() {
nums := []int{1, 2, 3}
for i, val := range nums {
if val == 2 {
nums = append(nums, 4)
}
fmt.Println(i, val)
}
}
Challenge : Find the bug and fix it.
📋 Daily Micro-Project
Focus : Frontend
Task :
Build a React toast notification component that:
- Fades in
- Auto-hides after 3 seconds
- Uses useState + useEffect
- Allows multiple stacked notifications
Trivia: 5 Fun Facts
- React was initially created by Jordan Walke, a software engineer at Facebook.
- Go (Golang) was created at Google by Robert Griesemer, Rob Pike, and Ken Thompson.
- Node.js was invented in 2009 by Ryan Dahl.
- The first SQL language prototype was developed at IBM in the early 1970s.
- The term “frontend” only became widely used in the mid-2000s after JavaScript became capable of dynamic interaction.
Tool & Resource of the Day
Tool : Vite
Fastest frontend build tool for Vue, React, and Vanilla JS.
Resource Roundup ( Vue.js ) :
- React Hooks Cheatsheet
- React Patterns Guide
- State Management in React (Free eBook)
- Go Concurrency Cheatsheet
Interview Question of the Day
Daily Interview Questions
-
Frontend :
- What problem does React's useMemo() solve?
- Explain controlled vs uncontrolled components in React.
- How does React's reconciliation algorithm work?
- What is the purpose of the useReducer hook?
-
Backend :
- Explain middleware in Express.js.
- What is Go’s goroutine scheduler?
- How does event-driven architecture work in Node.js?
- What is the difference between cluster mode and worker threads in Node.js?
- Why is indexing helpful in large tables?
- Explain the difference between a composite key and a primary key.
- What is referential integrity?
- What is a load balancer?
- What is the difference between process-level and thread-level parallelism?
Daily Quiz Challenge
- What does useCallback() return?
- What will happen if you update state inside useEffect without dependencies?
- Which hook is best for complex state transitions?
Frontend :
- What is the default port for Node.js Express apps?
- Which Go keyword starts a new goroutine?
- What is Express.js primarily used for?
Backend :
- Database : What does the SQL HAVING clause do?
- Other : What is the function of a reverse proxy?
Other :
Weekly Cross-Domain Activities ( November 28 to December 04, 2025 )
API of the Day:
Use the Currency Exchange API to convert an amount between currencies.
Linux / DevOps Tip :
Run server health check :
top htop df -h du -sh * free -m uptime journalctl -xe systemctl status <service>
Real-World Project of the Week ( November 28 to December 04, 2025 )
Project of the Week:
Build a URL shortener app ( frontend + backend + database ).
Collaborative Project :
Join an open-source project:
“Awesome-DSA-Practice”
(Create algorithms + solutions in multiple languages.)
Case Study :
Analyze how Spotify recommendation engine works.
Users replicate the feature using:
- Cosine similarity
- TF-IDF
- Collaborative filtering
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 26-11-2025 28-11-2025 01-12-2025 02-12-2025 03-12-2025
