Interview Step One

Well today I was a nervous wreck. For quite some time I've been considering applying for a job with pocket kings -- the company that writes and manages the software and details behind full tilt poker. A couple of former UofA grads have got prominent positions there and they've been making the case that I should go join them. It took me awhile to come around to their case. It's an awfully large amount of upheaval to move to a country so far away from home. I sort of feel though that it's coming to a time in my life where I need to get up and experience the world a little more than I have been. I've finally started to admit that I'm too much of a homebody, and I need to get out of my comfort zone a bit.

Ireland has a lot of appeal. It's situated in a spot where Diane and I could take frequent traveling trips to see Europe. Dublin is a youthful city with a huge amount of IT people flocking to it. The opportunity to head to out and see the world while having an exciting job seems to good to pass up. The downside is I'd have to leave a significant number of family and friends behind, and that might be harder than I am willing to admit just yet.

So, after thinking about this for quite some time, I've started phase one of applying. I had my first phone interview today with one of their lead server guys. It went ... decently well I think. The topics ranged widely, and I learned a fair amount about the company that I hadn't managed to glean from my other contacts there. I was asked quite a few questions about several things that he thought was of interest on my resume. I gave the best answers I could -- I don't believe I perform all that well under intense scrutiny like that, but I didn't do badly. The only question I botched was when he asked me to come up with an example of deadlock. It wasn't until I had hung up the phone and muttered to myself about it for a moment or two before I came up with the answer. It's so simple too! For those who aren't into systems stuff, deadlock is when two processes or threads try and access sections of code that you deem need to be run or used by only one process at a time. So an easy way to create a deadlock situation is to have a process that grabs the lock for resource A and then the lock for resource B, and another process that attempts to acquire locks in the reverse direction. That way, it can happen that the first process acquires the lock for resource A, but blocks because the other process has acquired the lock for resource B which is blocked because the first process already has that lock. Thus ... deadlock! *sigh*.

Other than that, the interview went alright. I answered his questions to the best of my ability and only stumbled a few times. It's interesting trying to pull pieces of my memory out from the last few years of work that I've done. As the interview progressed, I began to pull more and more pieces of details that I hadn't thought about in awhile. My maxflow algorithm implementation, my adding additional functionality to openssh, my building a user registration system for westgrid, and the details of the Trellis file system that I hadn't thought about in ages.

So I gather I'll be getting another phone interview sometime in the near future where I get to be "grilled" to find out how knowledgeable I am. I'm super nervous about that one. Anyone have any good interview questions that I can ponder as practice?