Dave's Notebook

ASP.NET Interview Questions For New College Graduates

animal-018

I’m not the first to write on this topic and probably won’t be the last. But I do have something to say on the matter that I think is helpful.

In fact, there has been quite a bit written about interviewing for ASP.NET, but relatively little written about how to interview, and what to look for, in a student who just recently graduated from college.

So here is my list.

Think of a time when you recently got stuck on a problem (not necessarily programming, but it can be). How did you ultimately solve it? What resources did you use? How might you go about solving the problem differently today?

What I’m after here is not so much how they solve problems, but what they do when they are stuck. If I have a choice between an employee who is going to ask for help and an employee who is going to spend two weeks figuring it out on their own, I’ll take the employee who is going to ask for help.

It is also amazing how few young programmers use Google. Google had better be part of this answer.

What is polymorphism? (or if they can’t answer that, What is a Virtual Function?) Why does it exist? How would you use it in a program?

Frankly, I don’t care much what answer they give me here as long as they can demonstrate that they know what this is. I consider this a core feature of object-oriented programming, yet few graduates have any idea what this is or how to use it in a practical application.

Assuming they got this right, I’d also ask:

  • What is an Interface?
  • What is an Abstract Class?
  • What is the difference between an Interface and an Abstract Class?
  • Bonus points if they can tell me how to have a class implement two interfaces with the same name.

Sketch out a schema for the following database problem. I need to store address information as well as phone numbers and fax numbers for both individuals and locations. I will also need to store up to 3 degrees each person might have associated with them.

Here I’m looking for basic database principles of normalization. The database had better have a separate degree table that has a one to many relationship with the address table. Bonus points if the phone numbers and fax numbers are both in the same table and the address points to them by a unique ID.

What do you do for fun?

While I’m not going to deduct “points” for someone who has interests outside of programming, if programming isn’t one of the things they do for fun, you have to wonder if this is just a “job” for them rather than something they really like to do. I’ve been programming now for 22 years professionally. While my answer may not be “programming” any more, it would be “solving problems,” which includes programming.

Would you hire someone to sell books who didn’t read? Would you hire someone to be a psychologist or sociologist who didn’t like people? Why then would you hire a programmer who didn’t enjoy solving problems?

In CSS, what is the difference between a p div {} and a p > div {}

I’m looking for a basic understanding of CSS.

What are the advantages and disadvantages of using a table for layout?

It’s a pretty easy thing for someone to spit out the industry mantra, “no tables”; it is a completely different thing to explain why someone might use a table in their code instead of a div. Of course, if they never mention DIVs as part of the answer, you’d have to wonder how strong their HTML/CSS skills are.

How would you implement a rollover effect on a GridView row?

There are a couple different ways you might do this. Knowing one of them shows me you know more than the average programmer.

Describe to me a time when you used the debugger.

All I’m looking for here is that they HAVE used the debugger. But I’m not going to ask, “Have you used the debugger?” Asking them to describe using it tells me a whole lot more, and they can’t bluff their way through the answer.

There are probably a lot of other questions I might ask along the way. But if I could find a programmer who could answer these questions satisfactorily, I think I’d be happy with the programmer.