Core IT Interview Questions? 86
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?
There is no such thing .... (Score:5, Insightful)
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
How do you think? (Score:2)
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?
Re:How do you think? (Score:1)
1) I can do it with one cube. Sides 1-6 are for monday-saturday. When I'm hiding the cube you can assume it's sunday.
2) 0, apparently the 3 switches and lights are on the outside of the room.
3) Just build it so the diameter equals the length from one corner to the diagonal opposite
__
/--\
||
And from this demonstration (Score:1)
Tough call. Keep him on the list and call him back if no one better shows up.
Re:And from this demonstration (Score:1)
Cube sez "5".
In two days there will be NO CUBE!
Re:And from this demonstration (Score:1)
There is a bank here that has hours on Sunday
Re:How do you think? (Score:2, Interesting)
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
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?
Re:How do you think? (Score:1)
2) My cake isn't round or square, it is raised in the middle and then loops down on itself. With one cut I make 8 equal parts with icing.
3) See #2.
Re:How do you think? (Score:1)
Re:How do you think? (Score:1)
Re:How do you think? (Score:2)
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.
Use of BR over P (Score:1)
I am not a big fan of HTML anyway. It combines content markup with style; I would rather see them separate.
Re:How do you think? (Score:1)
Re:How do you think? (Score:1)
Re:How do you think? (Score:1)
For the record I find that this problem is too difficult for an interviewing scenario unless the interviewee is familar with the problem or very very smart they are not going to find the correct solution in a short amount of time. Besides describing all the cases for the complete solution takes a few minutes. As you will see, the answer (3 weighings) can be found from an information approach without knowing the complete solution.
Re:How do you think? (Score:1)
Re:How do you think? (Score:1)
Re:How do you think? (Score:1)
I have a book, "The complete Book of Games and Stunts" published in 1956, that has this problem in it.
Re:How do you think? (Score:2)
Re:How do you think? (Score:1)
I've always felt that to be a stupid answer. Not only does it rely on many conditions (incandescent bulbs, bulbs are withing reach, room is not cold (imagine it was a freezer bulb)), it's also using a method not in the question.
Normally, you want people to think "outside the box", but that is when people create their own boundaries, such as connecting nine dots with four lines, but here, there is no box, you are expecting the person to invent a method that "should" work.
Re:How do you think? (Score:1)
3) build arches up from the tops of the square walls, if done correctly they will intersect the dome appropriately.
your questions,
1) Make a tetrahedron (thats a new one to me, I like it.)
2,3) Cut the cake into quarters in the usual manner. Now, line up the four peices into a row cut down the row into eighths?
My turn:
Given cake and a knife only, what is the best way to cut a cake between three people so that no person can complain about receiving an unfairly small portion? And what is the minimun number of cuts necessary?
Re:How do you think? (Score:1)
Three cuts.
Tell the three people the rules:
1) The cake will start with a cut (1) from an edge to the center
2) The knife holder (non-biased third party) will rotate the knife in a clockwise manner
3) At any time, any cake-receiver can say "Stop" and the knife holder will then cut the cake at that point and the person who said "Stop" gets the piece.
4) Continue until all players have their piece (once more for 3 players).
Of course they will complain about their small pieces, but it's their own fault for being too greedy.
Re:How do you think? (Score:1)
Zero cuts!
The first person eats the whole cake herself, without cutting it.
The other two people can't complain about overly small portions, because they didn't get portions! They can complain that they didn't get any, but they can't complain that the poritions they got were overly small.
Re:How do you think? (Score:2)
Re:How do you think? (Score:1)
Two cuts. Person A cuts the cake in two. Person B cuts the larger of the two pieces in two. Person C chooses any of the three pieces. Person B chooses one of the two remaining pieces. Person A gets what's left.
Re:How do you think? (Score:1)
If you know the initial state of the lights and they are conventional lightbulbs, one time should suffice. Turn on two lights. Wait for 5-10 minutes. Turn one of them off.
Now, when you go into the room you know one is on. Feel the other two lightbulbs. The one that is warm is the other switch.
Re:How do you think? (Score:1)
Say the initial state is all the lights are on (initial state is not necessarily all off). You'd get three warm bulbs. And that's assuming you can feel them (glass preventing you from touching, too high, etc.).
Re:How do you think? (Score:1)
Re:How do you think? (Score:1)
That's just semantic, isn't it? "I do delare, that this first cube represents every day of the month, and that this second cube doth represent every day of every other month."
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.
We don't have any information that these are necessarily standard binary switches, each corresponding to a distinct light in the room. It might be necessary to try every (spacial and temporal) combination and permutation to figure out what is going on.
3) How can you build a domed roof on a building with squared walls?
You find a builder in the yellow pages, and tell him to build a domed roof?
With a hammer, nails, and wood?
As long as the dome is somewhat sturdy and the diameters is between the width of the square and the diagonal of the square, the roof will just sit on top of the square just fine.
What I don't see is what vague riddly questions like these have to do with job stills or job ability.
Propose a task _relevant_ to the job in question ("There's an earthquake and the telepohone goes out...what do you do about..?") if you want to see reasoning skills. The important details to notice are not usually the answer given, but what iformation is deemed necessary to solve the problem and what questions the intervie asks in the process of solving the problem.
Some things that I've found helpful (Score:3, Funny)
-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.
Re:Some things that I've found helpful (Score:2)
Actually, it was Digital Research
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
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
I can't say much about OS/2
Re:Some things that I've found helpful (Score:1)
dude the Karma system is an absolute scale, everyone will eventually hit the cap, even total nobs.
Actually, it would be a lot better if your karma was regularly decremented, say by one or two points a week...
Re:Some things that I've found helpful (Score:1)
Of course, it was Gary Kildall that legend has it was flying when IBM came to call. However, there are multiple accounts of what happened at that time. Here's a short selection:
"Gary Kildall was not flying his plane"
"... the point person for IBM, has sworn that he never met Kildall that day. Kildall swore that not only did he meet with [IBM], but
and the rather more sombre "What a tragedy. He was brilliant." (see "Subject: Kildall and DRI and IBM")
There was a reason the story gained acceptance... (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.
Re:Some things that I've found helpful (Score:2)
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.
Re:Some things that I've found helpful (Score: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!
Re:Some things that I've found helpful (Score:2)
Re:Some things that I've found helpful (Score:1)
Now that is a troll I can respect! Well done. Not a single correct point (unless you count the reference to Tux). You are correct that only the most ill-informed would get these questions wrong. Love your "April 1" answers, too!
To bad everyone had to take you seriously, but I supose that's the point of a troll, now isn't it. This one has the added bonus of possibly getting some poor twit in an interview parroting back the answers you fed them here. Bravo!
Ask a leading question... (Score:2, Funny)
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...)
Re:Ask a leading question... (Score:1)
When I was interviewed... (Score:1)
Re:When I was interviewed... (Score:1)
Not me, but someone I knew asked... (Score:3, Funny)
(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.
THE question ... (Score:3, Insightful)
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"
A simple one I like... ;-) (Score:1)
How do you exit vi?
My guess that at least 50% would be gone, and we are in binary search mode, are not we?
Paul B.
P.S. I personally am an emacs person, but if they EVER had to sit at the console of a bare-bones just-out-of-the-box non-Linux server, they would've see vi set as a default PAGER and would have to figure this out...
P.P.S. And no, I do not mean vim with gtk interface
Re:A simple one I like... ;-) (Score:1)
which come with vi set as default PAGER. FYI, $PAGER is what man(1) uses to show manpages, and if you are trying to find something out and type
'man ifconfig' or something, you DO have to know how to exit...
I would agree about your 'ed' question, but does not Ctrl-D work just fine? Hey, this is quite standard...
As a side note/story, I used to know a girl who worked in medical sciences... Their "computer guy" told them to exit vi by pressing Ctrl-Z...
No wonder she was wondering what were all those "Your editor was killed after 4 days!" e-mail messages to her was about!
Paul B.
It depends what you intend to do to them (Score:2)
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.
Ask deep questions. (Score:2)
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.
Re:Ask deep questions. (Score:1, Flamebait)
STFU, assclown.
Re:Ask deep questions. (Score:2)
Re:Ask deep questions. (Score:2)
Not too helpful, but true (Score:1)
Interviewer: "Have you got a girlfriend?"
Me: No.
Interviewer: "Have you got a boyfriend?
Me: No (and was tempted to ask him the same question).
Mind you, [more] mind games were in play. I was asked to devise a solution to a problem but the interviewer then told me that I was completely wrong and that I should have done it another way. The aim was to see if I would a) not just cave in and just agree that his method was better and b) reasonably explain why I did it the way that I did.
I got the job & for some reason took it...
[And if you hadn't guessed, I'm male.]
Made me think (Score:1)
If the inverviewee comes up with nothing, or nothing of significance then thay have no real experiance. If they come up with a biggie, then you can see how thier mind works, and what sort of things they have encountered.
"Why doesn't this machine work?" (Score:2)
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.
The Best Question (Score:2)
Depends on the role... (Score:1)
There are two main ways to give an interview, in my experience as a candidate:
I got my current job by just sitting and chatting to a couple of guys that were 'interviewing' me. There were a few technical questions but mostly it was assumed that I'd not lied on my CV, and they were just trying to decide if they could get along with me.
The gruelling technical question interview is the kind of thing that I personally dread - I find that I do mostly OK, but I will wimp out and say 'search google' for things that I don't know. Sometimes that's an acceptable answer, sometimes it isn't.
When I was last looking for a job I did come across these interview questions for SysAdmins.. [windborne.net] - the only question that appears to be missing is 'What's your username ...?' clickity-click ;)
Re:Depends on the role... (Score:1)
Time to read up!
Re:Depends on the role... (Score:1)
I'm glad I'm not the only one to do badly!
It has to be said, though, that a lot of those questions are very artificial and would be trivial to answer if you were in front of a computer. (Very hard to answer if you were doing this over a phone..)
Here are some (Score:2)
* 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)
monster (Score:2)
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.
Admin/tech support question (Score:2)
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...
Take the Steve Jobs approach: (Score:2)
You are in a room with two computers... (Score:1)
This was probably my favorite tech interview question. (Thanks Eric!). It was a real mind twister. In the end, I think I came up with a dozen or so ways to do it, and I got the job.
Manhole covers (Score:2)
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?
Re:Manhole covers (Score:1)
My answer has always been "Because manholes are round."
Pseudocode (Score:1)