5 interview tips for getting the technical job you want
Service Fabric is a key Azure component. Many Microsoft internal services are built on top of it. Many external customers are using it. More customers, more requests and more demand. The team has grown from a handful of people a few years back to about 100 devs. I interviewed many of the new hires and over time I built a system to help me decide Hire / No Hire.
To hire for a developer position, I always give candidates a coding problem. I have one problem that I use for a period of time and give it to everybody, so I can easily calibrate the responses. I choose a problem that can be solved in an 1-hour interview, it doesn't require an "aha!" moment, but it needs strong algorithms knowledge. It has a few layers of complexity. Everyone should finish the initial version; the better the candidate, the more complexity I get to add.
If time permits, I follow up with a design question for a problem that usually requires distributed systems knowledge, since that's the field my team works with. If folks do not have distributed systems knowledge, I don't hold it against them, I just shift the problem around a bit or give more information.
To get a feel of the candidate's experience, I ask about their past projects and sometimes I even ask one or two behavioral questions.
Based on what matters to me, here are some of my thoughts for people looking for a new position.
1. Sharpen your coding-on-whiteboard skills
Now, let's face it, we don't use data structures and algorithms every day at work. To be able to rock the interview, get back to one or two good data structures and algorithms books and review the basics. You can try these:
- Skiena's The Algorithm Design Manual
- Elements of Programming Interviews (select the language you need, C++, Java, Python)
- Cracking the Coding Interview
- Programming interviews exposed (for more junior folks)
- Programming Pearls
- Algorithms for Interviews
Then practice, practice, practice! Some people feel uncomfortable to write code on the whiteboard, so if you can find a whiteboard, put it to good use.
2. If you get stuck, keep trying
If you feel like you just can't see the light at the end of the tunnel (the damn solution!), don't give up. Look for alternate ways, ask questions, try a different angle, check your hypothesis. Sometimes, it's not all about getting to the solution immediately; it's about how you deal with a tough situation, how you find your way through the maze. You can save the situation by having an open mind and the desire and curiosity to solve the problem.
3. If there's a hole, check the structure
When the candidates declare success, I sometimes point out a test case that doesn't work. Don't rush to fix it and plug the hole without thinking whether the structure is sound. Don't add an "if" for that condition, then when I point out another hole, another "if"…. Stop and think, and if necessary, improve your code to address all possible holes.
4. Read about the team's products
If you interview for a position in Service Fabric team and you didn't yet have a chance to work with Service Fabric, if at all possible find some time to read about it and try it out. It will make a big difference to show your interest and desire to work here as opposed to anywhere else. Same for any other team or product.
5. Flip the coin
An interview goes both ways: the hiring party wants the best for the team, and you want what's best for you. So be an interviewer in your own interview! Ask questions to figure out if this is the right place for you. Ask about whatever matters most to you: technology, next projects, team culture.
And one last point...
One of the best indicators of success that I've seen is the attitude. No matter where you start, if you are passionate and want to learn, you will have success. Good interviewers see the potential and are more than happy to add it to their team. What are you enthusiastic about? Find that and let it show in the interview.
Chief Innovation Officer at HealthPlanOne | Tech Innovator & Strategist
7 年Great article!
Software Engineer at Pyramid tech
7 年I think it's a bad idea to ask everyone the same question. What if someone has seen the question before? How will you differentiate him from the others struggling through it for the first time? Surely, your question will likely exist in some form in cracking the coding interview or careercup.com. I mean, i can ask you a DP question that you won't be able to come up with a recurrence for in 45 mins. Would that mean you're a no hire?
Perfect Article! Well written too!