Interview Questions

From EggeWiki
Revision as of 18:00, 1 November 2007 by Egge (talk | contribs)

As part of my job, I am regularly interviewing developers. Often, before a interview a canidate, I do a Google search for them. What I'm hoping to find is:

  • Open source projects they've contributed to
  • Technical postings they've written on messages boards
  • Interesting blog postings

I well prepared canidate as likely Googled me before the interview. In fact, you the reader of this page, may be one such canidate. Well to give you a little help, I'll give you some of the questions I'll probably be asking you. I've posted a subset fo the questions which I usually ask. See also my Phone interview tips

Java Questions

  • What's the difference between .equals and ==. If you can't answer this, it's probably going to be a short interview.
  • Can you put constants in an interface? If so, is this a good idea?
  • Why do people say Java isn't a true object oriented language?
  • What is a weak reference?
  • In Java 1.4, how would you create a type safe enum?

C++

  • Explain the difference between a macro and a template.
  • What is an initializer list? Why use them? When would you be required to use one?
  • What's the difference between an int and a long?
  • How would you determine the number of elements in a C array?
  • What's the difference between a reference and a pointer? Which one do you prefer to use?

SQL

  • What is an inner / outer / self / theta join?
  • Give me an example of a query with a HAVING clause.
  • If you have a time series table which contains the columns instrument, date, & price, what indexes would you create?
  • What is meant by the ACID model?
  • What is a composite primary key?
  • How do you represent a many-to-many relationship?

Network

  • How can you have one thread wait on multiple sockets?
  • Explain how multicast works.
  • What are the five elements which uniquely identify a socket?
  • What is the purpose of the TIME_WAIT state?
  • If a have an echo server on a local network, how many requests per second could a single client make, assuming it has to wait for the response before sending the next request.

Architecture

  • What is virtual memory?
  • What is the difference between virtual memory and virtual address space?
  • What is the difference between kernel and user address space? How much of each do you get on Windows, Solaris, Linux, etc..?
  • What is a memory mapped file? When might you use one?

Unix

  • How do you check the return code of the last command which executed?
  • How can you tell the number of lines in a file?
  • If I chmod a file 644, what permissions will it have?