Having spent most of my life as an IT contractor, I have been through a lot of technical interviews. There are several questions that I am asked in pretty much every single interview I have been to that I am sure will be asked again.
The interviewers must be noticing how perfect interviewees answers are getting to these repeated queries. My hint is to stop asking them. They are boring and beyond simple. I like interviews that make me think of the best way to solve a problem. You can not list the perfect interview questions because they are not ones that you can learn and recite. Good interview questions make you use your brain, your experience and your skill to demonstrate you can. Asking questions that a first year would know is pretty insulting.
As for the interviewee, don't be verbose and try to impress them with your answers. Just answer the question and wait for the next. Always remember that if they ask you stupid questions, it could be because they do not know the answers to the hard ones.
What is the difference between an abstract class and an interface?
I'd rather answer why a raven is like a writing desk at the Mad Hatter's tea party. It is the eternal question, across languages, dimensions and time. There are a couple of things they could want you to say at this point - an abstract class can be partially implemented but not instantiated; an interface has no implementation and outlines the public methods and constants that a class is contracted to implement when inheriting from it. I have found that they sometimes want you to say that you can inherit from multiple interfaces and one base class. Whatever! Really, this question has to go!
What are the different types of uses for the keyword 'using'?
They want you to know that there is a using directive and a using statement. They want you to know about the using statement so that you properly handle objects whose classes inherit from IDisposable, to ensure their Dispose method is called. The example I give every time is the way to handle an ADOConnection within a using block. It gets smiles and claps and happiness throughout the room. Unfortunately, I feel empty for having to answer that same question for the thousandth time.
What is the difference between a Server.Transfer and a Response.Redirect?
This is meant to show that you understand the difference between the browser sending you to a page and the server sending you to a page. Client-Server and the difference between where decisions are made. They love it when you tell them the back button doesn't know where to go if you Server.Transfer. That gets the mexican wave going.
Does .NET have multiple inheritance?
They want the perfect succinct answer at this point - .NET allows multiple inheritance of interfaces but only one base class.
What is the difference between a primary key and an index?
Again, a question that is asked over and over again and is just not that hard to guess even if you only know Access. One is the physical order and the other is a logical order of the data.
Dumb First Year Uni Questions
I flat out refuse to answer these but here they are...
What is polymorphism?
What is inheritance?
Things you can look up if you care to
We live in a time of storage devices - iPods for my music so I don't sing out loud on the bus; TB drives to store all the photos my friends, family and I have take over the years so that I can print them at any time; and Google for all those difeekult words to spell. If something can be looked up or derived from first principles then there is no reason to remember it. OK, that is going a little far but it is in the right direction. Why would you ask the following questions, especially when it is something a developer would go look up in a book or on the 'blag when they need it?
HTTP error codes?
All the methods on a StringBuilder?
Syntax error meanings?
The difference between a datetime and smalldatetime?
DISCLAIMER: I am very glad that I am so happy with my current job, so that I will not be out there having to answer these questions for a while.