24 Feb 2010 idcmp   » (Journeyer)

My Java Developer Interview Questions

Here it is! Many people have asked for this list - it's one I built, borrowed and tweaked over the years. I place a lot of value in "I don't know" over inventing answers as that's what I'd expect a colleague to do.  

It's really important to tailor questions to each candidate.  I'm a strong believer that a smart, experienced developer can pickup new frameworks, APIs, etc, so a lot of these questions are not Java specific.

Know the answers to any of these? :)

Difference Questions

These are really great kinds of questions, candidates can talk approach the answer however they feel comfortable and aren't required to give "definitions" of things.

  1. What's the difference between TCP and UDP? (if they know, follow up asking about UDP vs ICMP)
  2. What's the difference between Bandwidth and Latency?
  3. What's the difference between an Inner Join and an Outer Join?
  4. What's the difference between NoClassDefFoundError  and ClassNotFoundException?
  5. What's the difference between SAX and DOM?
  6. What's the difference between a Thread and Process?
  7. Order from slowest to fastest: register read, disk seek, context switch, read from main memory.
Design Questions

  1. Let's say you're reviewing (or writing) a simple system that requests an email address, a password and comments (in a textarea) then stores those values in a database. Pretending performance isn't an issue, what kinds of things would you ensure in place before it went live?Sometimes candidates would need some assistance on topics (security, usability, database schemas).
  2. Let's say McDonald's has asked you to develop their "N millions served" counter for their main website.  This value comes from a slower system (via HTTP).  Talk a bit about how you would design this.  
  3. How do you traverse a cyclic graph?
Java Specific Questions
  1. What is autoboxing? Had any problems with it?
  2. Every worked with JMS topic/queue, clustered?
  3. How are Servlets and JSPs different?
  4. What does 'final' mean?  Ever worked with a class marked final? (bonus points if they laugh on the second question)
  5. What does 'static' mean?
  6. List and describe different access modifiers.
  7. How would you diagnose a memory leak?
Random Grab-Bag Questions

A bit of systems, object-orienteering, and such.
  1. How do you check error conditions in bash? (If they list shell scripting)
  2. What's the difference between lazy and greedy regular expressions?
  3. What's a context switch?
  4. Ever worked on an "AJAX"y system?  What challenges did you run into? (a little bit dated now I guess!)
  5. What's a deadlock?  How do you prevent deadlocks?
  6. What is Polymorphism?
  7. What are the characteristics of a singleton?
General Opinion/Discussion Questions

  1. What makes a good build tool?  What makes a bad build tool?
  2. What's your favourite/least favourite API/package? Why?
  3. Have you worked on a high-volume system before?  What is "high volume" to you?
What have you been asked before?

Syndicated 2010-02-24 22:08:00 (Updated 2010-02-24 22:08:25) from Idcmp

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!