Interviews are stressful. Technical interview questions can seem even more so—if you’re not prepared.
It’s fair to say that interview skills and the skills in the field of software engineering are two separate skillsets. Along with your field knowledge, you’ll want to work on your interview strategy.
This doesn’t mean you have to have decades in the field or tons of experience. One great thing about the field of software engineering is that people come from all different backgrounds. As long as you can prove your knowledge and show you know what you’re talking about, you can break into the field.
In this article, we’ll cover how to prepare for software engineer interview questions. First we’ll dive into some specific frontend and backend technical interview questions. We’ll give a quick overview into the parts of the software engineer interview and level of technical skills required for each.
To jump directly to a specific section you can click on a heading below.
- How to prepare for technical interview questions
- Common technical interview questions
- Where to find more practice technical interview questions
- Wrap-up
1. How to prepare for technical interview questions
The interview process for a position as a software engineer has several stages.
These are pretty much the same no matter if it’s for a job as a frontend, backend, or full-stack software engineer. The specific technical questions you get may be different. That depends on the role and needs of the company.
How you prepare will be different for each stage. Let’s break down the interview process for software engineering jobs.
Recruiter phone screen
The first step is almost always the recruiter screen.
Recruiters are generally non-technical. They’ll often have a checklist of keywords they are looking for. These often involve years of experience, names of technologies you’ve worked with, etc.
Their main function is to decide if you fit well enough to go to the technical part of the interview process.
For the recruiter screen you’ll want to work on your technical narrative. This is always some form of “tell us about yourself”. Even if you transitioned into tech recently, you want to come up with a narrative that makes sense to an outside ear.
We’re focusing on technical interview questions in this article, but you can more about how to tackle this step in our guide to preparing for the recruiter screen.
Technical phone screen
Once you appease the recruiter, the technical part begins.
The technical screen is generally with an engineer on the team. They’ll likely test your theoretical and practical knowledge to get an idea of your experience.
Preparing yourself with the main theory and common questions for your languages and frameworks goes a long way. We’ll give some examples below.
One major tip is to write down all the questions you get right after the interview. Especially if it was a question you didn’t answer well! Prepare an answer afterwards and write it down. That way you’ll be more prepared next time.
Take-home project
It’s pretty common to be given a task at this point to see how you actually code.
This will likely vary depending on the product the company actually offers. You’ll usually be given a feature to create with a list of criteria.
The length and complexity will often vary but usually it will take a day or two to complete (especially if you are new).
Final stages
The final stages really depend on the company.
You may be introduced to other colleagues at this point for behavioral questions. There might be another technical interview to discuss your project and the choices you made there.
In any case, the worst is likely over by now.
2. Common technical interview questions
Unsurprisingly, the point of the technical interview is to assess your technical knowledge.
This includes your experience and abilities as they relate to the company and position. While there is no one set of specific questions, there are common themes you can prepare for.
Frontend interview questions
These are your questions about languages like JavaScript and related frontend frameworks like React, Vue, etc.
You’re likely also to get some questions on the theory, i.e. object-oriented programming vs. functional programming.
Here are some examples:
JavaScript
- What is hoisting?
- What’s the difference between prototypical and classical inheritance?
- What are the four major principles of object-oriented programming (and how do they work in JavaScript specifically)?
- What are reference vs. primitive types?
- How does the JavaScript runtime environment work and what are the core parts of it?
- What is a closure?
- What are the different types of scopes?
- What is event bubbling?
- Asynchronous JavaScript, what are Promises, async await, generators, and what are the differences?
React/Redux
- When should you put something in the Redux store vs. just in React?
- Why choose React?
- How do React components know they should be rerendered (i.e. virtual DOM)?
- What are the core principles of Redux?
- How do you manage backend calls (Redux thunk, Redux saga)?
- How to test components?
- How to debug components?
- What is a React Pure Component?
Learn more about React.js in our beginners guide.
Be prepared to talk about trade-offs in all these topics.
Look into what the tech stack is for the company. If they use Vue, or Angular, for example, you’ll want to be aware of why one might choose that, differences between React, Vue, and Angular, etc.
Backend interview questions
Let’s go over some questions and themes you might be asked about the backend for web development interviews.
- How does the event loop work in Node.js? What are the phases?
- Name some data structures you know. What’s the difference between a linked list and an array?
- HTTP methods—what’s the difference between PUT and PATCH?
- What’s CORS and what’s the purpose of it?
- What are some Github branching strategies you’re familiar with?
- What are some advantages and tradeoffs of MongoDB (relational databases)?
- What is a join (in SQL)?
- What is a database index?
Learn more about what a backend developer does in our complete beginners’ guide.
Full-stack developer interview questions
You’ll want to be prepped with the questions from the above frontend and backend development sections above.
Here are some more general questions to prepare for that are not related to specifically frontend or backend:
- Tell us about the toughest/most impactful technical challenge you’ve had in a project.
- Tell me about a time you had to handle scaling a system (if you haven’t before – prepare how you would do it).
- How do you keep up with new developments in the field? List newsletters, blogs, YouTube channels, conferences, etc.
4. Where to find more practice technical interview questions
Interview questions will always vary by company.
Once you have a technical interview lined up, a good plan is to research their tech stack. Then search “interview questions” + TECHNOLOGY (i.e. interview questions React) and brush up on anything you’re not familiar with.
There are lots of resources online available for every language and situation, with sites such as LeetCode Explore giving you the chance to practice by interactively answering a variety of technical interview questions.
If you’re looking for more advice and guidance around the less technical section of the coder interview, check our main guide to web developer interview questions.
5. Wrap-up
By now you have an idea what to expect from technical interview questions.
It may seem like a lot of area to cover. Keep in mind not every company will cover all areas. It depends on the technologies they use and the scope of the role. That said, slow and steady wins the race. If you prepare and study for 2-3 questions a day, you’ll be prepared in no time.
Looking to become a web developer or software engineer? Students of our full-stack developer program get access to a dedicated career specialist. But what’s that?
You’ll work closely with your career specialist to connect the dots between your previous accomplishments with your newfound tech skills. Together, you’ll create a winning resume that showcases your talent, and carefully craft your online presence to appeal to tech employers. You’ll also fine-tune your interview skills, learning how to confidently market your experience and negotiate salaries.
If you’re not sure if it’s for you, then try out our free 5-day coding short course to see how you like it.
If you’d prefer to read more about the world of coding first, then check out these articles: