Java: No Coding?
Land 10 LPA SDE-1 Job in 90 Days
with 3 Hours/Day
1 Introduction
This 90-day week-wise Java roadmap is designed for non-technical individuals aiming to become a
Software Development Engineer 1 (SDE-1), targeting a salary jump from 3 Lakhs Per Annum (LPA)
to 10 LPA with just 3 hours of daily study. Tailored for your coding audience, this plan assumes no
prior programming knowledge and is split into learning (1 hour), practice (1.5 hours), and revision
(0.5 hours). Youll master Java, tackle data structures and algorithms (DSA), build portfolio projects,
and prepare for technical interviews. The focus is on backend development with Java for its demand
in entry-level roles.
2 Roadmap Overview
The 3-hour daily schedule is structured as follows:
Learning (1 hour): Study Java programming, DSA, and backend basics using curated resources.
Practice (1.5 hours): Solve coding problems or work on projects to apply concepts.
Revision (0.5 hours): Review concepts and problems to reinforce learning.
The 90-day roadmap is divided into 12 weeks, grouped into three phases:
• Phase 1 (Weeks 1–3): Build a foundation in Java and backend basics.
• Phase 2 (Weeks 4–8): Master DSA and create portfolio projects.
• Phase 3 (Weeks 9–12): Prepare for interviews and apply to jobs.
3 12-Week Roadmap
3.1 Phase 1: Weeks 1–3 – Foundation in Java and Backend
3.1.1 Week 1: Java Basics
Learning Objectives: Master Java fundamentals, including variables, data types, control structures,
methods, and arrays.
Resources:
• Book: “Head First Java” by Kathy Sierra and Bert Bates
• Online: freeCodeCamp (Java), JavaTpoint, CodeWithHarry YouTube
• Platforms: HackerRank (Java), LeetCode (Easy problems)
Daily Breakdown:
• Day 1: Learn Java setup (JDK, IntelliJ IDE), variables, data types (int, double, String). Solve
2–3 problems (e.g., print patterns).
1
• Day 2: Study control structures (if-else, for/while loops). Solve 3 problems (e.g., check prime).
• Day 3: Learn methods (defining, calling, parameters). Solve 3 problems (e.g., factorial).
• Day 4: Study arrays (indexing, iteration). Solve 3 problems (e.g., reverse array).
• Day 5: Learn string handling (String class, methods). Solve 3 problems (e.g., check palin-
drome).
• Day 6: Study ArrayList basics. Solve 2–3 problems (e.g., dynamic array operations).
• Day 7: Revise Week 1 concepts. Solve 4 mixed problems (arrays, strings, methods). Re-solve
2 problems.
3.1.2 Week 2: Advanced Java and SQL
Learning Objectives: Understand Object-Oriented Programming (OOP), exception handling, and
SQL basics (queries, joins).
Resources:
• Book: “Effective Java” by Joshua Bloch
• Online: W3Schools (SQL), JavaTpoint, Oracle Java Tutorials
• Platforms: HackerRank (Java, SQL), LeetCode (SQL)
Daily Breakdown:
• Day 1: Learn OOP (classes, objects). Solve 2–3 problems (e.g., student class).
• Day 2: Study OOP (inheritance, polymorphism). Solve 2–3 problems.
• Day 3: Learn exception handling (try-catch). Solve 2–3 problems (e.g., handle null pointer).
• Day 4: Learn SQL basics (SELECT, INSERT, UPDATE). Practice 3 queries on HackerRank.
• Day 5: Study SQL joins, GROUP BY. Solve 3 SQL problems (e.g., join tables).
• Day 6: Build a small OOP project (e.g., library system). Solve 2 problems.
• Day 7: Revise Week 2 concepts. Solve 4 mixed problems (Java, SQL). Re-solve 2 problems.
3.1.3 Week 3: Backend Development with Spring Boot
Learning Objectives: Master REST APIs and Spring Boot basics with MySQL integration.
Resources:
• Online: Spring Boot official documentation, Amigoscode YouTube
• Platforms: HackerRank (Java), GitHub
Daily Breakdown:
• Day 1: Study REST APIs (GET, POST, JSON). Practice parsing JSON.
• Day 2: Set up Spring Boot, create a basic API (Hello World). Test locally.
• Day 3: Learn Spring Boot controllers, routing. Build a simple API.
• Day 4: Connect Spring Boot with MySQL for CRUD. Practice 2–3 operations.
• Day 5: Start a to-do list API with Spring Boot and MySQL (plan CRUD).
• Day 6: Complete and test to-do list API. Host on GitHub with README.
• Day 7: Revise Week 3 concepts. Solve 4 mixed Java/SQL problems. Optimize API.
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding
3.2 Phase 2: Weeks 4–8 – DSA and Portfolio Projects
3.2.1 Week 4: Arrays and Linked Lists
Learning Objectives: Master array manipulation and linked list operations.
Resources:
• Book: “Data Structures and Algorithms in Java” by Robert Lafore
• Online: NeetCode YouTube, GeeksforGeeks (Arrays, Linked Lists)
• Platforms: LeetCode (Array, Linked List problems), HackerRank
Daily Breakdown:
• Day 1: Learn array basics, two-pointer technique. Solve “Two Sum” (LeetCode Easy).
• Day 2: Study sliding window. Solve “Maximum Subarray” (LeetCode Easy).
• Day 3: Learn singly linked lists. Solve “Reverse Linked List” (LeetCode Easy).
• Day 4: Study linked list cycle detection. Solve “Linked List Cycle” (LeetCode Easy).
• Day 5: Practice array rotation. Solve “Rotate Array” (LeetCode Medium).
• Day 6: Mixed practice. Solve 2–3 array/linked list problems.
• Day 7: Revise Week 4 concepts. Re-solve “Two Sum” from scratch.
3.2.2 Week 5: Stacks and Queues
Learning Objectives: Understand stacks and queues with Java implementations.
Resources:
• Book: “Introduction to Algorithms” by Cormen (Chapter 10)
• Online: NeetCode YouTube, GeeksforGeeks (Stacks, Queues)
• Platforms: LeetCode (Stack, Queue problems), HackerRank
Daily Breakdown:
• Day 1: Learn stack basics (Java Stack class). Solve “Valid Parentheses” (LeetCode Easy).
• Day 2: Study queue basics (Queue interface). Solve “Design Circular Queue” (LeetCode
Medium).
• Day 3: Practice stack applications. Solve “Min Stack” (LeetCode Medium).
• Day 4: Practice queue applications. Solve 2–3 problems (e.g., queue simulation).
• Day 5: Mixed practice. Solve 2–3 stack/queue problems.
• Day 6: Solve 2–3 problems (Easy/Medium). Review stack/queue concepts.
• Day 7: Revise Week 5 concepts. Re-solve “Valid Parentheses” from scratch.
3.2.3 Week 6: Hashmaps and Trees
Learning Objectives: Master hashmaps and binary trees (traversals, BST).
Resources:
• Book: “Algorithms” by Robert Sedgewick
• Online: NeetCode YouTube, GeeksforGeeks (Trees, Hashmaps)
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding
• Platforms: LeetCode (Tree, Hashmap problems), HackerRank
Daily Breakdown:
• Day 1: Learn hashmaps (HashMap class). Solve “Group Anagrams” (LeetCode Medium).
• Day 2: Study binary tree traversals (inorder, preorder). Solve “Binary Tree Inorder Traversal”
(LeetCode Easy).
• Day 3: Learn BST properties. Solve “Validate Binary Search Tree” (LeetCode Medium).
• Day 4: Practice hashmap applications. Solve 2–3 problems (e.g., frequency counter).
• Day 5: Practice tree problems. Solve 2–3 problems (e.g., max depth).
• Day 6: Mixed practice. Solve 2–3 tree/hashmap problems.
• Day 7: Revise Week 6 concepts. Re-solve “Group Anagrams” from scratch.
3.2.4 Week 7: Sorting and Searching
Learning Objectives: Understand sorting algorithms and binary search.
Resources:
• Book: “Introduction to Algorithms” by Cormen (Chapter 2)
• Online: NeetCode YouTube, GeeksforGeeks (Sorting, Searching)
• Platforms: LeetCode (Sorting, Searching problems), HackerRank
Daily Breakdown:
• Day 1: Learn bubble and selection sort. Solve 2 sorting problems.
• Day 2: Study merge sort. Solve “Sort an Array” (LeetCode Medium).
• Day 3: Learn binary search. Solve “Binary Search” (LeetCode Easy).
• Day 4: Study quicksort. Solve 2 sorting problems.
• Day 5: Practice binary search variations. Solve “Search in Rotated Sorted Array” (LeetCode
Medium).
• Day 6: Mixed practice. Solve 2–3 sorting/searching problems.
• Day 7: Revise Week 7 concepts. Re-solve “Binary Search” from scratch.
3.2.5 Week 8: Dynamic Programming and Project 1
Learning Objectives: Introduction to dynamic programming and building a Task Manager API.
Resources:
• Book: “Introduction to Algorithms” by Cormen (Chapter 15)
• Online: NeetCode YouTube, GeeksforGeeks (DP), Amigoscode YouTube
• Platforms: LeetCode (DP problems), GitHub
Daily Breakdown:
• Day 1: Learn 1D dynamic programming. Solve “Climbing Stairs” (LeetCode Easy).
• Day 2: Study DP applications. Solve “House Robber” (LeetCode Medium).
• Day 3: Start Project 1: Task Manager API (Spring Boot + MySQL). Plan structure.
• Day 4: Code Task Manager API (CRUD operations). Solve 1–2 DP problems.
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding
• Day 5: Add authentication to Task Manager API. Solve 1–2 DP problems.
• Day 6: Test and debug Task Manager API. Host on GitHub with README.
• Day 7: Revise Week 8 concepts. Re-solve “Climbing Stairs” and test API.
3.3 Phase 3: Weeks 9–12 – Job Preparation and Interviews
3.3.1 Week 9: Advanced DSA and Project 2
Learning Objectives: Master advanced DSA techniques and build an E-commerce backend.
Resources:
• Online: NeetCode YouTube, GeeksforGeeks (DSA), Amigoscode YouTube
• Platforms: LeetCode (Medium/Hard problems), GitHub
Daily Breakdown:
• Day 1: Learn two-pointer technique. Solve “Container With Most Water” (LeetCode Medium).
• Day 2: Study sliding window. Solve “Longest Substring Without Repeating Characters” (Leet-
Code Medium).
• Day 3: Start Project 2: E-commerce backend (Spring Boot + MySQL). Plan catalog and cart.
• Day 4: Code E-commerce backend (catalog, cart). Solve 1–2 DSA problems.
• Day 5: Add checkout to E-commerce backend. Solve 1–2 DSA problems.
• Day 6: Test and debug E-commerce backend. Host on GitHub with README.
• Day 7: Revise Week 9 concepts. Re-solve “Longest Substring” and test project.
3.3.2 Week 10: Graphs and Project 3
Learning Objectives: Learn graph algorithms and build a RESTful API service.
Resources:
• Online: NeetCode YouTube, GeeksforGeeks (Graphs), Amigoscode YouTube
• Platforms: LeetCode (Graph problems), GitHub
Daily Breakdown:
• Day 1: Learn BFS. Solve “Number of Islands” (LeetCode Medium).
• Day 2: Study DFS. Solve “Course Schedule” (LeetCode Medium).
• Day 3: Start Project 3: RESTful API (Spring Boot + MySQL). Plan URL shortener.
• Day 4: Code RESTful API (endpoints, database). Solve 1–2 graph problems.
• Day 5: Test and optimize RESTful API. Solve 1–2 graph problems.
• Day 6: Host RESTful API on GitHub with README. Solve 2–3 problems.
• Day 7: Revise Week 10 concepts. Re-solve “Number of Islands” and test project.
3.3.3 Week 11: System Design and Portfolio
Learning Objectives: Understand system design basics and polish portfolio projects.
Resources:
• Book: “System Design Primer” (GitHub)
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding
• Online: Educative.io (System Design), Amigoscode YouTube
• Platforms: LeetCode, GitHub, LinkedIn
Daily Breakdown:
• Day 1: Study REST API design. Practice designing a URL shortener.
• Day 2: Learn database schema design. Design a to-do app schema.
• Day 3: Polish Task Manager API (README, testing). Solve 1–2 DSA problems.
• Day 4: Polish E-commerce backend (README, testing). Solve 1–2 DSA problems.
• Day 5: Polish RESTful API (README, testing). Solve 1–2 DSA problems.
• Day 6: Create ATS-friendly resume and LinkedIn/GitHub profiles.
• Day 7: Revise Week 11 concepts. Solve 3 mixed problems. Review portfolio.
3.3.4 Week 12: Interview Preparation and Job Applications
Learning Objectives: Simulate interviews, apply to jobs, and refine skills.
Resources:
• Online: NeetCode YouTube, Educative.io
• Platforms: Pramp, Interviewing.io, LeetCode, Naukri.com, LinkedIn
Daily Breakdown:
• Day 1: Solve mixed problems (1 Easy, 1 Medium). Apply to 10–15 jobs.
• Day 2: Conduct a mock interview on Pramp. Apply to 10–15 jobs.
• Day 3: Solve company-specific problems (e.g., Amazon tagged). Apply to 10–15 jobs.
• Day 4: Practice system design. Solve 1–2 DSA problems. Apply to 10–15 jobs.
• Day 5: Solve 2 Medium/Hard problems. Apply to 10–15 jobs.
• Day 6: Conduct a mock interview. Apply to 10–15 jobs.
• Day 7: Revise weak areas. Solve 3 problems. Follow up on applications.
4 Daily 3-Hour Structure
4.1 Hour 1: Learning
• Study concepts using recommended resources.
• Take notes on key points and edge cases.
• Example: For arrays, learn two-pointer technique and note O(n) complexity.
4.2 Hour 1.5–2.5: Practice
• Solve 2–3 problems or work on projects:
– Weeks 1–3: 2–3 Easy problems or project coding.
– Weeks 4–8: 1–2 Easy, 1 Medium problems or project coding.
– Weeks 9–12: 1 Medium, 1 Hard problem or mock interviews.
• Approach:
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding
1. Read problem (5 mins).
2. Plan solution (5 mins).
3. Code and test (10–15 mins).
4. Optimize (5 mins).
• If stuck, spend 15 minutes before checking LeetCode discussions.
4.3 Hour 2.5–3: Revision
• Re-solve problems without looking at previous code.
• Use a spreadsheet to track problems.
• Example: Re-solve a tree problem and explain traversal.
5 Common SDE-1 Interview Questions
5.1 Technical Questions
Coding and DSA:
• Reverse a string without built-in functions.
• Find the first non-repeating character in a string.
• Implement a stack using two queues.
• Merge two sorted linked lists.
• Find the maximum subarray sum (Kadanes Algorithm).
SQL:
• Write a query to find the second-highest salary in a table.
• Perform INNER JOIN vs. LEFT JOIN on two tables.
• Group data by a column and calculate aggregates (e.g., SUM, COUNT).
System Design:
• Design a URL shortener service.
• Explain the architecture of a REST API for a to-do application.
5.2 Behavioral Questions
• Tell me about yourself and your background.
• Why do you want to transition to a software engineering role?
• Describe a challenging project you worked on and how you overcame obstacles.
• How do you handle tight deadlines or pressure?
• Where do you see yourself in 5 years?
6 Tips for Success
• Network: Connect with SDE-1s on LinkedIn for referrals.
• Stay Updated: Follow tech trends on X.
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding
• Consistency: Track progress in a spreadsheet.
• Portfolio: Document projects on GitHub with clear READMEs.
• Health: Take short breaks to avoid burnout.
7 Conclusion
This 90-day, 3-hour daily Java roadmap offers a vibrant, efficient path to land an SDE-1 role offering
8–10 LPA. With focused effort, youll master Java, DSA, and projects to ace interviews. Share this
with your audience and inspire their coding journey!
Created by minhazcoding | Telegram: minhazcoding | Instagram: minhazcoding