Slashdot Mirror


Core IT Interview Questions?

Aengus asks: "We have a round of job interviews coming up and the people we will be interviewing will be of different backgrounds, so we are looking for a core set of general questions that you could apply to any IT/CS candidate that would display that they knew what they were talking about. ie questions that are not language or job specific. So far all we have come up with 'What algorithm is your favourite or most commonly used?'....." What questions have you been asked on interviews you have participated in?

26 of 86 comments (clear)

  1. There is no such thing .... by nbvb · · Score: 5, Insightful

    The question you just asked above is programmer-specific.

    I know Slashdot is very programmer-oriented, but we do need to remember that there _are_ other disciplines within IT/IS/CS/EE/whatever.

    I'm a sysadmin by trade --- I don't have an algorithm I use most often. If you asked me what my favorite was, I'd probably get into transactional two-phase locking protocols, just 'cuz I think they're neat. But I'm not a DBA, so what does it matter?

    You need to tailor the interview to the specific position that's open. You also should have real, honest-to-goodness technical people conduct the interview --- ideally, people from the team on which the position resides.

    It really makes a difference. I hate interviews with HR pukes. Give me a good technical interview anyway. The interview for my current job took 3 1/2 hours. It was a roundtable discussion with 3 members of the team I'm now a member of. Fantastic way to conduct an interview. Basically, we just shot the breeze discussing various sysadmin things from volume management to SunOS 4.1.whatever to stupid eeprom tricks... and of course, it all proves that I know what the heck I'm talking about. You can't talk that talk without walking the walk!

    All of this is just my personal opinion of course, but I think anything that says "generic interview" anything is useless!

    --DM

  2. How do you think? by ObviousGuy · · Score: 2

    1) Two cubes like they have at the bank. How to represent every day of the month using these two cubes?

    2) Room has 3 lights and 3 switches on the outside. You may not peek inside the room, only enter it and exit it. What is the minimum number of times you must enter the room to determine which switch controls which light.

    3) How can you build a domed roof on a building with squared walls?

    --
    I have been pwned because my /. password was too easy to guess.
    1. Re:How do you think? by Papineau · · Score: 2, Interesting

      Warning: try to answer yourself before reading the rest of this comment.

      1) (Never saw those at a bank or elsewhere, but I think I can still figure out how they're made) So you need to be able to express all the numbers from 1 to 31, with 12 cube faces. You need 10 faces for 0 ,1, ... 8, 9. Then you need an extra 1, 2 and 3 for the tens. Which gives 13 faces, right? Wrong! You don't need two 3, as 33 is not a day of a month.
      Now how to distribute those 12 symbols on the 2 cubes: You need both 1 and both 2 on different cubes (obviously). The rest can then be spread anyway you want, even though there's probably a way which minimizes the number of cube switching during the month.
      Or, if you always want to show both cubes (which the previous answer didn't do), all you need is the 6 and the 9 to the inverse of each other. Then, cube A has 0, 1, 2, 3, 4, 5 and cube B has 0, 1, 2, 6, 7, 8 (with the 9 being an inverted 6).

      2) I'd say 2 times, assuming you know the initial state of the lights, 3 times otherwise.
      If you know the initial state, flip 2 switches, then see which lights have changed state. The one which didn't is the one connected to the switch you didn't use. Then reflip one of the 2 switches you started with. The light which has now changed state is connected to it, so the 3rd light and the 3rd switch are connected.
      If you don't know the initial state, there's no purpose to flip some switches randomly and then enter the room, so enter and look at the state of the lights. Then do as above.

      3) Build the dome on top of a flat roof with a round hole in the middle which connects the dome's base to the squared walls. Or if you don't care about the weather and/or the sun, make the diameter of your dome the same as the length of the walls: it will rest on the middle of each wall.

      My turn:
      1) How do you form 4 equal triangles with 6 matches? You can only connect the matches at their ends.
      2) How do you cut a cake in 8 equal parts with only 3 cuts?
      3) Assuming that with the previous question, not everybody had the same amount of topping, how do you cut the cake in 8 equal parts (topping included) with only 3 cuts?

      Those were fun to do: do you have more?

    2. Re:How do you think? by clem.dickey · · Score: 2

      1. How do you make a Nazi Cross with five matches?
      2. A hole is drilled through the center of a sphere. The height of the resulting object (former sphere) is 6 inches. What is its volume?

      Neither of these is particularly useful in an interview; (1) is an old joke (Ans: Stick four of them in his ear and light them with the fifth) and (2), though interesting to solve, doesn't really reveal aptitude, IMO. But they're still two of my favorites.

      3. Given 12 balls - 11 identical and 1 either heavier or lighter than the others - and a balance beam, determine in as few weighings as possible which is the odd ball, and whether it is heavier or lighter.

      This one is getting a bit too well-known - I first heard it perhaps 20 years ago. But if someone can explain their answer they might have some aptitude for information theory and problem solving.

      4. Write a binary search.

      Anyone who can do this cold, with no boundary errors, gets a gold star.

      5. Find as many errors as you can in [some code]. Feel free to critique the style as well.

      The interviewer should provide code salted with her favorite bugs, whatever they may be.

    3. Re:How do you think? by FattMattP · · Score: 2
      2) I'd say 2 times, assuming you know the initial state of the lights, 3 times otherwise.
      I could do it in one. Turn on the first and second switches. Wait a minute and then turn the second one off. Now go into the room. The first light will be on. The second light will be off but will be hot. The third light will be off and will not be hot.
      --
      Prevent email address forgery. Publish SPF records for y
    4. Re:How do you think? by unitron · · Score: 2

      Actually it takes one cut apiece to silence the complaints of the other two.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

  3. Some things that I've found helpful by PD · · Score: 3, Funny

    computer history:

    -They should have a general idea of how Bill Gates purchased MS-DOS from DEC and how Seymour Cray was out flying his airplane when the IBM sales people came to visit him, virtually guarenteeing that they would choose Microsoft

    -They should have general knowlege of how operating systems have evolved, for example the general progression of operating systems. Multics code was used to make UNIX v.7, which was used to make XENIX (by SCO), which was used to make both OS/2 and Windows NT. They should know that Penguins mean Linux.

    -They should know about various microprocessors, (8-bit) 8086, 80286, Z80, and i860; (16-bit) 80186, 68020 (32-bit) Pentium, etc.

    -It's also nice to know about computer languages, (structured) COBOL, FORTRAN; (OOP) Modula-2, APL; (database) SQL PLUS

    programming: general knowlege of algorithms. They should be able to name an efficient sort algorithm (bubble sort) and describe what an array is.

    Of course, these are all very general questions that only the most ill-informed would get wrong.

    1. Re:Some things that I've found helpful by ninewands · · Score: 2

      They should have a general idea of how Bill Gates purchased MS-DOS from DEC

      Actually, it was Digital Research ... and I've never heard the story about Seymour Cray, although I SERIOUSLY doubt that the God of vector machines was interested in the PC market ... TERMINALS for a Cray 1 cost more than a PC did, even when PCs cost $5K.

      They should know that Penguins mean Linux.

      To most of the world, penguins mean Antarctica, although I LOVE Tux.

      Multics code was used to make UNIX v.7 ...

      ... eventually ... but I think UNIX went through a few versions in the interim ... UNIX v.7 was the LAST AT&T in-house version before development went to Berzerkeley, which IIRC, carried BSD up to 4.2 before AT&T snatched it back to make SysV, leading to worlds of litigation without end ...

      which was used to make XENIX (by SCO)

      actually, XENIX was developed by Microsoft (shock and surprise) who licensed it to SCO, which lead to additional worlds of litigation without end ...

      ... which was used to make both OS/2 and Windows NT.

      I can't say much about OS/2 ... I've never even sat in front of an OS/2 box. The heritage of the NT kernel, however, is pure VMS ... NOT Unix. Read the various historical docs available on the web.

    2. Re:Some things that I've found helpful by clem.dickey · · Score: 2
      how Bill Gates purchased MS-DOS from DEC

      Not DEC. (Not Digital Research, either, as someone else guessed.) Seattle Computer Products. And, according to some histories, not Bill Gates, but Paul Allen. (It did imitate CPM from DR, which in turn imitated RSX-22 from DEC.)

      They should be able to name an efficient sort algorithm (bubble sort)

      Ouch! Bubble sort, at O(n^3), is just about the least efficient determinstic sort possible. Ideally a move-based sort should move each item at most once - to the correct position. Bubble sort will move an item at most one position closer to the right spot with each exchange. You could be more inefficent only if you were to move items in the wrong direction! Use bubble sort in school if you must, but never thereafter.

    3. Re:Some things that I've found helpful by Tom7 · · Score: 2

      Nah, bubble sort is O(n^2).
      There are plenty of less efficient sorts, like:
      - randomly permute the array and check if it's sorted; repeat (expected O((n+1)!))
      - recursively sort first third, last third, then first third again (worse than n^2)

      But, shame on you for falling for a troll. (And shame on me if I am being suckered as well! ;))

    4. Re:Some things that I've found helpful by EvlG · · Score: 2

      Actually bubble sort does quite well when the input is already sorted. much better than many other sorts.

  4. Ask a leading question... by saarbruck · · Score: 2, Funny

    such as "Why is C++ better than C?"

    and see if they have the fortitude to disagree with you, or if they just tell you what they think you want to hear. (Of course, they might truly agree with you, but that's what the polygraph strapped to their arm is for...)

    --
    I am the very model of a modern major general!
  5. Not me, but someone I knew asked... by KurdtX · · Score: 3, Funny

    "Quick! You have two minutes to name as many ways as possible to kill someone with a doorknob. Go."

    (Give it a try, then read on...)

    After a few seconds of silence and questioning looks (to which he just started looking at his watch) most people got going. It works great 'cause you don't hire the people that can't come up with any, and you have security escort out the ones that go for the whole two minutes.

    --

    Kurdt
    I'm not anti-social. Just pro-technology.
  6. THE question ... by ninewands · · Score: 3, Insightful

    "Where do you go for information when somebody drops something in your lap that you know NOTHING about?"

    I answered "The man pages and O'Reilly Press" and got the job I have now (Unix admin at a major university) the interview panel shook their heads and said "Good answer" ... had I seen the question coming, I would have added http://www.linuxdoc.org ... the HOWTOs and FAQs are invaluable resources for problems like sendmail configuration, setting up an anonymous ftp server without compromising security, etc, etc, etc ...

  7. It depends what you intend to do to them by Kris_J · · Score: 2
    If you're expecting this new person to hit the ground running and you're offering no training or decent supervision/leadership then you want to make sure their experience is in the programs you use or it will be a short relationship. If you expect the person to slowly get up to speed after approriate training courses and induction then you need to look at their training and broader employment experience and history.

    So; not training, no help, no hope -- check to make sure they know SQL, ASP, Java, Javascript, PHP, Oracle, Lotus or whatever you use. Feel free to use recent problems as theoretical discussion points (but seriously, if you're like most places who've interviewed me you don't know your ASCII from your EBCDIC)

    Training, decent induction, mentor, leadership, real team -- you want someone with a high-level tertiary degree in a broad area that covers the job description, plus varied experience in a range of similar roles (a few political/delegation/project management questions would be good). A perfect skills match isn't as important as a good approach to the appropriate industry.

  8. Ask deep questions. by rjh · · Score: 2
    At one job, I was asked two questions--no more, no less--by one of my interviewers.
    • Why does Java suck?
    • Why is the answer you just gave wrong?
    ...Sounds counterintuitive, I know, but think about it for a moment. He wasn't asking me to give him facts; he was asking me what I thought, and then he asked me to think one hundred and eighty degrees opposite.

    The job was pure C programming, incidentally.

    I got the job--apparently, my second answer didn't suck as much as I was afraid it did--and I wound up working pretty closely with my interviewer. He told me later that mostly what he wanted to see was proof of life in my cerebral cortex. There are lots of people out there who can sling code, but there aren't many people out there who have given time and effort to applying their analytic and abstract reasoning skills.

    Slashdot is a beautiful example of a community of coders who have great code-fu, but tend to seriously lack in the reasoning department.
    1. Re:Ask deep questions. by The+Mayor · · Score: 2

      Those are absolutely fantastic questions, although they are very specific to programmers. The first question requires a general degree of knowledge about computer languages, including facets of language design and use that are only exposed when someone programs frequently. The second one tests your reasoning skills, especially your abilities to think outside the box (i.e. to put yourself in others' shoes). I like them, and I will adopt them as my own.

      --
      --Be human.
    2. Re:Ask deep questions. by medcalf · · Score: 2

      Where can I find the guy who asked you those two questions? I'd like to hire him.

      --
      -- Two men say they're Jesus. One of them must be wrong. - Dire Straits
  9. "Why doesn't this machine work?" by Bazman · · Score: 2

    Break a machine, slap it in front of them, ask them to fix it.

    Pop the graphics card slightly out, or put some duff RAM chips in, or a blank hard disk. See how they fix it. If they do.

  10. The Best Question by Icepick_ · · Score: 2

    "When did you stop beating your wife?"

  11. Here are some by Hard_Code · · Score: 2

    * Describe a situation in which the best technical solution was not the best overall solution (or otherwise, not possible). What did you do?

    * Describe a project you worked on that failed. Why did it fail? What would you do differently?

    * Describe a project of which you inherited maintainence. Any thoughts?

    * Describe a project in which you transferred maintainence to somebody else. What state was it in and why?

    * Describe an instance in which you had a technical disagreement with a coworker. How did you resolve the issue.

    * What do you do to relax/recoup?

    (I'm serious about the last one...you want to know if this is somebody who is going to burn out fast, or whether they have enough experience to pace themselves, or have some strategy for keeping focused)

    --

    It's 10 PM. Do you know if you're un-American?
  12. monster by josepha48 · · Score: 2
    Go to monster.com. They have a whole slew of interview questions that are commonly asked and many are generic.

    Where do you want to be in 5 years?

    Questions about how you handle personal situations, like conflicts with other employees. How do you resolve them.

    Quesions like do you work better alone or in a group?

    You want to interview the person to get to know that they are a good person and someone you want to work with.

    I have heard of people being asked things like do you like to play ? This was cause they liked to do many employee related things. You may not want a 'homebody' working in a company full of people who like to snow board.

    Also what is thir favorit programming language or script? This is a good way to wead out those C++ programmers that are applying for a C job, or a scripter that is appling for a programmers job. Or someone who hate one or the other.

    --

    Only 'flamers' flame!

  13. Admin/tech support question by Telastyn · · Score: 2

    Give them a network drawing and a problem, and then ask for all the possible causes.

    My favorites are "mail doesn't work", "web doesn't work", "file sharing doesn't work".

    Only one is really necissary, and given the level of their answers you can judge the level of their knowledge (and problem solving abilities).

    Most people will at least get 'service is down, cable is broken, wrong username' and the such. Not everyone will get "broken dns, improper routing tables on machines, flooded network" sort of things...

  14. Take the Steve Jobs approach: by Schemer · · Score: 2

    "Are you a virgin?"

    --
    A buddhist walks up to a hot dog stand and says ``Make me one with everything.''
  15. There was a reason the story gained acceptance... by Futurepower(R) · · Score: 2


    There was a reason the story gained acceptance back then. Gary Kildall, and Digital Research, were very, very unbusinesslike. The story about Kildall flying was just an easily related example, that everyone could believe, considering everything else they knew.

    For example, CP/M operating system manuals from Digital Research sometimes were poor quality copies of originals printed using 8-pin dot-matrix printers that had worn ribbons.

  16. Manhole covers by Thing+1 · · Score: 2
    I always liked the question "Why are manhole covers round?"

    There are several answers; the goal is to test for creativity: "So they don't fall down the manholes"; "So they're easier to transport (you can roll them rather than carry them)"; "So they don't have corners -- if they did, and were not seated properly, they could puncture a car's tires"; other answers?

    --
    I feel fantastic, and I'm still alive.