5 ms·
I understand where the author is coming from because many interviews questions are unreasonable and test absolutely nothing. However, if someone couldn't code
by jchonphoenix 16y ago
I understand where the author is coming from because many interviews questions are unreasonable and test absolutely nothing.
However, if someone couldn't code a linked list on a whiteboard, I'd be severely worried. Same goes for a binary tree. If you know what a linked list or binary tree is, you should have no issues figuring out how to represent them with code in 10 minutes.
The other trickier problems are there to test problem solving ability, which I believe is a valid thing to test.
I think the reason for this style of interview is that companies are afraid of false negatives. They'd rather reject 95% of the qualified people and 99.9% of the unqualified people rather than 94% qualified and 99.5% unqualified.
Additionally, swearing all over the place never helps your case...
- tkahn6 16y agoI think you mean that companies fear false positives which, in turn, causes a high false negative rate.
- tgflynn 16y agoThey'd rather reject 95% of the qualified people and 99.9% of the unqualified people rather than 94% qualified and 99.5% unqualified. And then they complain that they can't hire developers. I don't think these types of interviews are well conceived. Human memory is extremely context dependent and a whiteboard/interview type situation doesn't establish the right context for someone who's accustomed to working alone with a mouse, keyboard and compiler. Also the more knowledge you have the more difficult it becomes to retrieve that knowledge quickly. So these types of interviews might be good at selecting people who know all about linked lists and binary trees but not much else.
- jchonphoenix 16y agoI disagree. If you know what a binary search tree or linked list is, you should be able to code them. If you can't do something this simple, how can you be expected to actually solve a problem that you can't just look up the answer too?
- jonafato 16y agoI'll agree with this on one condition: don't hold syntax errors against me. I interviewed for a position about eight months ago. I was rusty with my C (had been doing more java and python around that time), and put "int i = 0" in a for loop on a white board and seemingly had it counted against me. This kind of thing, along with things like missed semicolons, should be ignored by interviewers. Not only is it a simple fix, it also says nothing about the logic in the code.
- nostrademons 16y agoThat's even legal syntax in C99.
- aplusbi 16y agoWhat makes you think it was held against you? Most programmers can be kind of OCD about code and would want to point out that kind of error, whether they thought it was relevant to your abilities or not.
- matwood 16y agoUnless I've needed a specific language, like SQL for example, anytime I've asked a candidate to code on the whiteboard pseudocode has always been fine.
- thornkin 16y agoAssuming you mean for (int i = 0; ; ) {} that is legal syntax. Perhaps I'm dull, but what is the error?
- lunaru 16y agoI think the point was that in C(89) you need to declare all variables at the beginning of the scope block.
- j_baker 16y agoCan't code one on a whiteboard != can't code one
- chollida1 16y ago> Also the more knowledge you have the more difficult it becomes to retrieve that knowledge quickly. I've never heard this about the human brain before. I'm not saying you're wrong, because I don't know, but statements of fact like this deserve a good reference. Do you have anything to back up this assertion of fact?
- deleted 16y ago[deleted]
- tgflynn 16y agoActually I intended that statement more as an hypothesis/conjecture than as a statement of fact. It does agree with my own introspective observations. If I have seen many different approaches to solving a certain class of problems and I'm presented with a problem which shares features of that class I'm going to have to spend time trying to figure out which of those approaches is most appropriate to the problem and circumstances. If I've only ever seen one approach to that type of problem then the initial phase of the solution space search is simplified and I can immediately begin to try to adapt that one approach to the particular problem. An example might be solving a max flow problem. There are graph based and linear programming based approaches to that problem. If you're only aware of the graph based approaches then you won't lose time trying to figure out which of the two approaches is most appropriate for the problem you're facing. Of course if you're confronted with hard real world problems then having more knowledge increases the likelihood that you will be able to find a solution. That may not apply however to artificial interview questions in a time constrained context.
- rsl7 16y agoCode on the whiteboard is counterproductive at best. Let's hook up your laptop to the projector so I can get a glimpse of how you interact with your computer. I learn more about you by seeing your relationship with your text editor, how you look up information you can't remember, etc. Not watching you sweat with a marker in your hand.
- phillijw 16y agoI agree. I can type a good chunk of code in a few seconds and have it nicely placed in my head to think about other things. On a whiteboard it may take me a minute just to write something out and by that time I've forgotten what I was doing.
- ssp 16y agoI learn more about you by seeing your relationship with your text editor Are you sure you are not just learning whether the candidate is superficially similar to you?
- weaksauce 16y agowell a programmer that is coding a linked list in c/c++ probably(definitely) should know the pointer semantics. If they are looking that up then they should be a pass unless you are looking for a really junior programmer. Now if you are asking them to connect to a db and update a record with a stored procedure and they looked up the syntax for a db connection to a mysql database then you know they are fairly proficient at that type of coding but just forgot the exact syntax of a db connection because it's not something done every day whereas any c programmer worth their salt should know basic pointer rules.
- Retric 16y agoAny language I have not used for a while get’s tossed out of the buffer, and I need to lookup even the most basic of syntax when I start coding in it. Once I get going I can easily recall if it’s *, &, ->, or ^ but at the start I really do need a refresher. PS: Oddly enough, I have little issue working on a multi language programs, it's just I think in terms of pointer not C pointer.
- grayhairmomma 16y agoBill Maher is my hero. Sorry if my swearing offended you, but it's just who I am.