Older blog entries for idcmp (starting at number 63)

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

97 Things Every Programmer Should Know

Short on the heels of the now-lost 97 Things Every Software Architect Should Know comes a similar list for developers.  It covers a wide variety of ideas from ethics and requirements to code formatting and testing.  You can buy it from O'Reilly or check out the 97 things online.


Syndicated 2010-02-22 20:53:00 (Updated 2010-02-22 20:54:58) from Idcmp

27 Jan 2010 (updated 27 Jan 2010 at 23:07 UTC) »

Four Easy and Practical Tips When Visiting Vancouver for the 2010 Winter Olympics

I've lived in Vancouver for a while now, and realize that you (and 2.3 million of your closest friends) may be coming to visit for the Winter Olympics. Here are some dead easy tidbits that will make your stay more enjoyable. You may want to bookmark this post for while you're here.Tip #1: EatingTypical Vancouver food is Japanese food, mainly sushi. There are many good, cheap Japanese/Sushi


Syndicated 2010-01-26 21:10:00 (Updated 2010-01-27 22:34:43) from Idcmp

Xen vs KVM

I wanted to chime in on the Xen vs. KVM discussions, and give you some food for thought.I've been using Xen now for years, having replaced UserModeLinux on my personal server, and it's seen a lot of production use at my current job. That said, KVM is ultimately the right way to go. Constant maintenance of Xen's hypervisor kernel is what causes Linux distributions grief with Xen. Those that keep

Syndicated 2009-04-03 05:35:00 (Updated 2009-04-03 05:42:45) from Idcmp

Migrating to Zimbra: A Field Report with Hints and Tips

Last week our company switched from a dovecot/postfix/mysql server hosted 150-210ms away to a locally run Zimbra instance. If you need to do this, I hope my notes will help. I've got a lot to write, so I'll get started: A while before the migration, I gave demos to employees who had unique communication needs (legal department, recruitment, office admin, executive assistants, development, etc).

Syndicated 2009-01-27 03:53:00 (Updated 2009-01-27 04:56:43) from Idcmp

5 Jan 2009 (updated 5 Jan 2009 at 03:10 UTC) »

Provisioning Servers: An Afternoon with Cobbler

I spent some time evaluating Fedora's Cobbler installation service. If you play with many machines - real or virtual - you should definitely take a look. Some handy features: * Kickstart Setup: For Red Hat breed systems, existing Kickstart configurations (found on installation media) are exposed as profiles in Cobbler. You can add your own Kickstart configurations too (imagine a "rhel5-

Syndicated 2009-01-05 00:46:00 (Updated 2009-01-05 01:55:16) from Idcmp

Ye Olde Job: Technology That Wasn't

Our system could accept transactions over the phone (via a clerk) or through our website. The clerk on the phone used a semi-web based application to interact with the system. The headache with this was that the code base for the "semi-web" and "actual web" only became a common code path much, much deeper in the code. So the plan was simple, redo the website code such that it could eventually

Syndicated 2008-12-29 17:03:00 (Updated 2008-12-29 22:51:26) from Idcmp

27 Dec 2008 (updated 30 Dec 2008 at 00:22 UTC) »

Ye Olde Job: First Post - So You're the Boss

It's been seven months since I left my old job, and I feel it's alright to talk about some things. If you're in a situation where you're finding yourself leading a team of developers without any mentoring from anyone on how the heck to do that, I offer you some food for thought. As a developer, you measure your own progress by the code you write, the bugs you fix, stored procedures you debug,

Syndicated 2008-12-26 17:58:00 (Updated 2008-12-29 23:00:03) from Idcmp

Seven Reasons I Didn't Pick Your Open Source Project

After a really relaxing summer, I've picked up a job as a Systems Architect at local company suffering from growing pains. After almost a decade, I've put down my debugger and picked up a budget..for now. I've found myself looking at many different options of products some open source some not. I want to apologize to those open source projects I've rejected and wanted to let you know why: 1.

Syndicated 2008-11-09 18:36:00 (Updated 2008-11-09 23:26:32) from Idcmp

Wave Tracing: Ray Tracing for Sound

Here's the pitch: With regular ray tracing, rays of light are traced backward from a pixel of the camera, to an object and eventually to a light source (or lack thereof). If you can do that with light, why can't it be done with sound? Over ten years ago I was having breakfast with a friend and I sketched out the idea on a napkin. This kind of math is definitely not my strong point. But instead

Syndicated 2008-10-11 19:35:00 (Updated 2008-10-11 19:40:52) from Idcmp

54 older 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!