Hi, I’m Brian, a former senior software engineer and now software engineering advisor at Pathrise. I work with hundreds of software engineers to help them land their dream job.
If you are looking to find your first software engineering role or looking to change positions, you probably have figured out that the technical interviews are one of the most important aspects of the interview process. You might have Googled, “how to prepare for software engineering interviews” and found that there is a lot of resources online.
We compiled a list of these resources so that you can find the right one for you. We also created a list of 93 software engineering interview questions from real tech companies that you can practice to get started and wrote a step-by-step guide to solving a Google interview question.
- Interview Cake
- Interview Kickstart
Probably the most well known, Leetcode has over 1050 software engineer interview-type questions, among their 3 skill levels – easy, medium, and hard and problem sets based on company questions (for Premium members). With hundreds of thousands of active users, including on their discussion board, they have one of the largest tech communities, as well.
There are some free questions and solutions on Leetcode, but for the most part, a subscription is necessary in order to fully make use of the service. Users can subscribe to a monthly package for $35 per month (down from $39) or a yearly package for $159 per month (down from $299). Premium users have access to more questions, solutions, more accurate company problem sets, and question sorting by prevalence.
Most people who have been applying for software engineering positions have heard of HackerRank because it is the most common tool used by companies to assess their software engineering candidates. They also offer practice questions for people looking to prepare for upcoming interviews in the environment they will likely be tested in. Their questions are classified by skill level in data structures, algorithms, and general math and in a variety of languages. HackerRank also has a variety of contests and a job board. It is free for users.
Some of their services are offered for free and the rest are part of a paid membership. Users can pay $35 per month or they are currently offering a discount for the yearly membership at $150 per year, which is down from $420 per year.
As the name suggests, CodinGame gamifies software engineering interview question prep by offering multi-player options and competition-based challenges. Users can choose to work in any of their 25+ languages and can participate in online contests to win prizes. Participants can also open their profiles to recruiters who can find them with job opportunities. It is free to use.
Similarly, Codewars makes use of challenges, referred to as “kata”, to help make preparing for technical interviews more fun. All of the challenges are written by the community members and are moderated by the leaders. Challenges are in 20 different languages and 12 languages are currently in beta. Users can solve directly in their browsers. Kata are ranked by difficulty and, in order to join the community, you have to solve a problem first.
CodeSignal, originally called CodeFights, allows software engineers to battle each other in mostly company-sponsored competitions. Recruiters on the other side can see users’ strengths and weaknesses. This information goes into their Predictive Coding Score, which is kind of like a credit score. The site also gives users the opportunity to apply directly to jobs through technical challenges that users can attach to their applications to help differentiate themselves from the competition. CodeSignal is free for users.
If you are looking to take the next step towards a career in software engineering, these tools can help you get the necessary background you need to succeed.
7. Interview Cake
Created by a former Google software engineer, Interview Cake is a study tool to help people prepare for their technical interviews. They focus on understanding the right way to think about and answer these technical questions so that candidates can derive successful answers to questions they have never practiced before. They also include solution breakdowns, gotcha lists, and “what we learned” sections for each question. The questions are grouped by language, topic, and company.
One of the most important parts of interview practice is participating in mock interviews. Interviewing.io is a platform where users are matched with real engineers at tech companies for anonymous practice sessions. Once users feel they are ready, they are invited to participate in real technical interviews for companies that are hiring. These interviews are also anonymous and if the user does well, they can “unmask” themselves for the employer, and move forward to the next round of the interview process with the company.
Similar to Interviewing.io, Gainlo matches users with software engineers at tech companies to participate in 1-hour long mock technical interviews via Skype and a collaborative coding tool. When the interview ends, they receive a feedback form with details on how they did, what they could have done better, and what the optimal solution was. The cost per interview is different depending on who is interviewing the candidate, usually between $90 and $180 per interview, with the average interview at $150.
Pramp is another tool for software engineers who are interested in mock interviews. With this platform, users act as the interviewer and interviewee. The interviews take place over video chat and a collaborative code editor. Each question takes about 30 minutes and then the peers switch, so the session takes about 1 hour. Users are matched with peers based on background, availability, preferred languages, and experience. After the interview, you can give and receive feedback. Pramp is also free for users.
With 70 common data structures, algorithms, and problem-solving questions that span 14 categories and 5 difficulty levels, AlgoExpert is a good tool for software engineers looking to practice for their upcoming technical interviews. Users can write in 5 different languages, using an in-browser coding window to write and run code. They also get access to video explanations for each question and a walkthrough of the code in Python.
AlgoExpert users can choose to pay $70 for one year of access to the platform or they can pay $25 per month.
12. Interview Kickstart
For software engineers who prefer to learn in a bootcamp, Interview Kickstart might be a good option. They work with people who have extensive experience (mainly those looking for engineering manager positions) so that they can be more successful in their technical interviews by helping them get into the interview mindset. The course includes lectures, assignments, and coaching sessions. It lasts 8 weeks and then includes an additional 6 month support period. Prices range depending on the types of services the student wants, starting around $5200 and ending up around $7200.
If you are looking for a mentor to help you with more than just your software engineer interview preparation, Pathrise is a career accelerator that works with students and professionals 1-on-1 on all aspects of the job search so that they can land their dream job in tech.
If you want to work with our industry mentors and career coaches to get help with your software engineering job search, join Pathrise.