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 :
- Find all employees who earn more than the average salary of their department. Show employee_id, name, salary, and department_id.
- List all departments where the total salary expense exceeds $1,000,000. Show department_id and total_salary. Structure of 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
- Ruby was created in Japan by Yukihiro Matsumoto and released in 1995.
- Rust was voted “most loved language” on Stack Overflow 6 years in a row (2016–2021).
- TypeScript is maintained by Microsoft and is a superset of JavaScript.
- The first relational database system was System R by IBM in the 1970s.
- 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
- What is the difference between interface and type in TypeScript?
- How does TypeScript perform structural typing?
- Explain how enums work in TypeScript.
- How can you handle optional chaining and nullish coalescing?
- What are lifetimes and how do they prevent dangling references?
- Explain ownership, borrowing, and the difference between &T and &mut T.
- What is the difference between a block, proc, and lambda in Ruby?
- How does Ruby handle garbage collection?
- What is a correlated subquery?
- How does HAVING differ from WHERE in SQL?
- Explain the purpose and use of WITH ROLLUP.
- What's the difference between ACID and BASE in database systems?
- How does event-driven architecture differ from message queues?
Daily Quiz Challenge
- What is the output of:
- Union type
- Intersection type
- Syntax error
- None
Frontend Quiz ( TypeScript ) :
type X = { a: number }; type Y = { b: number }; type Z = X & Y;
- function fail(): void
- function fail(): never
- function fail(): any
- function fail(): null
- "strict": true
- "types": "strict"
- "typeCheck": true
- "safeMode": true
- In Rust, what is the result of using unwrap() on a None value?
- Returns null
- Panics at runtime
- Returns default
- Compile-time error
- 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
- What does cargo build --release do in Rust?
- Builds with debug info
- Builds without optimizations
- Builds with optimizations
- Runs tests
Backend Quiz ( Rust & Ruby ) :
- What is the default isolation level in most RDBMS?
- Serializable
- Read Uncommitted
- Read Committed
- Repeatable Read
Database :
- Which HTTP method is idempotent?
- POST
- PUT
- PATCH
- CONNECT
Others :
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