8 Questions I Ask When Conducting A Tech Interview
Throughout the years, I have conducted countless interviews for various positions. Naturally, I’ve met many people with different personalities and different goals. I’ve consolidated some questions I make sure I ask when I interview someone. These are not limited to tech questions. Some are more towards behavioral and situational questions as well.
- Whiteboarding: These are the algorithm questions, but I try to make it tying into our own system. For example, if my company is in the FinTech industry, I would make the questions more financial themed. These questions tend to be on the easier side, unlike many of the leetocde medium/hard questions. We only want to weed out the “I don’t know anything about this structure and can’t even make an educated guess” people. No tricks. Even if you can only brute force your way through, I won’t criticize you for that.
- System Design: This is for more senior folks. Given a simple task, I want them to design a system that does the job. The candidate needs to be able to explain the why’s and how’s. They also need to indicate the performance and where bottleneck can be. It’s usually a plus if they can think of multiple scenarios where things could go wrong and attempt to address some of those in given time. The system can be an API structure, a database design, or a combination of both. Most of the time I look for verbal answers, but if we do dig down to the specific of the system by any chance, I might ask them to pseudo-code the part of it.
- What prompts you to look for a new job? I want to know why they are leaving the old gig. I want to make sure our company can satisfy what they are looking for so they don’t leave after finding out that what they want cannot be provided by the company. I’ll often tell them straight up if the company doesn’t provide what they want.
- What do you expect in your new role? Similar to last question, we have expectation for them and they do for us. The expectations should meet. If the person is looking for a managerial position, less coding and more people managing, and the position is strong in IC, then I’d tell them it’s not what they are looking for and see if they want to continue with the interview.
- Can you describe to me your last project and your contribution in it? Everyone can leetcode given enough practice, but when it comes to the real work experience, I want to see how they work with deadlines, other developers, and other non-developers. Do they struggle with stress? Do they work well with their coworkers. Sometimes I’ll find some people who really struggle to describe what they do, then it’s a red flag to me.
- What do you do when you disagree with another coworker, whether it’s on your team or on another team? To me, people skill is actually very important in this field. We cannot work alone most of the time. Team collaboration is what carries the companies long. Because it’s team work, disagreements are bound to happen. What do you do when that happens? How do you talk to others? Do you always think you’re the right one? If they tend to complain about the coworkers in their experience, that would be a red flag to me.
- Have you initiate any project? What is it? I worked in a lot of startups and they rely on us sometimes to take on projects, mostly for cleaning tech debts. Have the candidates initiate a project, or they just follow orders? Can they manage the time well between new features and existing tech debts? How do they do it? I look for people who have their ideas and the will to execute these ideas. It would be okay if the order-followers are interviewing for junior positions, but if you are a senior person, I’m looking for more.
- What do you do on your free time? I ask this for my own reference as the last question. I like to work with people who don’t just prioritize work over everything else. I want them to have a life outside of work so I know they won’t burn out.
Of course, these are not the only questions I ask, but I do try to go through as many of them as possible. These will give me a good idea who this candidate is and if he or she can work well with our team. On top of that, these can give me an idea if the candidates will stay with the team.