The dumbest man on Earth

This is one of the most incredible interviews I’ve had to date. It has plenty of very unique answers and lots of good old-fashioned awkward pause. I’m torn about how much to write down because it really gets kinda long after a while, but I’m likely to put a good deal of it though cause I know some of you will want to hang in there. So without further ado I’ll get to some Q/A.

Oh wait, I suppose I should explain the position first. I’m interviewing candidates for a group downstairs. They’re looking for a SQL guy to help them write reports, and support their current data processes and help support their new SSIS pkgs and do some SSRS stuff. He doesn’t have to know everything, but it would be nice if he had a working knowledge and could be taught. This guy has been doing this for many yrs and has a resume the size of mine. So he’s very experienced.

Q: What does sp_ in front of an sp signify?

A: It means it’s a system procedure supplied by MS.

Me: OK, and what does it do.

Him: Nothing, it just means that MS created it and gave it to you because they thought it was be useful.

Me: And can you create your own?

Him: Well of course. You can create as many as you like.

Me: So does that make them system SPs then?

Him: They’re SPs that were supplied by MS.

Me: Yeah, I got that part. How are they all supplied by MS if I can create my own? Will MS add mine to the product since I created them as system SPs?

Him: Yes. Any SP you add with sp_ will be uploaded to MS and will be included in a service pack.

Me: I don’t think I could have explained that any better myself.

Q: What are the 2 types of UDFs?

A: I didn’t know there were 2 types of UDF.

Me: Ok then.

(Now this one just boggles the mind)

Q: What’s the difference between delete and truncate?

A: I know there’s a difference but I can’t think of it. No wait, I remember. Delete deletes all the data in a table and truncate leaves space at the end.

Me: Pardon? Did you say that truncate leaves space at the end? Then end of what?

Him: Yeah, truncate leaves space but delete gets rid of all the data.

Me: Ok, so what if you only want to get rid of a few rows?

Him: That’s what you call a partial delete and you have to do that inside a transaction.

Me: Moving on…

Q: What are 2 types of cursors?

A: I know there are different types I just don’t know what they are.

(Actually one of the brighter things he’s said.)

Q: What’s the difference between Select Into and Insert Into?

A: Well, I don’t even know where you’re going with that. They’re 2 different statements and they do 2 different things. Yeah, I just don’t know where you’re going with that. It has to be somewhere though. Ok, let me think. A select statement is a query that you use to select data. And an insert you use to put data into a table. But you can use a select with an insert so I guess that makes them the same thing, so I don’t know where you’re going with that. Yeah, I just don’t know. Are you asking me if they’re different, because they’re not. Since you can use a select with an insert that makes them the same thing. Yeah, that’s right.

Me: I think you’ve misunderstood. There’s a select into statement, and there’s an insert into statement. They’re 2 different statements. I’m asking what each one does.

Him: But they’re the same thing aren’t they? Well, I mean except that one selects data and the other inserts it, but you can use them together so doesn’t that make them the same thing?

Me: Well, they both insert data, except the select into creates the table and the insert doesn’t. That’s not the only…

Him: Yeah, I know that. That’s what I was trying to say. Yeah, the select statement creates the table and the insert statement inserts data into it. Yep, that’s right.

Me: Well, that’s not entirely what I said, but let’s move on.

Him: Yeah, it’s close enough. I think we’re talking about the same thing. I’m still not sure where you were going with that though.

Q: What’s the difference between an SP and a trigger?

A: Again, I’m not sure where you’re going with this because a trigger calls an SP so that’s the difference. So a trigger is what calls an SP and the SP is what gets called. That’s the difference.

Me: Ok then. You don’t get any more succinct than that.

Q: What’s the difference between datetime and smalldatetime?

A: I’m not entirely sure what the difference is. I think that datetime only stores small dates and smalldatetime stores larger dates. No, that’s backwards. Datetime stores big dates like anything after say the 15th every month and smalldatetime stores dates from 1 to 14. Yeah, that’s right.

Me: So you’re telling me that I have to have 2 separate cols in my table for each half of the month?

Him: Well yeah. That’s why normalization is such a big deal because if you don’t create your tables properly you’ll be in big trouble because everything’ll be slow.

Me: I honestly don’t know what to say. I’ve never heard that explained in such a clear-minded fashion before. And to tie it back into normalization… just excellent.

(This is my gimme question, right? He’s done so poorly until now I really wanted him to get one.)

Q: What’s the difference between a clustered and a nonclustered index?

A: This is one of those interview questions and I don’t know where you’re going with this one either. I don’t understand this, this is one of those interview questions. This is one of those interview questions…

Me: I’m sorry, you keep saying this is an interview question, what do you mean by that?

Him: Well, this is one of those questions that they ask in every interview. And if you search for interview questions on the internet you usually come up with this one.

