Would advise you all to practice just for fun. I know a lot of students don't get much practice for interviews.
- interviewing.io - Allows you to have mock interviews with engineers from the bay area. I personally like this platform a lot and used it as an interviewee.
- Pramp - Peer-to-peer mock interviews. You get matched with another person, get assigned questions and take turns to be interviewer/interviewee. I personally dislike this platform a lot because I had a horrible experience being matched with some guy who didn't know shit about regular expressions, gave me a wrong test case, and led me down the wrong path of solving the question.
- Triplebyte Interview Prep Resources
- How to pass a programming interview
- How to Break Into the Tech Industry—a Guide to Job Hunting and Tech Interviews
Again, would advise you all to always be practicing algorithm questions just for fun. Praciticing algorithm questions is like exercise, make it a lifestyle to keep your body healthy (in this case, keep your brain fresh in algorithms).
- LeetCode - Hands down the most realistic and relevant site for practicing coding questions. I paid for the premium account and I think it's worth the money. Most algorithm questions you get come from LeetCode anyway. If you do like a few hundred of them, you'll probably find yourself having seen more than 80% of the algorithm questions in your interviews.
- HackerRank - They have contests and a lot of questions. I still prefer LeetCode over this because for HackerRank sometimes you're required to write code to parse input. Many of the questions are also slanted towards CP-style, which is not realistic to expect during interviews.
- Cracking the Coding Interview - Don't think this book needs any introduction. You can try to resourcefully obtain the PDF version of the 6th edition from the famous file-sharing sites.
- Tech Interview Handbook - A resource started by me to document my preparation process for technical interviews. It covers algorithm, system design and front end. It also categorizes algorithm questions by companies which can be useful if you are interviewing with those companies. I write in detail about preparing for algorithm questions here. Still WIP.
Other Links:
- https://github.com/kilimchoi/technical_interview_questions
- https://github.com/jwasham/coding-interview-university
- https://github.com/jwasham/computer-science-flash-cards
- https://github.com/donnemartin/interactive-coding-challenges
- https://github.com/sherxon/AlgoDS
- https://github.com/keon/algorithms
- https://github.com/schmatz/cs-interview-guide
- https://github.com/kdn251/interviews
Might not be that relevant to fresh grads, but personally I found myself learning a lot about SWE in general from reading these posts. Also good to know some buzzwords to throw around when speaking to other engineers.
- Gainlo - They write about interview questions in general, but the most valuable thing about them is their system design question posts IMO.
- System Design Primer - One of the most highest rated Github repo for System Design resources.
- High Scalabililty - Blog about a lot of system design issues.
Other Links:
- https://www.hiredintech.com/courses/system-design
- https://hackernoon.com/anatomy-of-a-system-design-interview-4cb57d75a53f
- https://www.interviewbit.com/courses/system-design/
- https://github.com/checkcheckzz/system-design-interview
- https://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/
- https://www.educative.io/collection/5668639101419520/5649050225344512 (this one is not free)
I have a ton of resources if anyone is interested in a role in Front End, but I shall omit them since like no one else I know is interested in Front End. Usually companies hire fresh grads for generic SWE positions anyway.
These platforms are agencies that help match you with companies based on your profile and coordinate a lot of the admin work for you. However, they do not usually work with big companies like Google and Facebook, so if you're looking to work at such companies, you would stand a higher chance getting your foot in the door via a referral from an existing employee or an ex-intern.
- Triplebyte - This platform matches you with top US companies, from startups to big organizations, based on your interests, profile, and the roles the companies are hiring for. They have 3 tracks - Generalist SWE, Front End and Mobile. If you pass their tech screening they suggest a list of matching companies to you and fly you there to do onsite. I took and passed their front end screen and they matched me with 26 companies, which is quite a respectable number. I shortlisted a few and will go for onsite with them soon. If any of you decide to use this and are gonna start on the tech interview round with them, talk to me I can give you some mental preparation. Have a look at their interview process for SWE, Front End and Mobile, it's quite eye-opening and different from the conventional tech interview process. I know of quite a number of juniors who have taken the general SWE coding interview and have passed it, so it shouldn't be too hard.
- InterviewBit - Never used it, but seems quite popular. Can practice questions there and also get matched with companies.
- Hired - Useful for finding a regional job fast I think. Not sure if they hire for US (probably do since they're based in US).
- 100offer - China clone of Hired.
All the best! Feel free to contact me to chat about any of them (:
Thank you so much for putting this up! This is a very helpful list. Just out of curiosity, I'd love to know about the front end resources you've mentioned too, as I'm interested in learning more about front end in general.
Again, this is a great list so thanks!