Loading...
Loading...
Roadmap · From zero to Java developer
One clear path from your first line of Java to solving placement coding rounds, building backend applications and facing technical interviews. Every stage, section and topic is below. Live sections are ready to study; the rest show what they will cover.
Build your programming foundation
Write Java programs from zero, model real things with classes and objects, manage data with collections, and keep your code on GitHub.
Variables, operators, input and output, conditions, loops, methods, arrays, strings and exceptions, ending with mini projects.
Work like a developer from day one: the command line, running Java outside the IDE, Git version control and publishing your projects on GitHub.
Classes, constructors, encapsulation, inheritance, polymorphism, interfaces, enums, equality, copying and immutability, ending with mini projects.
Generics, lists, sets, maps, queues and sorting: how each works inside and how to choose the right one, ending with mini projects.
Become a confident problem solver
Learn to break down unfamiliar problems, master the core data structures and algorithms in Java, and solve coding rounds under time pressure.
A repeatable way to solve problems: complexity, recursion and the common patterns behind most coding questions.
Linked lists, stacks, queues, trees, heaps, tries, graphs, sorting, greedy algorithms and dynamic programming, built and used in Java.
Practise the way placement tests work: mixed problem sets, time limits, edge cases and mock coding rounds.
What to expect in a placement coding round so nothing about the format surprises you.
Turn long, story-style questions into a clear task before writing any code.
Read and print data correctly and fast in Java, the way judges expect.
Understand what each verdict means and fix the bugs behind it quickly.
Use limited time well across several questions.
Answer the Java, complexity and DSA multiple-choice questions many placement tests include.
Timed sets of warm-up problems on arrays, strings and math.
Timed sets that mix the patterns from Problem Solving & Coding Patterns.
Timed sets on linked lists, stacks, trees, heaps and graphs.
Timed sets with the harder questions that decide rankings in coding rounds.
Full-length timed mock assessments that copy the shape of real placement tests.
Turn every round into progress by solving what you missed and tracking your mistakes.
Develop strong core Java skills
Go beyond the basics: streams and modern Java, files and robust error handling, multithreading, and how the JVM runs your code.
The Stream API, Optional, method references, the Date and Time API and other modern Java features used in real code and interviews.
The ready-made interfaces in java.util.function and how to combine them.
All four kinds of method reference and when a lambda reads better.
What a stream is, how a pipeline runs and why streams are lazy.
The intermediate operations you will use every day.
Get a result out of a stream: a value, a list, a check or a single combined answer.
Build maps, groups and reports from streams in one pipeline.
Number streams, generated streams and an honest look at parallel streams and stream pitfalls.
Return 'maybe a value' safely instead of null, and avoid the usual Optional mistakes.
Handle dates, times, durations and time zones correctly with java.time.
Use records for real data and sealed classes and interfaces to close a type hierarchy.
Java 17 to 21 features: switch patterns, record patterns, var and text blocks.
Small projects that use streams, collectors, Optional and java.time together.
Read and write files with java.nio, handle resources safely and design error handling that real applications can rely on.
Go past try and catch: the full exception hierarchy, chaining causes and reading complex stack traces.
Close files and other resources correctly every time, even when things fail.
Work with file paths and folders using Path and the Files class.
Read and write text files, small and large, with the right method for each.
The classic java.io stream classes and how bytes and characters differ.
Turn text files into objects and back, and deal with messy real data.
Save objects as bytes with Java serialization and learn why it is rarely the first choice today.
Decide what to throw, where to catch and what to tell the user, so errors are clear and nothing is silently lost.
Small programs that read, process and write real files with careful error handling.
Threads, synchronisation, executors, concurrent collections and CompletableFuture, with the classic concurrency bugs and their fixes.
What threads are, why programs use them and how to start and wait for them.
See shared data go wrong with two threads and fix it with locking.
Why one thread may not see another thread's change, and the rules that guarantee it does.
Make threads wait for each other, from wait and notify to blocking queues.
More flexible tools than synchronized, and lock-free counters.
Hand tasks to a pool instead of creating threads by hand.
Thread-safe collections and why wrapping a normal collection is often not enough.
Ready-made tools to make groups of threads wait or limit how many run at once.
Run work in the background and combine results without blocking.
Deadlocks, livelocks and other bugs that only show up sometimes, and how to find and fix them.
Small programs that put threads, pools and concurrent collections to work.
How the JVM loads and runs your code, how memory is organised, how garbage collection works and how to find memory problems.
Look inside a class file and see the bytecode javac produces.
How and when the JVM finds, checks and prepares your classes.
How bytecode actually runs and why Java code gets faster after it warms up.
The parts of JVM memory and what lives in each one.
How much space objects really take and what that means for your code.
How the JVM decides an object is garbage and cleans it up.
The main collectors and the few JVM options an entry-level developer should know.
How Java programs leak memory even with a garbage collector, and the reference types that help.
Use the JDK's own tools to see what the JVM is doing and find the cause of a problem.
Work through broken programs and find out what went wrong inside the JVM.
Become a Java backend developer
Store data in databases, connect Java to them, build REST APIs with Spring Boot and protect them with authentication.
Design tables, write SQL from simple queries to joins and aggregates, and understand indexes and transactions.
Why applications store data in a database and how to get PostgreSQL running on your computer.
Create tables with the right column types so the database stores data correctly.
Let the database reject bad data with primary keys, foreign keys and other constraints.
Change the data in your tables safely and see what changed.
Read exactly the rows and columns you need with SELECT.
Turn many rows into totals, counts and averages for reports.
Combine data from several tables, the most asked SQL skill in interviews.
Answer harder questions with queries inside queries and ranking functions.
Turn a requirement into a clean set of tables without duplicate or inconsistent data.
Understand why some queries are slow and how indexes make them fast.
Group changes so they all succeed or all fail, even when many users work at once.
Design and query the ShopLite store database that the next sections build on, plus interview-style SQL practice.
Set up Maven projects and connect Java to a database with JDBC: queries, prepared statements, transactions and the DAO pattern.
Use Maven to build projects and download libraries instead of copying JAR files by hand.
Open a connection from Java to PostgreSQL and understand what the JDBC driver does.
Send SQL from Java and turn the results into Java objects.
Pass user input to SQL safely and see how injection attacks work.
Close connections and statements reliably and handle database errors properly.
Control commit and rollback from Java so related changes stay consistent.
Keep SQL in one layer so the rest of the program works with plain Java objects.
Reuse database connections with a pool, the way real applications do.
Build a menu-driven ShopLite app with Maven, JDBC and DAOs on the database from the SQL section.
How the web works: HTTP, JSON and the rules of good REST API design, tested with real tools.
The path a request takes from your browser to a server and back.
The structure of an HTTP message and what each part means.
How a stateless protocol remembers who you are.
Send structured data as JSON and convert it to and from Java objects.
The rules that make an API easy to understand and use.
Explore and test any API without writing code.
Use Java's built-in HttpClient to talk to real web services.
Build a small JSON API with the JDK's HttpServer to see the work a framework does for you.
Check your understanding with design exercises and a small API client project.
Dependency injection, Spring Boot applications, REST controllers, validation, error handling and configuration.
The problems Spring solves and how the Spring family fits together.
Let Spring create your objects and wire them together.
What happens when a Spring Boot application starts.
Expose endpoints that accept and return JSON.
Split an application into controller, service and repository layers with clear jobs.
Reject bad input at the edge of the application with clear messages.
Return one consistent error format instead of stack traces.
Change behaviour between development and production without changing code.
Generate interactive API docs that other developers can try out.
Rebuild ShopLite as a Spring Boot REST API, reusing the JDBC DAOs through JdbcTemplate.
Map Java objects to tables, model relationships, write repository queries and avoid the common performance traps.
Why we map objects to tables and how JPA, Hibernate and Spring Data relate.
Turn Java classes into database tables with annotations.
Read and write data with Spring Data repositories and custom queries.
Map one-to-one, one-to-many and many-to-many links between entities.
Understand how Hibernate tracks objects so its behaviour stops being a surprise.
Use @Transactional correctly so business operations are all-or-nothing.
Return large result sets in pages and support filters.
Spot and fix the problems that make JPA applications slow.
Version your database schema like code instead of letting Hibernate change it.
Move ShopLite from JdbcTemplate to Spring Data JPA with relationships, paging and migrations.
Protect your APIs: password hashing, sign-in with JWT, roles and permissions, and the common security mistakes to avoid.
The core ideas you need before touching any security code.
What changes when you add Spring Security and how a request is checked.
Keep user accounts in the database and store passwords so a leak does not expose them.
The simpler ways to sign in and why REST APIs usually move beyond them.
Issue and check signed tokens so the API stays stateless.
Allow each user to do only what their role permits.
Let a frontend on another origin call your API safely.
The errors that turn up in real projects and code reviews, and how to avoid them.
Add sign-up, JWT login and role-based access to the ShopLite API.
Learn professional software engineering
Test and debug with confidence, apply design patterns, ship with Docker and CI/CD, reason about system design and complete real projects.
Unit tests with JUnit, mocks with Mockito, testing Spring applications, using the debugger and keeping code clean.
What tests protect you from and which kinds of tests to write.
Go past simple assertions to well-organised, data-driven tests.
Write the test first and let it shape the design.
Test one class at a time by replacing its dependencies with mocks.
Test each layer of a Spring Boot app with the right test slice.
Find the cause of a bug with the debugger instead of guessing.
Write logs that help you find problems in a running application.
Keep code easy to read and change as the project grows.
Add unit, slice and integration tests to ShopLite and fix the bugs they find.
The design patterns used in real Java code and in interviews, applied together with SOLID principles.
A quick refresh of SOLID from OOP, then how principles lead to patterns.
Control how objects are created so code does not depend on concrete classes.
Combine classes and objects into larger structures without tight coupling.
Organise how objects talk to each other and share work.
See where the patterns you learned already appear in tools you use.
Use patterns to fix real design problems instead of adding them everywhere.
Practise the class-design questions asked in interviews, from requirements to code.
Apply patterns to ShopLite and review designs as you would in a code review.
Package your application with Docker, run it with a database, automate builds and tests, and deploy it online.
The "works on my machine" problem and how containers solve it.
The everyday Docker commands for running and inspecting containers.
Package your application as an image anyone can run.
Start your app and its database together with one command.
Test against a real PostgreSQL started for each test run.
Build and test every push automatically.
Put your API and database online so others can use it.
Know whether your deployed app is healthy and what to do when it is not.
Containerise ShopLite, add a CI pipeline and deploy it with a live URL.
Layered architecture, caching, scaling and the system design basics asked in entry-level interviews.
What system design means and how interviewers judge a fresher's answer.
Ways to structure a backend application and its code.
Keep APIs reliable when many clients call them at once.
Serve common data faster by keeping a copy closer to the user.
How databases cope when data and traffic grow.
Spread traffic across servers so the system keeps working when one fails.
Protect a service from overload and abuse.
Make quick, reasonable estimates of traffic and storage.
Work through the system design questions most often asked of freshers.
Practise design rounds end to end and review common mistakes.
Build complete backend projects from requirements to deployment, ending with a capstone for your portfolio.
The working method used for every project in this section.
A small, focused service that turns system design ideas into working code.
A multi-user CRUD application with authentication, reports and paging.
A booking system where correctness under concurrent requests matters.
A larger backend that uses everything from Stages 4 and 5, built as your portfolio project.
Polish the capstone and prepare to explain it in an interview.
Prepare for your first software job
Revise Java for technical interviews, practise placement assessments, prepare core CS subjects and present yourself with confidence.
The Java, OOP, collections, DSA and backend questions interviewers ask, with clear answers, follow-ups and debugging rounds.
Know what each technical round checks so you can prepare for the right things.
Revise the Java basics questions asked in almost every fresher interview.
Explain the four pillars and related ideas with your own small examples.
Answer the 'how does it work inside' questions interviewers love to ask about collections.
Practise reading tricky code and spotting bugs, as asked in written and live rounds.
Turn your DSA practice into a calm, well-explained solution in front of an interviewer.
Optional module for learners who studied Stage 3: questions on streams, Optional and modern Java.
Optional module for learners who studied Stage 3: concurrency, memory and garbage collection questions.
Optional module for learners who studied Stages 4 and 5: questions for Java backend roles.
Explain what you built, why you made each choice and what you would change.
Practise full technical rounds that mix theory, code reading and a coding problem.
Aptitude and reasoning, core CS subjects (OS, DBMS, computer networks), resume, HR interviews and communication.
Understand the usual stages of campus and off-campus hiring so nothing surprises you.
Build speed and accuracy in the arithmetic topics that appear in most aptitude tests.
Cover the counting, probability and data interpretation questions that need method, not guesswork.
Solve puzzle-style reasoning questions with simple diagrams and a step-by-step method.
Improve the reading and grammar skills tested in the verbal section, even if English is your second language.
Revise the OS concepts asked in technical interviews, explained with simple examples.
Revise database theory for interviews, building on SQL if you have studied it.
Explain how data moves across a network at the level placement interviews expect.
Present your skills and projects honestly so recruiters shortlist you.
Prepare honest, structured answers to the questions every HR round asks.
Speak clearly and confidently in group discussions, interviews and the workplace.
Practise complete placement rounds and review your performance.