Earlier quoted context omitted.
I agree, though I think, perhaps, the author has a point about something. It's one thing to be asked to write code on the whiteboard for a practical problem. During the interview process for my current employer, I was asked to sketch out a database design for a given application, including actually writing out some of the SQL to generate the tables, constraints, etc. I was then asked to write queries to pull reports…
It's often hard to ask relevant questions that will fit into the time allotted for an interview. Your DB schema example is a good one - it shows that the candidate can design (and to a lesser extent, implement) an application. Your example (I'm assuming) is missing strong algorithmic problem solving however. It would be good to have an additional question to test this kind of knowledge. It's also important to realize…
Today's Coding Interview Game
91–100 of 127 posts
Re: Today's Coding Interview Game
#92Earlier quoted context omitted.
Well I know that I've solved a few problems in my time: like developing a multi-threaded distributed object-oriented control system, implementing a JPEG2000 encoder, a convolutional neural net, as well as solving a number of debugging problems that escaped my colleagues. I also know I failed miserably at a trivial coding task in an interview. So I don't know. If I'm the only one who has that kind of problem, maybe my…
How trivial? What was the task, then? And what where the conditions? Were you required to remember some nitty details? In an interview, you can fail in almost anything, depending on how nervous you are.
void move( char** colNames, int toColumn, int fromColumn );
The function should move the column name at index fromColumn to the position toColumn. (It does not swap the columns.)Now I just spent 43 min implementing this with a compiler and some trial and error.
During the interview I was expected to do it with pen and paper.
Now my IQ is above the 99th percentile but apparently there are people who can do this sort of thing in their head without errors and that's what some interviewers appear to be looking for. That's why this post hit home for me, though personally I probably wouldn't have had much trouble with linked lists.
Re: Today's Coding Interview Game
#93Earlier quoted context omitted.
It's often hard to ask relevant questions that will fit into the time allotted for an interview. Your DB schema example is a good one - it shows that the candidate can design (and to a lesser extent, implement) an application. Your example (I'm assuming) is missing strong algorithmic problem solving however. It would be good to have an additional question to test this kind of knowledge. It's also important to realize…
Good points, but, how many interviewers would severely penalize someone for not even knowing what a binary tree was? I think explaining the tree and asking for an implementation could be a fair question, but only if the question assumes that the implementation is the important bit.
Of course, I can only speak for myself. I'm sure many programmers would immediately write them off.
Re: Today's Coding Interview Game
#94I worry a lot about this. I don't think it's distrust so much as thoughtlessness. From what I can tell, Google (and other companies) started using these kinds of questions as a way to cheaply filter sudden floods of applicants, not because this is the way to find the greatest geniuses of our time. Policies implemented under the gun have two unfortunate properties: they are wasteful and hard to change after the fact.…
Thoughtful comment, but there's a practical problem with your last point: how can YOU (as a hiring manager at this "some smarter company") effectively filter through the enormous set of screened-out candidates that Google rejected and find those productive, creative misfits that you want to interview/hire out of the teeming throng of vocational misfits? Of the people actively applying for jobs at any given point in t…
Re: Today's Coding Interview Game
#95Earlier quoted context omitted.
They'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 wi…
> 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?
Re: Today's Coding Interview Game
#96Earlier quoted context omitted.
They'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 wi…
> 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?
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.
Re: Today's Coding Interview Game
#97Re: Today's Coding Interview Game
#98I 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…
Code 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.
Re: Today's Coding Interview Game
#99I worry a lot about this. I don't think it's distrust so much as thoughtlessness. From what I can tell, Google (and other companies) started using these kinds of questions as a way to cheaply filter sudden floods of applicants, not because this is the way to find the greatest geniuses of our time. Policies implemented under the gun have two unfortunate properties: they are wasteful and hard to change after the fact.…
Thoughtful comment, but there's a practical problem with your last point: how can YOU (as a hiring manager at this "some smarter company") effectively filter through the enormous set of screened-out candidates that Google rejected and find those productive, creative misfits that you want to interview/hire out of the teeming throng of vocational misfits? Of the people actively applying for jobs at any given point in t…
1) Select a set of candidates based on their resumes making the assumption at this point that their resumes are honest. Good candidates should have at least worked on some interesting projects so their resumes should look interesting. Most lame candidates wouldn't even be able to invent a credible interesting project.
2) Do phone interviews where I would ask knowledge based (ie not problem solving based) questions related to their resumes. The goal here is mainly to filter out fake/exaggerated resumes.
3) Invite the selected candidates to give a presentation on a topic of their choice related to work they've done that is at least marginally relevant to the job. I think you can learn a lot about someone by seeing how they present their work and respond to questions (though it doesn't tell you if they're good coders, that's for the next step). The presentations could probably be done remotely.
4) Hire the selected candidates for short-term contract work. Set things up so they can work remotely. Assign them real tasks that you would expect them to perform in the job.
Make final selection based on evaluation of the candidate's work on step 4 and offer positions to the best.
Re: Today's Coding Interview Game
#100Earlier quoted context omitted.
I 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?
well 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 proficie…
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.