views:

6765

answers:

18

I have a potential intern coming in tomorrow for his second interview. Following Joel Spolsky's advice from "Smart & Get Things Done" this is where we get a little technical and make sure the kid can do the things he says he can do.

We are a ASP.NET, C# (1.1 - 3.5) shop that uses XHTML/CSS, jQuery, SQL Server 2000/2005 primarily for our web sites.

What are some quality technical questions you would ask or assume would get asked on an interview to gauge if you knew your stuff?

Update: This is for a SECOND interview the candidate already passed a phone interview where he was asked what sites you read to stay on top etc. The purpose of this interview tomorrow is to see if they really have the knowledge. So I am looking for some questions where they can work through some code on a whiteboard or something.

+4  A: 

I wrote a sample interview test a while ago which seems relevant to job description. Maybe you can give him this little test

Karl Seguin
A: 

One of my favorites (that I was asked, and did not get quite right, but I was still hired):

In a single-elimination sports tournament with 16 teams, how many games do you need to play to have a winner? (Hint: 8+4+2+1=15. This is easy enough to brute-force in your head).

Okay, how many in a tournament with 1000 teams? How about 8674?

How do you calculate it?

...ANSWER BELOW...

You can do it by iteration, you can try to derive a formula...

Or, you can realize that:

  1. The tournament is over when 1 team remains (the winner)
  2. Each match eliminates 1 team
  3. Therefore, the number of required matches is (NumberOfInitialTeams - 1).

As for the hand-wringing over non-power-of-2 numbers of initial teams, please read the following:

http://en.wikipedia.org/wiki/Bye_%28sports%29

"A bye, in sports and other competitive activities, most commonly refers to the practice of allowing a player or team to advance to the next round of a playoff tournament without playing. This is generally the result of having a number of entrants in the competition that is not a power of two (i.e., not 4, 8, 16, 32, etc.); any such tournament must eventually through elimination arrive at an odd number of participants at some point, thus necessitating the bye. In large tournaments, sometimes the best-ranked players or teams get a bye in the first round(s), to reward them with less risk of elimination, as well as on the basis (particularly in seeded tournaments) that they would be most likely to eliminate the worst seeds anyway. Byes can be applied equally to single-person competitions and team sports, and well as to single-game eliminations and best-of series eliminiations."

Stu
+1  A: 

I can't tell if the tournament question is poorly phrased or a trick question, but I would answer that you always have a winner after the first game of the tournament, no matter how many teams are participating

jj33
+1  A: 

There is a very similar question that someone else asked that might help.

Check out the link to The Guerrilla Guide to Interviewing for some good example questions

Jon Works
A: 

@Stu: Off the top of my head, without testing...

for (int x = ceil(number_of_teams/2); x > 0; x /= 2)
{
number_of_games += x;
}

Revised: Is it just number of teams - 1?

Ryan Fox
A: 

@Jon, thanks that has some helpful questions in it. Having a passionate programmer is key

But does the fact that the candidate is applying for an internship mean that the technical questions needs to be easier?

RedWolves
A: 

@stu, For the tournament question,you CAN NOT have 1000 teams, maybe its a trick question.Simple explanation is 1000/2 = 500 (First round) then 500/2 = 250 (Second Round) then 250/2 = 125 ( Third round) then 125/2 = (62.5)??? Aha!! so the number of teams has to be 2power(x) and (number mod 4 = 0) should be true. Plus jj33 answer is correct too.

Nick Masao
+2  A: 

Steve Yegge put up these phone-screen questions that is supposed to eliminate the worst candidates before the real interview. Since they are tailored for asking over the phone most of them should be easy enough for the interns you want.

mreggen
A: 

@Nick: If you have one team sit out for a turn, then it all works out, no matter how many teams you have.

@jj33: He said it was single-elimination. I took that to mean that two teams play against each other (with several parallel games), and one is eliminated after each game.

Ryan Fox
A: 

