Saturday, February 19, 2011

Software Job Interview

Looking at jobs and trying out using the PDF export from LinkedIn as my resume. Not ideal since it doesn't include all the information from the profile and not easy for format. I tried the LinkedIn Resume builder, but it lost the formatting (newlines) from profile text. I could try using the APIs myself at some point.

For one application, I was asked to send in code samples. I emailed in 6 classes including servlets, a controller, a check digit validator, and unit tests from my last two projects. A mixed group that I wasn't really happy with, some well written, some documented, but atleast all self contained. Not much choice, I had to send them in almost immediately, so no time to write up a new project.

I went in for an interview today and it reminded me of an interview from years ago where I was asked to draw class diagrams on the whiteboard and explain how to reverse characters in a string.

Today's interview included these type of tests that now seem cliche to me:
  • Explaining what example code did, utilities involving generics to convert between types
  • Write code on whiteboard using example code, implement conversion using generics from int to string and change to any object to string
  • Explain what test cases to write for example code, a stack interface
  • Explain possible problems for example code, concurrency issue with access while populating a static hashmap solved by synchronizing the method
  • Answer a brain teaser, determine the fewest balance weighings to find the heaviest ball of 8, explain thought process, answer of 3 easy but best is 2

I didn't ask a lot of great questions, mostly since its an interview, which is not conducive to thinking since I am not relaxed.
But I did ask how they build their code and I was somewhat shocked to hear it is coded in Java. They apparently had looked at Maven earlier but like/go with it. Now I am a Maven evangelist. My thought was that Maven is Java, and I'm sure it would be easy to write Maven plugins (or use existing) to handle the special build code. And I'm sure Maven would handle the versioning and project metadata better.

And of course the classic "where do you see yourself in 5 years?" question. My joke recursive answer is "asking someone the same question, 'where do you see yourself in 5 years?' who will answer ..." on and on.

And in the end I paid $7 for the garage parking.

1 comment:

  1. Sounds like a successful interview overall though. Hopefully they felt the same. I am sure you did just fine though.

    ReplyDelete