3/23/08

Ambush Interviews

OK you're going in for an interview. You show up, and find yourself facing a bunch of smarmy self-impressed dipshits asking you a bunch of weird questions about Java, stuff you've never really thought much about. First thing to remember is that they've had number of heated debates about this kind of stuff, so to them it's all really, really important. And you damned well better think it's important too, or else.

For example, one of the questions I've been smacked with has to do with the great checked v. unchecked exception debate. Like you knew there was one, right? It's been going on pretty much since Java was first released, and shows no sign of abating.

More than likely, this will be in a shop that's using Spring bundled with Hibernate. You'll probably also find that these folks really like to talk about dependency injection and inversion of control, but that's a whole nuther issue.

The key is that the Spring framework (and to a lesser extent Hibernate) generally catches checked exceptions and rethrows 'em as unchecked. Folks who think this is the ultimate coolness would be considered in the Eckel camp, which generally thinks checked exceptions suck.

There's another camp, sometimes associated with Joshua Bloch or Rod Johnson (as in the guy who invented Spring), which gets a lot less worked up about the matter, and seems to understand that things are as they are, and we all should be more focussed on writing clean and functional code.

Long and short? Know about this great debate, and be prepared to discuss it. Read through this IBM article and this one as well. Have a little fun and make up a few questions to toss back. Hell, they'll talk about it the whole interview, if you let 'em.

If you really want to floozle 'em, segue into an API design discussion with questions based on this article. They'll think you're a veritable genius.

If nothing else, you'll have showed 'em you can be every bit as dogmatic as they are. Not that it actually lends itself to writing good code, mind you.

When all is said and done, you may actually get an offer. Then, the big question becomes do you really want to work with people like this?

No comments: