From the course: Introduction to Career Skills in Software Development

Preparing for technical interviews - Python Tutorial

From the course: Introduction to Career Skills in Software Development

Preparing for technical interviews

- [Instructor] The technical interview is the phase of the hiring funnel, where you get to show off your programming skills. It usually comes with a coding challenge in order to gauge your aptitude for the work. There are three typical flavors of tech interviews these days. The first is the algorithm exercise. This is where you're asked a question that relies on your knowledge of data structures and complexity. This is most common during the beginning of your career. Next, you have the take-home coding challenge. As the name implies, you're asked to complete a coding exercise but you may have a day or two to finish it on your own. As an example, I once was tasked with writing an API for online news articles for a take-home challenge. And finally, there's the live coding session. This is where you have time to work on the project live with one of the engineers on the team. They ask you questions about your solution and may provide hints when you get stuck. For either one, you'll need to prepare in advance. How do you do that? Research the technologies that your desired team uses. Write down notes about the pros and cons. Then put those technologies into practice. This could be in a side project or some other means. And to boost your problem-solving skills, you can turn to online websites, such as LeetCode and AlgoExpert. They provide exercises that you're likely to encounter during your tech interview. This is especially applicable to any algorithm questions. As a heads up, many companies will have you add a new feature to their application as part of the tech challenge. So it's a good idea to make sure you've used their product before the interview. For example, a music app might have you build a new filter for their list of song screen. If you've used their app already, you'll feel more confident about your approach and ultimate solution. And to really stand out, make sure you can discuss your proposed solution. Being able to effectively share your thought process will give the interviewer insight into how you approach problems. Communicating effectively is a timeless skill that is welcomed on any software team.

Contents