Last 30 Days
No notifications
You've covered the language; now build muscle memory. This page is a curated grind-list — LeetCode + HackerRank problems organised by topic, plus four real-world project ideas (Spring Boot REST API, Android app, CLI tool, JavaFX GUI) that take you from "I know Java" to "I can ship Java."
# Practice Plan & Project Ideas
for loops, zero null.| track | difficulty | what it covers |
| Introduction | Easy | print, loops, conditionals, IO |
| Strings | Easy | StringBuilder, regex, manipulation |
| Data Structures | Easy-Med | List, Map, Stack, Queue, BitSet |
| Object Oriented | Med | inheritance, abstract, interfaces |
| Exception Handling | Easy-Med | try/catch, custom exceptions |
| Advanced | Med-Hard | reflection, generics, prepared statements |
| Functional | Med | lambdas, streams, method refs |
> Link: https://www.hackerrank.com/domains/java
Arrays / Hash: Two Sum · Best Time to Buy and Sell Stock · Contains Duplicate · Product of Array Except Self · Maximum Subarray · Group Anagrams · Top K Frequent · Longest Consecutive Sequence
Two pointers / Sliding window: Valid Palindrome · Three Sum · Container With Most Water · Longest Substring Without Repeating Characters · Minimum Window Substring
Stack / Queue: Valid Parentheses · Min Stack · Daily Temperatures · Largest Rectangle in Histogram
Linked List: Reverse Linked List · Linked List Cycle · Merge Two Sorted Lists · Reorder List
Trees: Maximum Depth of Binary Tree · Same Tree · Invert Binary Tree · Binary Tree Level Order Traversal · Validate BST · Lowest Common Ancestor
DP starter: Climbing Stairs · House Robber · Coin Change
Stack: Spring Boot 3 · Spring Data JPA · Postgres · Flyway · MapStruct · JUnit 5 + Testcontainers.
Stretch: WebSocket notifications, OpenAPI docs (springdoc), Docker compose.
Stack: Android Studio · Jetpack Compose · Room (SQLite) · Retrofit · Hilt.
Stack: JavaFX 21 · FXML · CSS · Gluon Scene Builder.
Stack: picocli (argument parsing) · jansi (colours) · GraalVM native-image (compile to a single executable, no JVM needed!).