Chapter 77. Technical Interviewing Is a Skill Worth Developing
Trisha Gee
I’m going to let you into a secret: our industry is horrible at interviewing developers. What’s really silly is that we almost never sit a candidate down to write actual code in the actual environment they’re going to be developing in. That’s like testing a musician on theory but never listening to them play.
The good news is that interviewing is a skill like any other, meaning it can be learned. As with acquiring any other skill, you can research what’s involved and practice, practice, practice. If you get rejected during interviews, it doesn’t mean you’re not a good developer. It might just mean you’re not good at interviews. That’s something you can improve on, and each interview is another opportunity to gather more data and to practice.
Interviewers will often ask similar sorts of questions. Here are three that are fairly typical:
- Multithreading gotchas
- It’s still common to be asked to inspect code with
synchronizedscattered liberally around and find the race condition or deadlock. Organizations with this sort of code have bigger problems than hiring developers (although if they show that code in interviews, they’ll definitely have a problem hiring developers), so maybe you don’t want to work there anyway. Having a working understanding of concurrency in Java will help you navigate most of these interview ...