I think for an intern one of the best questions to ask is simply who/what do you read in whatever field. If the person doesn't just consider this a day job they will follow the developments in the field. At the intern level you may not get the greatest coder ever, simply because they have limited experience especially limited experience working outside of the classroom, but you can get someone who is passionate like Jon said and willing to learn.

jtyost2
+25  A: 

As a fairly recent college grad (December 2006), I might be able to give some insight for you:

1) Most colleges do not teach .NET so if you are going to ask programming questions either make them language agnostic or let the intern select which language he knows the best. (probably Java or C++)

2) Attitude is HUGE. Is he willing to learn? Ambitious? Friendly? When I interned at a non-IT company, there were always times I had to go seek out work (this may or may not be the case depending on how structured your co-op program is). Of the other interns I was with, one slept at least two hours a day (seriously), one everyone hated, and one was ok (he was doing something he didn't want to do). You want an intern that will be ambitious in seeking work and that will get along with the team.

3) Make sure the candidate wants to be a .NET developer. If the candidate prefers Java or C++ and is not willing to work in the Microsoft ecosystem (or doesn't want to full time after graduation), you may not want to bring him on board (really depends on whether hiring the intern is the cards).

4) Ask what classes he has taken and one important thing he learned from his favorite classes. Make sure you discuss non-CS classes. Did he take any business classes?

Always do a tour (show him your office/cube and let him meet team members that are not part of the interview process). Also, remember this interview itself will be a learning experience for the candidate even if he isn't a perfect fit for you.

sestocker
A: 

I would definately get them to be writing some code like the FizzBuzz question or something basic. The answer isn't so much the key (altho it's nice for them to get it right) but to use it a launch pad to get them thinking about things like:

  • If you had to scale this piece of code to handle 10,000 requests per second what are some of the things you might look at doing
  • How would you go about testing this code
  • How would you improve this code
lomaxx
+3  A: 

What is your stackoverflow reputation?

shoosh
Does that really help? I mean, when getting asked about what I do with my free time, I mentioned SO as well in an interview and someone knowing my name can easily find me. But still, the reputation probably tells much less than valuable answers (or questions) the person wrote.
Joey
.... says the guy with the 15K reputation :)
kyoryu
I have to question the validity of this. Some of us have been on SO and have serious dev skills, but have been busy using them rather than sniping questions.
Peter Bernier
I agree with Peter Bernier...
Peter
+2  A: 

I think a good way to interview an intern is to ask non-language specific questions. Ask him how to solve a particular problem and code it in a language of his choice or even pseudo code. The purpose is not to test him with a hard question, but a question hard enough to see how he thinks.

Hao Wooi Lim
A: 

What is ViewState and how is it used?
Write a SQL query to obtain all customers who have a [budget] over $500.
Describe the var keyword and the pros and cons of it.
How do you instantiate a Generic List of Customer classes?
What is the difference between ExecuteNonQuery and ExecuteScalar?

Using the following HTML code and using CSS. Style the class "a2" to have a bolded, underlined text with a red background.

<html>
   <body>
      <a class="a1" href="a1.html">Uno</a><br>
      <a class="a2" href="a2.html">Dos</a><br>
   </body>
</html>
Pat
a "red" "BLACKground"?Ahhh... trick question :)
Atømix
haha woops, now we can see the true horrors of coding. Edited.
Pat
A: 

I have consolidated Technical Interview Questions at: http://www.etechplanet.com/questions/questions.aspx

Visitors are also requested to share Technical Interview Questions at www.etechplanet.com.

Avi
+2  A: 

You can goto a site that offers Interview questions in Asp.net 1.1 and 3.5? here are a couple of links

Asp.net 3.5 Interview Questions

and

Interview Questions for Asp.net 2.0

A: 
  • What is HashTable, Binary Tree, etc.
  • What is quicksort, and other algorithm
  • What is Vector, LinkedList, and other data structures.
  • On jQuery - what are selector and chaining. Some simple examples.
fastcodejava