Me: So are you telling me that it’s purely an academic question then?

Him: No, I’m just saying that it’s a question you hear in every interview.

Me: Well, this is an interview so why don’t you answer it.

Him: Ok, well a clustered index is a global index. It’s open to everybody. And a nonclustered index is only available to certain people.

Me: I’m afraid I don’t understand.

Him: You don’t have to give permissions for a clustered index; it’s global. Everyone can see it. But for a nonclustered index you need to maintain security for it. It’s part of the MS security model.

Me: So what is it about a nonclustered index that makes you need to lock down security?

Him: I don’t know their reasoning. I just know that’s how it works.

Me: So what’s stored in a nonclustered index that makes you have to lock it down then? What info are you hiding from the general public?

Him: I’ve always wondered that. I don’t know. I just know that it makes the data more secure. That’s what all the documentation says anyway. So I don’t know where you’re going with this because this is just an interview question.

Me: Do yourself a favor and don’t say that again. I get it you think the question’s worthless.

Him: No, it’s not worthless, it’s just that it…

Me: Let’s move on before we get to the end of that sentence.

Q: Explain when you would use the ‘Having’ clause.

A: Well, ‘HAVING’ is not my forte. But it’s used when you can’t use the ‘where’ clause in the right place.

Me: When you can’t use the ‘where’ clause in the right place? I’m not sure what you mean.

Him: There are times when you can’t put the ‘where’ clause where it ordinarily goes so you have to use having.

Me: Can you name one of those times? Give me an example?

Him: Not really. That kind of thing is hard to nail down really. It’s random to begin with.

Me: Wait, what’s random?

Him: When you have to use ‘Having’. It doesn’t happen all the time.

Me: I can see how that would be hard to define something that keeps changing like that. Have you thought about asking MS to make that more stable so people know when to use it?

Him: No, I always figured it was something they couldn’t do or they would have.

Me: Would you be surprised to know that it has been stabilized?

Him: Really? When did they do that? In this last version? Cause I haven’t played with the new one yet.

Me: No, they stabilized it about 25-30yrs ago. I can’t watch you struggle through this anymore. Would you like me to give you the well-kept secret of the ‘having’?

Him: Sure.

Me: ‘Having’ is like a where clause for a ‘group by’. So if you get a result back from a ‘group by’, say you’re counting how many of each value is in a table with something like Select CustID, count(*) as CT from orders group by CustID, then that’s a result you’re getting back from a ‘group by’. You can see how many orders each customer has had. But if you want to see only customers who have had more than 100 orders, then you would add ‘having count(*) > 100’ and you’ll now only see the ones who have had more than 100 orders. So it’s really kind of a ‘where’ clause for a group by. It doesn’t move. It’s not mysterious. And there’s no secret potions or incantations you have to apply to make it work from one day to the next.

Him: Wow, yeah that makes a lot more sense. See, this is why I need to work here because I feel I could really learn from someone like you.

Me: And furthermore… I’m pretty pissed off that you would even waste my time like this. You’re clearly a complete idiot. In the 20+yrs you’ve been doing this you’ve clearly never once opened a single book. I mean, what the hell kind of moron thinks that this shit is all voodoo that nobody can understand? Computers are solid and predictable and you’re an idiot. I mean, seriously, did you really think that SPs you create get uploaded to MS and included in service packs?

Him: Well I always…

Me: Shut up. I don’t even want to know the answer. I’m afraid some of your stupid will get on me and I’ll step into the street in front of a car. I suggest you do something more suited to your intellect. Just remember, when the buzzer goes off, it’s time to pull the fries.

Ok, I made the part in blue up. I was actually very nice to him. But it sure felt good to say all that here.

So ok, that was my interview yesterday. All of these stupid answers are not only completely real, but they were compounded by his nervous laughter. So for every answer there were a couple senseless jokes and about 30-45secs of him laughing at them.

And I don’t know about you guys, but all of the stupidity aside, I find the bit about some of those being interview questions particularly puzzling and somewhat offensive. That’s implying that these questions are useless and have no place in your day to day life.

So there you go… that’s the interview as best as I can recount it. I was taking some notes while he was talking, but I didn’t do some of them justice. Hell, just not being able to convey his laughing all the time really makes you miss an essential part of the experience. And I’m doing more interviews for this group so there’ll be more coming.

