The No BS guide for Campus Placements [FREE Resources inside]
Table of contents
Hi, If you're a college student preparing for college placements, you need to learn a bunch of topics such as Core CS Fundamentals, Data Structures and Algorithms, System Design and much more.
Here I am gonna list a bunch of free resources that you can use instead of taking a paid course.
Paid courses in this domain could cost you Lakhs of Rupees. Yes I am not even kidding. But all of these content are available out there for free.
If you find it tough to believe whether it's possible to crack Product Companies with free resources, Trust me you can.
I studied in a Tier 3 college and I cracked a Product Based company just with the help of Free resources. Not just me but all of my friends (We are a gang of 11 boys) and all of them are currently working as Software Engineers at Product based companies and nobody has spent a single penny on courses.
General Roadmap for College Placements
Before listing all the resources, let me share with you the step by step approach to go forward with Campus Placements.
In case you're not interested in reading the whole Roadmap, kindly scroll through the bottom where I've mentioned all the resources.
Pick a programming language of your choice.
Start with any Object Oriented Programming Language you are comfortable with. If you are into competitive programming, you can learn C++ but mostly I would recommend you to start with Java because Java is used widely in the Industry and you'll also get a good hand of Object Oriented Programming concepts with Java.
That being said, I will share free resources for both C++ and Java. Once you learn one language, it'll be easy to learn another because all languages it's just the syntax and few properties that differs.
Python is also a good language but I wouldn't recommend that as your first language. It's too simple and also very slow. Not recommended unless you're only gonna work as a Data Analyst or Data Scientist or Data Engineer.
My recommendation for Java as your first language is only on the basis of solving DSA problems. Ideally, the first language to learn for any computer science students would be C.
There are a bunch of concepts such as functions, pointers and file handling which are better understood with C language than anything else. Also, many companies have Technical Aptitude in their first round and C Aptitude forms a majority of the questions.
Data Structure and Algorithms.
The First and foremost topic that comes to our mind when we say placements is DSA. You need to be good at DSA to clear the OA screening rounds.
There are many LinkedIn Bhaiyas and Didis trying to sell paid courses to you but I don't think there's any need for you to spend money on such courses as everything you need to learn is available online for Free.
All you need is discipline, consistency and perseverance to learn from these free resources as nobody is there to enforce you.
The only reason you need to buy such paid course is to have a sense of compulsion because, since you've spend your hard earned money, you need to extract the value out of it.
But if you're disciplined enough, you can have the same amount of compulsion and sense of urge with free resources too.
You need to learn about all the data structures such as
Arrays
Linked List
Stack
Queue
Trees
Graphs
Heap
Trie (Optional)
And concepts such as
Recursion
Backtracking
Dynamic Programming
Just learning about these concepts will take you nowhere. You need to practice problems on these topics. Use platforms like Leetcode, GeeksForGeeks and Code Studio to solve problems on these.
Core CS Fundamentals
In a typical interview, the first few round will be solving DSA problem and once you've gone past it, you will be asked question on Core CS Fundamentals.
Some companies have Advanced programming round where you'll be asked to build/design systems which test your knowledge on Object Oriented Programming and System Design.
Even if you don't have such advanced programming round, you'll be having a Technical Interview where questions on concepts of Core CS Subjects (The ones that are taught in a typical CSE Degree) are asked.
Learn these topics
Object Oriented Programming
Database Management System
Operating System
Computer Networks
System Design (LLD and HLD)
Portfolio projects
In the Technical Interview, you'll also be asked about the Area of Interests and the Projects you've mentioned in your resume.
Usually, it's good to so some sort of Website or Mobile Application in case you're aspiring to become a Software Developer.
Or you can take the route of Machine Learning, Data Science or Data Analytics Project (The stuffs like prediction models, Price Data analysis etc.)
For this, you need to learn a tech stack like MERN (MongoDb, Express, React, Node) in case of Web Development, or Native Android/Flutter/React Native in case you're aspiring to become a Mobile Application Developer.
For ML/DS/DA folks, you need to learn concepts of Core Machine Learning and also multiple tools and modules related to the domain.
Once you've learnt these, you need to make a portfolio project that's unique and NOT COPIES AS IT IS FROM A TUTORIAL and have that in your resume.
It's not necessary for you to reinvent the wheel. If you're following some tutorial to make an application, add some extra feature or try something different apart from what's there in the tutorial. That'll indicate that you know how to engineer stuff and you're not just a copy paste coder.
Resume
Once you're ready with your projects, you should create a resume.
To create a resume, you should first be sure on your Area of Interest and Skills. This will usually be based on the projects you're planning to add in your Resume.
This is a super important step because, all the questions you'll be asked on the Technical Interview will be based on what you've written in your resume.
Make sure you create an ATS (Application Tracking System) friendly resume as most of the resume filtering is done by machine and optimization of resume for ATS will give you an upper hand.
So, please DO NOT LIE about your skills in your resume. Only mention things you actually know. Don't include random buzzwords just to sound cool. You're not there in the interview to show off. You're there to market yourself and the most important thing in marketing is credibility and trustworthy.
If you add buzzwords just to sound cool, then I'm sorry my friend but you're not cool but you're the clown there. Because when the interviewer asks a question from that buzzword, you'll be stuck and out of desperation, you'll start blabbering something which you are completely unaware of and unless you have some godly conversing or marketing skills, you'll make a fool out of yourself and ultimately, lose the offer right away.
Interview Experience
This is something you should do two or three weeks before you're gonna attend an interview.
Once you get the interview date, you should start to do some research about the company and know about their background. You'll get an idea about the work life there.
Once that's done, start looking for Interview Experiences of people who have already attended interview for the company. This is not applicable for Startups but in that case you can try to look for interview experience of similar companies and you'll get an Idea of how the interview will be.
You can use platforms like GeeksForGeeks, Leetcode Discuss or Youtube to know about the Interview Experience. There are many resources which would provide you with these information.
Structure your last moment preparation and mindset according to the information gathered from these Interview Experiences.
Mock Interview
This is something that's optional. If you're someone who is extremely confident, you can skip this step. But if not, then continue.
Try contacting your seniors and ask them if they have some free time to conduct mock interview for you. Most often than not, they will agree as most of the college seniors are supportive.
If you don't have any such seniors in your college, try reaching out to people on LinkedIn and ask whether they can take a mock interview for you. The trick is to find someone with <2k followers on LinkedIn but is active, they'll reply back to you and who knows they might agree!
If you aren't lucky enough to find any such seniors, then you'll have to spend some money. There are a bunch of new LinkedIn Influencers who are ready to have a consulting call or mock interview through topmate.
Spend some 500-2000 rupees on Mentorship/Mock Interview and this aspect will be solved.
The big day!
The steps mentioned above are more than enough for 99% of the case. Just be calm and confident on your interview and you'll come out with flying colors.
I wish you all the very best on your journey!
Free Resources
Here is the list of all the free resources you can use for your placement preparation
Programming Language
C++:
[English] Hitesh Choudhary: https://www.youtube.com/watch?v=FpfHmAkRVK4&pp=ygUMYysrIHR1dG9yaWFs
[Hindi] Code with Harry C++ Playlist: https://www.youtube.com/playlist?list=PLu0W_9lII9agpFUAlPFe_VNSlXW5uE0YL
Java:
[English] Telusko Java Playlist: https://www.youtube.com/playlist?list=PLsyeobzWxl7pe_IiTfNyr55kwJPWbgxB5
[Hindi] Code with Harry Java Playlist: https://www.youtube.com/playlist?list=PLu0W_9lII9agS67Uits0UnJyrYiXhDS6q
Data Structures an Algorithms
[English] Striver A2Z Sheet: https://takeuforward.org/strivers-a2z-dsa-course/strivers-a2z-dsa-course-sheet-2/
[Hindi] Love Babbar DSA Playlist: https://www.youtube.com/playlist?list=PLDzeHZWIZsTryvtXdMr6rPh4IDexB5NIA
CS Fundamentals
The best way I would suggest to learn CS Fundamentals is to read through the articles at GeeksForGeeks. That's how I did and that's the most efficient way to learn. (Saves time)
In case you're unable to understand a topic from the article, then search for the article on Youtube and watch videos only for that particular topic.
There's a channel called Gate Smashers in Youtube which has covered all these Topics in GATE point of view, which can be used to prepare for placements
You can also use Jenny's Lectures to learn CS Fundamentals
Operating System:
[Articles] Geeks for Geeks: https://www.geeksforgeeks.org/operating-systems/
[English] Jenny's Lectures: https://www.youtube.com/playlist?list=PLdo5W4Nhv31a5ucW_S1K3-x6ztBRD-PNa
[Hindi] Gate Smashers: https://www.youtube.com/playlist?list=PLxCzCOWd7aiGz9donHRrE9I3Mwn6XdP8p
[Hindi] Code help by Love Babbar: https://www.youtube.com/playlist?list=PLDzeHZWIZsTr3nwuTegHLa2qlI81QweYG
Computer Networking
[Articles] Geeks for Geeks: https://www.geeksforgeeks.org/computer-network-tutorials/
[English] Education 4u: https://www.youtube.com/playlist?list=PLrjkTql3jnm-iqlEOuVTkmCaRP8F2H3-u
[Hindi] Gate Smashers: https://www.youtube.com/playlist?list=PLxCzCOWd7aiGFBD2-2joCpWOLUrDLvVV_
Database Management System:
[Articles] Geeks for Geeks: https://www.geeksforgeeks.org/dbms/
[English] Jenny's Lectures: https://www.youtube.com/playlist?list=PLdo5W4Nhv31b33kF46f9aFjoJPOkdlsRc
[Hindi] Gate Smashers: https://www.youtube.com/playlist?list=PLxCzCOWd7aiFAN6I8CuViBuCdJgiOkT2Y
[Hindi] Code help by Love Babbar: https://www.youtube.com/playlist?list=PLDzeHZWIZsTpukecmA2p5rhHM14bl2dHU
System Design
- [English] System Design Sheet: https://takeuforward.org/system-design/complete-system-design-roadmap-with-videos-for-sdes/
Portfolio Projects
Here, you'll have to choose about the domain on which your project is gonna be. I will mention a list of channels you can learn the topics from
Web Development:
Code with Harry
Traversy Media
Android Development
- Philipp Lackner
Data Analytics
Analyst Adithya
Alex the Analyst
Data Engineering
Darshil Parmar
Shashank Mishra
Machine Learning
Krish Naik
CodeBasics
Deep Learning, NLP
- Krish Naik
Resume
You can learn about resume making from Youtube. Just search "How to make an ATS Friendly Resume" and there'll be a bunch of videos.
You can use the free templates at overleaf.com to create your Resume.
The list will be updated based on User Feedback as I will discover more and more free resources from Word of mouth.
I hope these resources helped you. In case, feel free to like this and share it with your friends so that they could use this.
Subscribe to my newsletter
Read articles from Srivathsan Venkateswaran directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by