Roadmap (Software)
Roadmap (Software)
Keeping in mind the project you would build need not necessarily be a WebDev project you can make
any project depending on your interests (AppDev, GameDev, ML, etc.) as long as you have a detailed
idea of the domain and can answer any cross-questions related to the project.
Regardless of whichever you follow, you would also be needed to cover some topics of CS
fundamentals (like OOPs, DBMS, OS, etc.)
You can either go through some articles/documentation (like GFG) or follow a yt channel and go through
their topic-wise playlists.
Topics:
Arrays, STL, Strings, Linked list, Stack, Queue
Searching and Sorting Algorithms, Binary Search
Greedy Problems, Heap (Priority Queue)
Recursion, Backtracking, Trees, Graph and algorithms related to it
Trie, String Matching Algorithms, Dynamic Programming
Channels:
● takeUforward
● Luv
● Fraz
● CodeHelp - by Babbar
● Jenny's Lectures CS IT
● Abdul Bari
● Anuj Bhaiya
● Errichto Algorithms (basics of CP)
Below are some question lists that will help you go through the topics properly.
Questions:
● Striver's a2z sheet : Elaborative question list, follow this through out your preparation process and try
to complete every section to get a good idea on DSA
● Striver’s SDE Sheet : Covers all types of problems for all the topics, good for quick revision on the
day before your interview :)
Development Resources:
Hello everyone, I hope you all are doing well. Being a good developer is always a trial-and-error,
break-and-error experience-based process. So be patient and keep building things.
Beginner resources
Docs or Guides:
Git official documentation
Git Installation | MacOS, Windows, Linux | Atlassian Guide
Video Tutorials:
Git and Github Tutorials for Beginners | TheCodex | English
Git and Github in one Video | Anuj Bhaiya | Hindi
Important Concepts:
What is a version control system.
Difference between Git and Github.
HTML
Beginner resources
Docs or Guides:
HTML basics | MDN
HTML tutorial | w3schools
Video Tutorials:
Complete HTML Tutorial in 1 Video | CodeHelp - by Babbar | HINDI
HTML Crash Course - Tutorial for Complete Beginners | Codevolution | English
CSS
Docs or Guides:
CSS basics | MDN
CSS tutorial | w3schools
Video Tutorials:
CSS Crash Course - Tutorial for Complete Beginners | Codevolution | English
Flexbox Crash Course - Tutorial for Complete Beginners | Codevolution | English
CSS Grid Crash Course - Tutorial for Complete Beginners | Codevolution | English
Tip: want to deep dive into the world of CSS then you can follow Kevin Powell
Important Concepts:
CSS Selectors : id selector, class selector and many more.
CSS Properties : color, font-size, font-family, margin, padding and many more.
CSS Units : em, px, vw, vh, % and many more.
Box Model
Media Queries
Flex and Grid
Tip: CSS is easy to learn but hard to master, so to become a CSS champ practice as much as you can,
but make sure you don’t miss out on other things as well, and at the end of the day we have limited time
to prepare for our placements or internships.
Javascript
Javascript tutorial | Guide
JavaScript Crash Course Tutorial for Complete Beginners | Codevolution | English
Asynchronous JavaScript Crash Course | Codevolution | English
Javascript in depth | Namaste Javascript Season 2 | Akshay Saini (optional)
React
Docs or Guides:
React Documentation
React CheatSheet
Video Tutorials:
ReactJs Tutorial for Beginners | Codevolution | English
React 18 Fundamentals Crash Course | Codevolution | English
Important Concepts:
JSX
Functional Components
Props and Data Flow in React
Conditional Rendering
Navigation React Router Dom
State Management - Component Level
React Hooks : useState, useEffect and many more
Installation:
Download and install | NodeJs
Docs or Guides:
How much JavaScript do you need to know to use Node.js?
ExpressJs Official Guide
Video Tutorials:
Express.js & Node.js Course for Beginners - Full Tutorial | freeCodeCamp | English (with project)
Node.js Tutorial | Codevolution | English
Projects
Tip: Projects play a very important role during your interview, having unique and well-executed projects
shows you can code solutions to real-life problems and provides talking points (i.e interviewer may
spend less time on CS fundamentals and DSA)
It's advised to feature projects solving real-world problems, you can take inspiration from hackathon
problem statements by major tech companies, as their problem statements typically address practical
problems.
But in case you have time constraints you can follow code-along tutorials available in YouTube or
various blogs.
Please note
● OOPS and its properties vary from language to language, you just need to know the properties
and concepts of OOPS only for the language you code.
● Prepare for commonly asked interview questions (mostly about concepts that sound similar)
○ What is the difference between abstraction and encapsulation?
● OOPS also includes important concepts not related to the four pillars (Example: scope resolution,
friend functions, virtual functions, access modifiers, etc.) Go through them as well.
Please Note
● Pay attention to different types of keys and normal forms. They can be confusing if not paid
proper attention.
● ACID properties and transactions are equally important.
● SQL is also an integral part of DBMS. Don’t skip SQL
Operating Systems(OS)
1. CodeHelp: OS in One Shot
a. Preferred Choice.
b. Explain every important topic for the interview.
2. Gate Smashers: OS Playlist
a. Another good source.
3. Unacademy (Vishavdeep Sir): OS Vishavdeep Sir
a. If you didn’t understand any topic from the above sources then you can go to this playlist
and search for a particular topic.
Please Note
● The vast syllabus of Operating Systems is easy to visualize and revise if broken down into 3
topics namely, introduction to operating systems, process management, and memory
management.
● Being such a big topic, os typically requires 2-3 iterations, so be sure to keep time and plan
accordingly.
Computer Networks(CN)
1. Kunal Kushwaha: CN in One Shot
Please note
● Be thorough about all the layers and protocols.
Important Questions
Go through all the questions
OS
DBMS
OOPS