26 thoughts on “The dumbest man on Earth”

  1. That’s the difference between you and me Sean. You are absolutely willing to go all the way when you KNOW after the first question the interview isn’t going to end well. I do enjoy reading about it though 🙂

  2. Maybe you should have said, “They’re interview questions because they ask something that is considered standard knowledge for someone applying to be a DBA. If you don’t know the correct answer to an ‘interview question,’ and furthermore understand why it’s the correct answer, then that should tell you that you need to learn more in order to be qualified for that kind of position. There’s no fault in admitting you don’t know something. Either failing to admit you don’t know something or admitting you don’t know something and refusing to do something about it… that’s a different story. And that’s not the type of story a DBA candidate should be telling.”

  3. It is depressing that these interviews happen. OTOH, it is encouraging because it probably enhances my employability.

    Either way, I can’t even tell you how much I love your interview posts…and, though I apologize for wishing ill on you, I can only hope you keep getting interviews like this, since I find it so entertaining.

  4. Certainly some bad answers/non-answers to some questions that anyone with SQL Server experience should know or at least have an idea on. The sad thing is that any professional should know that it is better to admit ignorance than to bluff. I have to admit to having bluffed earlier in my career, especially around .NET stuff, but I’ve learned not to do that.

    For a DBA I think being trustworthy is a required trait and bluffing in an interview clearly shows that you aren’t.

  5. “Computers are solid and predictable” – you went too far with this. Torturing the guy, too?

    Great interview. I allow one dofus answer from an interviewee. Nerves, misunderstanding, over eager, etc. One, though. I allow for infinite “I don’t know – I would go to to find out, though” answers.

  6. I started out laughing, and ended up crying that someone pays this man for working in this field.

    The having clause discussion I’ve had with a couple app devs who didn’t understand what a group by was actually doing, not excusable to say it’s “random”. Not even a little bit excusable.

    My favorite fail in an interview are the people who tell they worked with SQL 2003, because they live in that dream world where we didn’t have to live with SQL 2000 for so very many years…..

    (And I have a new interview question : if you had to create a SQL 2003, which is halfway between SQL 2000 and SQL 2005, which features would you include, and which wouldn’t you, and why?)

    No right answer, but the thought process will be interesting to explore. And of course they need to know *what* actually changed

  7. What bothers me most is…what the hell are we gonna do to you next April Fool’s Day?

  8. I seriously could not hold in my coffee (well, chai) this morning when I got to the Datetime conversation. Oh my!

    Sean, what impresses me the most is your willingness to let them continue to hang themselves. I think most interviewers would be done after two or three questions!

    Love the entertainment value, though 🙂 Thanks!

  9. Too funny. This is exactly why I started phone screening all candidates. I tell them up front that the phone screen will be very technical in nature, so as not to waste their time or ours if they don’t have the technical proficiency I’m looking for. I used to make candidates take a written test, but found the phone screen method to be far better in terms of weeding out the ones that waste my time.

    Still good for a laugh or two, or as Joel Spolsky said, at least you can use it as a chance to exercise your interviewing skills lol.

  10. Wow – that is something else. I’ve become well aware of how much there is I don’t know about SQL in the last 6-8 months, but this guy was something else!

    Thanks for the chuckle…

  11. You should start filming these and posting them on youtube or better yet, on some service that allows you to charge a PPV fee.

    Even a complete novice should have been able to guess a somewhat correct answer to the datetime/smalldatetime question.

  12. For the cursor question, were you going for server-side and client-side? Because my first thought was that the API’s consider there to be 4 types of cursors: static, dynamic, forward-only, and keyset-driven; whereas SQL Server considers there to be just 3 with forward-only being an option that can be applied to the 3 types.

    I would also be tempted to say there is only type of cursor: bad ones.

    Did I just fail that question?

  13. I don’t see what’s so funny, thank you for supplying me with all of the answers I needed for my next interview. I found this blog to be very helpful.

    Sincerely,

    YourNextInterviewee

  14. I don’t think I would have been able to take it that far. I would have shut it down after the first question. I am ok with not knowing something, as I don’t know everything, but not knowing anything is something else entirely.

  15. Wow… I actually expected to get to the end to find out you made the whole thing up. Very disheartening to find out it’s real. But man, the datetime bit is classic!

  16. Have spent the last 10 months trying desperately to recruit a C#/SQL Developer and have generally been quite upset by the lack of people that can answer simple questions like, what’s the difference between DELETE and TRUNCATE. I’ve had some pretty silly answers… but none as utterly hilarious as this guy’s. Thank-you for the laugh, and for making me feel better about the candidates I’ve seen 😀

  17. Is this actually a real transcript from an interview or is it a parody? You said the ‘candidate’ has been doing it for many years, but he seems so in the dark about SQL, but yet obnoxious with it, that I’m not sure if it’s real or just a comedy script to make a point?

  18. Sorry to tell you Ross that all my interview stories are real. I take notes during the interview so I can remember to write it down correctly.
    I had some DBAs come work with me who thought I might be exaggerating, but they found quickly that it was all true.

  19. I’m surprised you had the patience to keep it going, although once you got into it it must have been a really amusing interview to be a part of!

  20. Y there comes a point when you realize the entertainment factor. Some are just sad, while others are such a train wreck you can’t turn away.

Comments are closed.