Being able to pass technical interviews is crucial for career growth as a software engineer, yet it can be hard to know exactly how to prepare. Different software companies evaluate engineers in different ways and there’s nothing worse than being blindsided in a pressure-filled or important situation. This article breaks down what you can expect from each type of interview and how you can nail them.
Domain specific interviews
These involve specific knowledge about the technology you are most comfortable in.
- Focus on what you’ve actually built. Be proud of your work and don’t be shy to dig into the technical details of specific projects.
- Projects should be recent.
Interview types
Phone, screen share, in person
- Screen share: cover computer science fundamentals
- In person: cover engineering fundamentals, attitude, communication, background
- Take home projects: build something in 24-48 hours and present it at a later date
- Other than that, don’t know
Takeaways
Talk to your recruiter and points of contact at the company your interviewing with to get an idea of what you can expect in the interview process
- Be prepared to talk about your work and the software you’ve built
- The less confident you are, the more serious you have to act
Computer Science fundamentals interviews
The job of the interviewer is to asses your raw programming ability
- Learning data structures and algorithms requires extensive preparation and many hours of study
- You will need to know your programming language of choice backwards and forwards
- There are six different types of algorithmic approaches
- Depth first search
- Breadth first Search
- Greedy Sliding Window
- Divide and Conquer
- Recursion Dynamic Programming
- Study up on each of these approaches
A final note about interviewing
Remember you are interviewing the company just like they are interviewing you
- Know your strengths and weaknesses
- Interviewing is a great way to meet people, learn about new technologies and search within yourself
- Failure and rejection are part of life so keep a positive attitude, work hard on what you can control and don’t worry about what you cannot!
Which approach is for you?
Large companies want to see what you can build and what technologies you are comfortable with.
- Startups are usually racing against the clock to get their product working, shipped and out the door. Choose what you are best suited for.