Write code during interview [closed]
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;
up vote
3
down vote
favorite
I am a Web Developer in Germany, and until now I never had to write code in interviews. Usually I show my github account or existing web pages as reference.
But now it looks like this will be part of future interviews, as this is quite common in the US. I would like to get some information on how this works in reality?
Usually it takes several hours to set up a web development environment from scratch, or to get into a existing framework, application/server structure,... So I can't imagine any tasks that give usefull information about my coding qualities, and can be solved within 2-3hours?
So what kind of tasks are to be expected?
My main skills are: PHP, Javascript/jQuery, TYPO3
interviewing
closed as off-topic by IDrinkandIKnowThings, gnat, HorusKol, Lilienthal♦, Jim G. Jan 24 '16 at 1:07
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking advice on company-specific regulations, agreements, or policies should be directed to your manager or HR department. Questions that address only a specific company or position are of limited use to future visitors. Questions seeking legal advice should be directed to legal professionals. For more information, click here." – IDrinkandIKnowThings, gnat, HorusKol, Lilienthal
suggest improvements |Â
up vote
3
down vote
favorite
I am a Web Developer in Germany, and until now I never had to write code in interviews. Usually I show my github account or existing web pages as reference.
But now it looks like this will be part of future interviews, as this is quite common in the US. I would like to get some information on how this works in reality?
Usually it takes several hours to set up a web development environment from scratch, or to get into a existing framework, application/server structure,... So I can't imagine any tasks that give usefull information about my coding qualities, and can be solved within 2-3hours?
So what kind of tasks are to be expected?
My main skills are: PHP, Javascript/jQuery, TYPO3
interviewing
closed as off-topic by IDrinkandIKnowThings, gnat, HorusKol, Lilienthal♦, Jim G. Jan 24 '16 at 1:07
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking advice on company-specific regulations, agreements, or policies should be directed to your manager or HR department. Questions that address only a specific company or position are of limited use to future visitors. Questions seeking legal advice should be directed to legal professionals. For more information, click here." – IDrinkandIKnowThings, gnat, HorusKol, Lilienthal
It really depends on organization to organization. Also depends on demand /supply of developers in a particular location. Tough places , yes you have to give coding tests. But majority i would still say go for algorithmic problems or trick questions to test the knowledge of the candidate. The tasks are not that difficult.
– Learner_101
Jan 15 '16 at 3:56
1
More than anything they want to know you can pass a fizzbuzz and come in with at least the basics.
– IDrinkandIKnowThings
Jan 15 '16 at 19:07
"So I can't imagine any tasks that give usefull information about my coding qualities" It's about weeding out bad candidates, not particularly about finding good ones.
– pmf
Nov 7 '17 at 9:56
suggest improvements |Â
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I am a Web Developer in Germany, and until now I never had to write code in interviews. Usually I show my github account or existing web pages as reference.
But now it looks like this will be part of future interviews, as this is quite common in the US. I would like to get some information on how this works in reality?
Usually it takes several hours to set up a web development environment from scratch, or to get into a existing framework, application/server structure,... So I can't imagine any tasks that give usefull information about my coding qualities, and can be solved within 2-3hours?
So what kind of tasks are to be expected?
My main skills are: PHP, Javascript/jQuery, TYPO3
interviewing
I am a Web Developer in Germany, and until now I never had to write code in interviews. Usually I show my github account or existing web pages as reference.
But now it looks like this will be part of future interviews, as this is quite common in the US. I would like to get some information on how this works in reality?
Usually it takes several hours to set up a web development environment from scratch, or to get into a existing framework, application/server structure,... So I can't imagine any tasks that give usefull information about my coding qualities, and can be solved within 2-3hours?
So what kind of tasks are to be expected?
My main skills are: PHP, Javascript/jQuery, TYPO3
interviewing
edited Jan 15 '16 at 9:41


Lilienthal♦
53.9k36183218
53.9k36183218
asked Jan 15 '16 at 0:20


Andrea Schmuttermair
12114
12114
closed as off-topic by IDrinkandIKnowThings, gnat, HorusKol, Lilienthal♦, Jim G. Jan 24 '16 at 1:07
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking advice on company-specific regulations, agreements, or policies should be directed to your manager or HR department. Questions that address only a specific company or position are of limited use to future visitors. Questions seeking legal advice should be directed to legal professionals. For more information, click here." – IDrinkandIKnowThings, gnat, HorusKol, Lilienthal
closed as off-topic by IDrinkandIKnowThings, gnat, HorusKol, Lilienthal♦, Jim G. Jan 24 '16 at 1:07
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking advice on company-specific regulations, agreements, or policies should be directed to your manager or HR department. Questions that address only a specific company or position are of limited use to future visitors. Questions seeking legal advice should be directed to legal professionals. For more information, click here." – IDrinkandIKnowThings, gnat, HorusKol, Lilienthal
It really depends on organization to organization. Also depends on demand /supply of developers in a particular location. Tough places , yes you have to give coding tests. But majority i would still say go for algorithmic problems or trick questions to test the knowledge of the candidate. The tasks are not that difficult.
– Learner_101
Jan 15 '16 at 3:56
1
More than anything they want to know you can pass a fizzbuzz and come in with at least the basics.
– IDrinkandIKnowThings
Jan 15 '16 at 19:07
"So I can't imagine any tasks that give usefull information about my coding qualities" It's about weeding out bad candidates, not particularly about finding good ones.
– pmf
Nov 7 '17 at 9:56
suggest improvements |Â
It really depends on organization to organization. Also depends on demand /supply of developers in a particular location. Tough places , yes you have to give coding tests. But majority i would still say go for algorithmic problems or trick questions to test the knowledge of the candidate. The tasks are not that difficult.
– Learner_101
Jan 15 '16 at 3:56
1
More than anything they want to know you can pass a fizzbuzz and come in with at least the basics.
– IDrinkandIKnowThings
Jan 15 '16 at 19:07
"So I can't imagine any tasks that give usefull information about my coding qualities" It's about weeding out bad candidates, not particularly about finding good ones.
– pmf
Nov 7 '17 at 9:56
It really depends on organization to organization. Also depends on demand /supply of developers in a particular location. Tough places , yes you have to give coding tests. But majority i would still say go for algorithmic problems or trick questions to test the knowledge of the candidate. The tasks are not that difficult.
– Learner_101
Jan 15 '16 at 3:56
It really depends on organization to organization. Also depends on demand /supply of developers in a particular location. Tough places , yes you have to give coding tests. But majority i would still say go for algorithmic problems or trick questions to test the knowledge of the candidate. The tasks are not that difficult.
– Learner_101
Jan 15 '16 at 3:56
1
1
More than anything they want to know you can pass a fizzbuzz and come in with at least the basics.
– IDrinkandIKnowThings
Jan 15 '16 at 19:07
More than anything they want to know you can pass a fizzbuzz and come in with at least the basics.
– IDrinkandIKnowThings
Jan 15 '16 at 19:07
"So I can't imagine any tasks that give usefull information about my coding qualities" It's about weeding out bad candidates, not particularly about finding good ones.
– pmf
Nov 7 '17 at 9:56
"So I can't imagine any tasks that give usefull information about my coding qualities" It's about weeding out bad candidates, not particularly about finding good ones.
– pmf
Nov 7 '17 at 9:56
suggest improvements |Â
6 Answers
6
active
oldest
votes
up vote
6
down vote
There are three main strategies.
You're given a algorithm-like problem, and asked how you would approach it. You're not really writing code, you're more or less talking through algorithms, system design, etc. Your language choice is usually up to you, but you'd only use pseudo-code or sketch a small sample. Believe it or not, some people can't write a loop in all the languages on their resume. You'll either be given front-end, back-end or system-level design (typically scaling). There is definitely a bias toward book-learned answers.
You're paired with someone and you go through something they're working on. Over the course of 2-3 hours your ability to raise the right questions, take the right approach and generate "something" will all come into play. You might not even know the editor, but you can ask about it. Your depth and breadth will come through pretty clearly, even if you're fumbling around. Chances are this strategy is biased by you having experience with the same tools, but those are the tools at least someone at the company is using (and you may have to too).
You're given a problem, usually online, and success if getting a function to return the correct answer. These problems are often traditional comp-sci problems with some twist, but you'll need practical knowledge of reading files, etc. to get the right result. Usually you'll have 2-3 problems, and maybe 30 minutes each. You'll be given test input for the function up front, and that will test the corner cases--so consider them up front. Many people solve the "normal" case and don't consider the oddball cases buried in the list.
suggest improvements |Â
up vote
3
down vote
There's lots of sample coding questions on the internet if you want specific examples. Most places try to avoid the exact questions you can find on the internet though, because people tend to memorize those.
It really varies from company to company what kind of questions you can expect. None of them will ask you to write a whole application, it's more like problems that can be solved with one or a couple functions. The top notch places will ask you algorithm or data structure related questions. Less stringent places will ask more simple ones like start stubbing out a card game.
This process is usually in addition to viewing whatever sample code you provide. They're usually less interested in what exactly you write, so much as interacting with you and watching as you go through the process. They want to hear you think out loud about the problem.
Whiteboarding, as it is often called, is not necessarily a given either. I've had interviews where they give a coding test beforehand, and then had minimal actual whiteboarding, and more high level discussion on programming concepts. The toughest places may give you a round of remote "whiteboarding" via some note sharing web app and the phone, plus a day of whiteboarding and other interviews, or more.
suggest improvements |Â
up vote
3
down vote
You are absolutely right. I actually never give code-this-up problems anymore in interviews because it is so artificial and does not really tell me much about the person's ability. Writing code in 5 minutes on a white board in a stressful situation is not really relevant to job performance in my experience.
Nonetheless, many interviewers will ask you to code on your feet. If you are not experienced at doing this or doing high-speed coding, like in a coding contest, it can be a real show stopper. I have seen candidates write for( i=0; i<10; i++ ){
and then stare at that one line of code for 15 minutes. There is no easy way around this.
In general, probably 90% of such questions involve a list iteration, comparison or modification. For example, let's imagine the task was to intersect two lists (determine the unique set of members common to both lists). To do this you sort the lists and then walk through them using a certain logic. I recommend you do this one example until you have it down cold on a white board. That will be about all you can do to prepare for an actual test in an interview.
So, for example, in the algorithm I describe above, if the input is two lists: b, d, e, e, f, g, a, c, e, q, r, e, d and i, a, f, f, k, p, e, z, e, t then your program should output a, e, f . If you can correctly draw the algorithm to do this on a whiteboard, you will be on the right track.
I would mentally downgrade a candidate who whiteboardedfor( i=0; i<10; i++ )
and didn't immediately follow it with asomewhere farther down the board.
– shoover
Jan 15 '16 at 23:47
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
suggest improvements |Â
up vote
2
down vote
I would like to get some information on how this works in reality?
In reality, the reason for this (as some have stated) is that it is an attempt to solve a problem: what is the difference between a well-spoken candidate that knows little about writing code, and a poorly spoken candidate that will hammer out the code you need as directed? Unfortunately, the answer is - "the interview".
So, as your career progresses... after hiring a few guys that don't talk well but you think should code well but really are just not very bright, and then hiring the well-spoken guys that spend more time talking than coding... you try to find a way to see if the person you are interviewing actually knows how to code.
So, does it work? Well, it depends on a lot of things. But mostly, if you are asked to try to solve a real problem and you make real progress (even if you don't solve it), it gives the interviewer a chance to see your problem solving skills, your creativity and possibly even validate some of your claims on your resume. It's not perfect, but it's probably better than asking some coders to be socially skilled during an interview when they generally lack the capabilities - unless the job requires more than basic people skills.
So what kind of tasks are to be expected?
If the interviewer understands the purpose and limits of a "working interview" then it generally works very well. There are times that you will be asked to do an unreasonable amount of work in an unreasonably short period of time. You will need to draw on resources and/or become familiar with tools and environments that you are not generally accustomed to using or working on. If, during an interview, you can show that you know how to start on that type of task, make progress, or even complete it - that is very useful information to the interviewer.
So be prepared for all kinds of these types of interviews. Some people will know how to use this as a useful interview tool, some will kind of know and others will do it because they hear that it is useful. But, that's not much different from any other form of interview really, right? People ask questions and get answers. Some are skilled at it, others are not.
It's probably best to just be yourself and not stress over this too much. Do what you can, do your best and hopefully, like dating, it will work out to be a great relationship... but not always.
suggest improvements |Â
up vote
1
down vote
The point is to show what kind of communication skills and assumptions you'd make. You'd be given a task like reversing a string or FizzBuzz that while it may seem simple at first glance often has hidden stuff to find and explain as the whole point isn't to solve the problem but rather show how you find that answer.
An analogy I like to use is to consider being given the identical word problem in grades 2 and 7. In grade 2, it is good enough to just get the right number at the end. In grade 7, it is more important to show why that number is right rather than finding that value which is the same idea here in terms of how do you approach solving a simple problem, what kind of tests do you do, what kind of complexity considerations do you make, etc.
suggest improvements |Â
up vote
1
down vote
You won't be asked to set up anything. The coding environment will have been set up for you. If they're feeling fancy they might even put it in a VM so they can re-use it for other applicants as well. Have a look at this article by Jeff Atwood, which talks about and cites experiences of other prominent bloggers on this subject. A choice quote (Dan Kegel):
A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming.
When I interviewed for my current position I was asked to do some tasks in JSP. I had never seen JSP before so I told the interviewer just that and asked if I could use Google as an aid. After a brief dive in Oracle's and SO's most relevant results, I was able to complete the task, save for a small detail. The interviewer noticed that I had basically got it right and decided to spare me guarding against that weird corner case I thought he'd set up as a 'trap'.
When I was introduced to the codebase I was told the story of a previous developer, Martin, who had left about a year ago and who's mess is still being cleaned up. When he was hired the company was not doing code interviews, and he had aced his. The programming questions were all from some of Oracle's Java Certification study guides, which I believe he also holds.
suggest improvements |Â
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
6
down vote
There are three main strategies.
You're given a algorithm-like problem, and asked how you would approach it. You're not really writing code, you're more or less talking through algorithms, system design, etc. Your language choice is usually up to you, but you'd only use pseudo-code or sketch a small sample. Believe it or not, some people can't write a loop in all the languages on their resume. You'll either be given front-end, back-end or system-level design (typically scaling). There is definitely a bias toward book-learned answers.
You're paired with someone and you go through something they're working on. Over the course of 2-3 hours your ability to raise the right questions, take the right approach and generate "something" will all come into play. You might not even know the editor, but you can ask about it. Your depth and breadth will come through pretty clearly, even if you're fumbling around. Chances are this strategy is biased by you having experience with the same tools, but those are the tools at least someone at the company is using (and you may have to too).
You're given a problem, usually online, and success if getting a function to return the correct answer. These problems are often traditional comp-sci problems with some twist, but you'll need practical knowledge of reading files, etc. to get the right result. Usually you'll have 2-3 problems, and maybe 30 minutes each. You'll be given test input for the function up front, and that will test the corner cases--so consider them up front. Many people solve the "normal" case and don't consider the oddball cases buried in the list.
suggest improvements |Â
up vote
6
down vote
There are three main strategies.
You're given a algorithm-like problem, and asked how you would approach it. You're not really writing code, you're more or less talking through algorithms, system design, etc. Your language choice is usually up to you, but you'd only use pseudo-code or sketch a small sample. Believe it or not, some people can't write a loop in all the languages on their resume. You'll either be given front-end, back-end or system-level design (typically scaling). There is definitely a bias toward book-learned answers.
You're paired with someone and you go through something they're working on. Over the course of 2-3 hours your ability to raise the right questions, take the right approach and generate "something" will all come into play. You might not even know the editor, but you can ask about it. Your depth and breadth will come through pretty clearly, even if you're fumbling around. Chances are this strategy is biased by you having experience with the same tools, but those are the tools at least someone at the company is using (and you may have to too).
You're given a problem, usually online, and success if getting a function to return the correct answer. These problems are often traditional comp-sci problems with some twist, but you'll need practical knowledge of reading files, etc. to get the right result. Usually you'll have 2-3 problems, and maybe 30 minutes each. You'll be given test input for the function up front, and that will test the corner cases--so consider them up front. Many people solve the "normal" case and don't consider the oddball cases buried in the list.
suggest improvements |Â
up vote
6
down vote
up vote
6
down vote
There are three main strategies.
You're given a algorithm-like problem, and asked how you would approach it. You're not really writing code, you're more or less talking through algorithms, system design, etc. Your language choice is usually up to you, but you'd only use pseudo-code or sketch a small sample. Believe it or not, some people can't write a loop in all the languages on their resume. You'll either be given front-end, back-end or system-level design (typically scaling). There is definitely a bias toward book-learned answers.
You're paired with someone and you go through something they're working on. Over the course of 2-3 hours your ability to raise the right questions, take the right approach and generate "something" will all come into play. You might not even know the editor, but you can ask about it. Your depth and breadth will come through pretty clearly, even if you're fumbling around. Chances are this strategy is biased by you having experience with the same tools, but those are the tools at least someone at the company is using (and you may have to too).
You're given a problem, usually online, and success if getting a function to return the correct answer. These problems are often traditional comp-sci problems with some twist, but you'll need practical knowledge of reading files, etc. to get the right result. Usually you'll have 2-3 problems, and maybe 30 minutes each. You'll be given test input for the function up front, and that will test the corner cases--so consider them up front. Many people solve the "normal" case and don't consider the oddball cases buried in the list.
There are three main strategies.
You're given a algorithm-like problem, and asked how you would approach it. You're not really writing code, you're more or less talking through algorithms, system design, etc. Your language choice is usually up to you, but you'd only use pseudo-code or sketch a small sample. Believe it or not, some people can't write a loop in all the languages on their resume. You'll either be given front-end, back-end or system-level design (typically scaling). There is definitely a bias toward book-learned answers.
You're paired with someone and you go through something they're working on. Over the course of 2-3 hours your ability to raise the right questions, take the right approach and generate "something" will all come into play. You might not even know the editor, but you can ask about it. Your depth and breadth will come through pretty clearly, even if you're fumbling around. Chances are this strategy is biased by you having experience with the same tools, but those are the tools at least someone at the company is using (and you may have to too).
You're given a problem, usually online, and success if getting a function to return the correct answer. These problems are often traditional comp-sci problems with some twist, but you'll need practical knowledge of reading files, etc. to get the right result. Usually you'll have 2-3 problems, and maybe 30 minutes each. You'll be given test input for the function up front, and that will test the corner cases--so consider them up front. Many people solve the "normal" case and don't consider the oddball cases buried in the list.
answered Jan 15 '16 at 1:26
jimm101
11.6k72753
11.6k72753
suggest improvements |Â
suggest improvements |Â
up vote
3
down vote
There's lots of sample coding questions on the internet if you want specific examples. Most places try to avoid the exact questions you can find on the internet though, because people tend to memorize those.
It really varies from company to company what kind of questions you can expect. None of them will ask you to write a whole application, it's more like problems that can be solved with one or a couple functions. The top notch places will ask you algorithm or data structure related questions. Less stringent places will ask more simple ones like start stubbing out a card game.
This process is usually in addition to viewing whatever sample code you provide. They're usually less interested in what exactly you write, so much as interacting with you and watching as you go through the process. They want to hear you think out loud about the problem.
Whiteboarding, as it is often called, is not necessarily a given either. I've had interviews where they give a coding test beforehand, and then had minimal actual whiteboarding, and more high level discussion on programming concepts. The toughest places may give you a round of remote "whiteboarding" via some note sharing web app and the phone, plus a day of whiteboarding and other interviews, or more.
suggest improvements |Â
up vote
3
down vote
There's lots of sample coding questions on the internet if you want specific examples. Most places try to avoid the exact questions you can find on the internet though, because people tend to memorize those.
It really varies from company to company what kind of questions you can expect. None of them will ask you to write a whole application, it's more like problems that can be solved with one or a couple functions. The top notch places will ask you algorithm or data structure related questions. Less stringent places will ask more simple ones like start stubbing out a card game.
This process is usually in addition to viewing whatever sample code you provide. They're usually less interested in what exactly you write, so much as interacting with you and watching as you go through the process. They want to hear you think out loud about the problem.
Whiteboarding, as it is often called, is not necessarily a given either. I've had interviews where they give a coding test beforehand, and then had minimal actual whiteboarding, and more high level discussion on programming concepts. The toughest places may give you a round of remote "whiteboarding" via some note sharing web app and the phone, plus a day of whiteboarding and other interviews, or more.
suggest improvements |Â
up vote
3
down vote
up vote
3
down vote
There's lots of sample coding questions on the internet if you want specific examples. Most places try to avoid the exact questions you can find on the internet though, because people tend to memorize those.
It really varies from company to company what kind of questions you can expect. None of them will ask you to write a whole application, it's more like problems that can be solved with one or a couple functions. The top notch places will ask you algorithm or data structure related questions. Less stringent places will ask more simple ones like start stubbing out a card game.
This process is usually in addition to viewing whatever sample code you provide. They're usually less interested in what exactly you write, so much as interacting with you and watching as you go through the process. They want to hear you think out loud about the problem.
Whiteboarding, as it is often called, is not necessarily a given either. I've had interviews where they give a coding test beforehand, and then had minimal actual whiteboarding, and more high level discussion on programming concepts. The toughest places may give you a round of remote "whiteboarding" via some note sharing web app and the phone, plus a day of whiteboarding and other interviews, or more.
There's lots of sample coding questions on the internet if you want specific examples. Most places try to avoid the exact questions you can find on the internet though, because people tend to memorize those.
It really varies from company to company what kind of questions you can expect. None of them will ask you to write a whole application, it's more like problems that can be solved with one or a couple functions. The top notch places will ask you algorithm or data structure related questions. Less stringent places will ask more simple ones like start stubbing out a card game.
This process is usually in addition to viewing whatever sample code you provide. They're usually less interested in what exactly you write, so much as interacting with you and watching as you go through the process. They want to hear you think out loud about the problem.
Whiteboarding, as it is often called, is not necessarily a given either. I've had interviews where they give a coding test beforehand, and then had minimal actual whiteboarding, and more high level discussion on programming concepts. The toughest places may give you a round of remote "whiteboarding" via some note sharing web app and the phone, plus a day of whiteboarding and other interviews, or more.
edited Jan 15 '16 at 2:28
answered Jan 15 '16 at 0:46
Kai
3,358921
3,358921
suggest improvements |Â
suggest improvements |Â
up vote
3
down vote
You are absolutely right. I actually never give code-this-up problems anymore in interviews because it is so artificial and does not really tell me much about the person's ability. Writing code in 5 minutes on a white board in a stressful situation is not really relevant to job performance in my experience.
Nonetheless, many interviewers will ask you to code on your feet. If you are not experienced at doing this or doing high-speed coding, like in a coding contest, it can be a real show stopper. I have seen candidates write for( i=0; i<10; i++ ){
and then stare at that one line of code for 15 minutes. There is no easy way around this.
In general, probably 90% of such questions involve a list iteration, comparison or modification. For example, let's imagine the task was to intersect two lists (determine the unique set of members common to both lists). To do this you sort the lists and then walk through them using a certain logic. I recommend you do this one example until you have it down cold on a white board. That will be about all you can do to prepare for an actual test in an interview.
So, for example, in the algorithm I describe above, if the input is two lists: b, d, e, e, f, g, a, c, e, q, r, e, d and i, a, f, f, k, p, e, z, e, t then your program should output a, e, f . If you can correctly draw the algorithm to do this on a whiteboard, you will be on the right track.
I would mentally downgrade a candidate who whiteboardedfor( i=0; i<10; i++ )
and didn't immediately follow it with asomewhere farther down the board.
– shoover
Jan 15 '16 at 23:47
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
suggest improvements |Â
up vote
3
down vote
You are absolutely right. I actually never give code-this-up problems anymore in interviews because it is so artificial and does not really tell me much about the person's ability. Writing code in 5 minutes on a white board in a stressful situation is not really relevant to job performance in my experience.
Nonetheless, many interviewers will ask you to code on your feet. If you are not experienced at doing this or doing high-speed coding, like in a coding contest, it can be a real show stopper. I have seen candidates write for( i=0; i<10; i++ ){
and then stare at that one line of code for 15 minutes. There is no easy way around this.
In general, probably 90% of such questions involve a list iteration, comparison or modification. For example, let's imagine the task was to intersect two lists (determine the unique set of members common to both lists). To do this you sort the lists and then walk through them using a certain logic. I recommend you do this one example until you have it down cold on a white board. That will be about all you can do to prepare for an actual test in an interview.
So, for example, in the algorithm I describe above, if the input is two lists: b, d, e, e, f, g, a, c, e, q, r, e, d and i, a, f, f, k, p, e, z, e, t then your program should output a, e, f . If you can correctly draw the algorithm to do this on a whiteboard, you will be on the right track.
I would mentally downgrade a candidate who whiteboardedfor( i=0; i<10; i++ )
and didn't immediately follow it with asomewhere farther down the board.
– shoover
Jan 15 '16 at 23:47
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
suggest improvements |Â
up vote
3
down vote
up vote
3
down vote
You are absolutely right. I actually never give code-this-up problems anymore in interviews because it is so artificial and does not really tell me much about the person's ability. Writing code in 5 minutes on a white board in a stressful situation is not really relevant to job performance in my experience.
Nonetheless, many interviewers will ask you to code on your feet. If you are not experienced at doing this or doing high-speed coding, like in a coding contest, it can be a real show stopper. I have seen candidates write for( i=0; i<10; i++ ){
and then stare at that one line of code for 15 minutes. There is no easy way around this.
In general, probably 90% of such questions involve a list iteration, comparison or modification. For example, let's imagine the task was to intersect two lists (determine the unique set of members common to both lists). To do this you sort the lists and then walk through them using a certain logic. I recommend you do this one example until you have it down cold on a white board. That will be about all you can do to prepare for an actual test in an interview.
So, for example, in the algorithm I describe above, if the input is two lists: b, d, e, e, f, g, a, c, e, q, r, e, d and i, a, f, f, k, p, e, z, e, t then your program should output a, e, f . If you can correctly draw the algorithm to do this on a whiteboard, you will be on the right track.
You are absolutely right. I actually never give code-this-up problems anymore in interviews because it is so artificial and does not really tell me much about the person's ability. Writing code in 5 minutes on a white board in a stressful situation is not really relevant to job performance in my experience.
Nonetheless, many interviewers will ask you to code on your feet. If you are not experienced at doing this or doing high-speed coding, like in a coding contest, it can be a real show stopper. I have seen candidates write for( i=0; i<10; i++ ){
and then stare at that one line of code for 15 minutes. There is no easy way around this.
In general, probably 90% of such questions involve a list iteration, comparison or modification. For example, let's imagine the task was to intersect two lists (determine the unique set of members common to both lists). To do this you sort the lists and then walk through them using a certain logic. I recommend you do this one example until you have it down cold on a white board. That will be about all you can do to prepare for an actual test in an interview.
So, for example, in the algorithm I describe above, if the input is two lists: b, d, e, e, f, g, a, c, e, q, r, e, d and i, a, f, f, k, p, e, z, e, t then your program should output a, e, f . If you can correctly draw the algorithm to do this on a whiteboard, you will be on the right track.
answered Jan 15 '16 at 19:21


Socrates
5,3951717
5,3951717
I would mentally downgrade a candidate who whiteboardedfor( i=0; i<10; i++ )
and didn't immediately follow it with asomewhere farther down the board.
– shoover
Jan 15 '16 at 23:47
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
suggest improvements |Â
I would mentally downgrade a candidate who whiteboardedfor( i=0; i<10; i++ )
and didn't immediately follow it with asomewhere farther down the board.
– shoover
Jan 15 '16 at 23:47
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
I would mentally downgrade a candidate who whiteboarded
for( i=0; i<10; i++ )
and didn't immediately follow it with a
somewhere farther down the board.– shoover
Jan 15 '16 at 23:47
I would mentally downgrade a candidate who whiteboarded
for( i=0; i<10; i++ )
and didn't immediately follow it with a
somewhere farther down the board.– shoover
Jan 15 '16 at 23:47
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
5 Minutes? Whiteboard? Stressful situation? Our candidates get 30 minutes, on a computer, alone in a quiet room. And we consider their performance a quite valuable data point.
– meriton
Jan 20 '16 at 23:04
suggest improvements |Â
up vote
2
down vote
I would like to get some information on how this works in reality?
In reality, the reason for this (as some have stated) is that it is an attempt to solve a problem: what is the difference between a well-spoken candidate that knows little about writing code, and a poorly spoken candidate that will hammer out the code you need as directed? Unfortunately, the answer is - "the interview".
So, as your career progresses... after hiring a few guys that don't talk well but you think should code well but really are just not very bright, and then hiring the well-spoken guys that spend more time talking than coding... you try to find a way to see if the person you are interviewing actually knows how to code.
So, does it work? Well, it depends on a lot of things. But mostly, if you are asked to try to solve a real problem and you make real progress (even if you don't solve it), it gives the interviewer a chance to see your problem solving skills, your creativity and possibly even validate some of your claims on your resume. It's not perfect, but it's probably better than asking some coders to be socially skilled during an interview when they generally lack the capabilities - unless the job requires more than basic people skills.
So what kind of tasks are to be expected?
If the interviewer understands the purpose and limits of a "working interview" then it generally works very well. There are times that you will be asked to do an unreasonable amount of work in an unreasonably short period of time. You will need to draw on resources and/or become familiar with tools and environments that you are not generally accustomed to using or working on. If, during an interview, you can show that you know how to start on that type of task, make progress, or even complete it - that is very useful information to the interviewer.
So be prepared for all kinds of these types of interviews. Some people will know how to use this as a useful interview tool, some will kind of know and others will do it because they hear that it is useful. But, that's not much different from any other form of interview really, right? People ask questions and get answers. Some are skilled at it, others are not.
It's probably best to just be yourself and not stress over this too much. Do what you can, do your best and hopefully, like dating, it will work out to be a great relationship... but not always.
suggest improvements |Â
up vote
2
down vote
I would like to get some information on how this works in reality?
In reality, the reason for this (as some have stated) is that it is an attempt to solve a problem: what is the difference between a well-spoken candidate that knows little about writing code, and a poorly spoken candidate that will hammer out the code you need as directed? Unfortunately, the answer is - "the interview".
So, as your career progresses... after hiring a few guys that don't talk well but you think should code well but really are just not very bright, and then hiring the well-spoken guys that spend more time talking than coding... you try to find a way to see if the person you are interviewing actually knows how to code.
So, does it work? Well, it depends on a lot of things. But mostly, if you are asked to try to solve a real problem and you make real progress (even if you don't solve it), it gives the interviewer a chance to see your problem solving skills, your creativity and possibly even validate some of your claims on your resume. It's not perfect, but it's probably better than asking some coders to be socially skilled during an interview when they generally lack the capabilities - unless the job requires more than basic people skills.
So what kind of tasks are to be expected?
If the interviewer understands the purpose and limits of a "working interview" then it generally works very well. There are times that you will be asked to do an unreasonable amount of work in an unreasonably short period of time. You will need to draw on resources and/or become familiar with tools and environments that you are not generally accustomed to using or working on. If, during an interview, you can show that you know how to start on that type of task, make progress, or even complete it - that is very useful information to the interviewer.
So be prepared for all kinds of these types of interviews. Some people will know how to use this as a useful interview tool, some will kind of know and others will do it because they hear that it is useful. But, that's not much different from any other form of interview really, right? People ask questions and get answers. Some are skilled at it, others are not.
It's probably best to just be yourself and not stress over this too much. Do what you can, do your best and hopefully, like dating, it will work out to be a great relationship... but not always.
suggest improvements |Â
up vote
2
down vote
up vote
2
down vote
I would like to get some information on how this works in reality?
In reality, the reason for this (as some have stated) is that it is an attempt to solve a problem: what is the difference between a well-spoken candidate that knows little about writing code, and a poorly spoken candidate that will hammer out the code you need as directed? Unfortunately, the answer is - "the interview".
So, as your career progresses... after hiring a few guys that don't talk well but you think should code well but really are just not very bright, and then hiring the well-spoken guys that spend more time talking than coding... you try to find a way to see if the person you are interviewing actually knows how to code.
So, does it work? Well, it depends on a lot of things. But mostly, if you are asked to try to solve a real problem and you make real progress (even if you don't solve it), it gives the interviewer a chance to see your problem solving skills, your creativity and possibly even validate some of your claims on your resume. It's not perfect, but it's probably better than asking some coders to be socially skilled during an interview when they generally lack the capabilities - unless the job requires more than basic people skills.
So what kind of tasks are to be expected?
If the interviewer understands the purpose and limits of a "working interview" then it generally works very well. There are times that you will be asked to do an unreasonable amount of work in an unreasonably short period of time. You will need to draw on resources and/or become familiar with tools and environments that you are not generally accustomed to using or working on. If, during an interview, you can show that you know how to start on that type of task, make progress, or even complete it - that is very useful information to the interviewer.
So be prepared for all kinds of these types of interviews. Some people will know how to use this as a useful interview tool, some will kind of know and others will do it because they hear that it is useful. But, that's not much different from any other form of interview really, right? People ask questions and get answers. Some are skilled at it, others are not.
It's probably best to just be yourself and not stress over this too much. Do what you can, do your best and hopefully, like dating, it will work out to be a great relationship... but not always.
I would like to get some information on how this works in reality?
In reality, the reason for this (as some have stated) is that it is an attempt to solve a problem: what is the difference between a well-spoken candidate that knows little about writing code, and a poorly spoken candidate that will hammer out the code you need as directed? Unfortunately, the answer is - "the interview".
So, as your career progresses... after hiring a few guys that don't talk well but you think should code well but really are just not very bright, and then hiring the well-spoken guys that spend more time talking than coding... you try to find a way to see if the person you are interviewing actually knows how to code.
So, does it work? Well, it depends on a lot of things. But mostly, if you are asked to try to solve a real problem and you make real progress (even if you don't solve it), it gives the interviewer a chance to see your problem solving skills, your creativity and possibly even validate some of your claims on your resume. It's not perfect, but it's probably better than asking some coders to be socially skilled during an interview when they generally lack the capabilities - unless the job requires more than basic people skills.
So what kind of tasks are to be expected?
If the interviewer understands the purpose and limits of a "working interview" then it generally works very well. There are times that you will be asked to do an unreasonable amount of work in an unreasonably short period of time. You will need to draw on resources and/or become familiar with tools and environments that you are not generally accustomed to using or working on. If, during an interview, you can show that you know how to start on that type of task, make progress, or even complete it - that is very useful information to the interviewer.
So be prepared for all kinds of these types of interviews. Some people will know how to use this as a useful interview tool, some will kind of know and others will do it because they hear that it is useful. But, that's not much different from any other form of interview really, right? People ask questions and get answers. Some are skilled at it, others are not.
It's probably best to just be yourself and not stress over this too much. Do what you can, do your best and hopefully, like dating, it will work out to be a great relationship... but not always.
answered Jan 16 '16 at 5:48
Jim
4,495623
4,495623
suggest improvements |Â
suggest improvements |Â
up vote
1
down vote
The point is to show what kind of communication skills and assumptions you'd make. You'd be given a task like reversing a string or FizzBuzz that while it may seem simple at first glance often has hidden stuff to find and explain as the whole point isn't to solve the problem but rather show how you find that answer.
An analogy I like to use is to consider being given the identical word problem in grades 2 and 7. In grade 2, it is good enough to just get the right number at the end. In grade 7, it is more important to show why that number is right rather than finding that value which is the same idea here in terms of how do you approach solving a simple problem, what kind of tests do you do, what kind of complexity considerations do you make, etc.
suggest improvements |Â
up vote
1
down vote
The point is to show what kind of communication skills and assumptions you'd make. You'd be given a task like reversing a string or FizzBuzz that while it may seem simple at first glance often has hidden stuff to find and explain as the whole point isn't to solve the problem but rather show how you find that answer.
An analogy I like to use is to consider being given the identical word problem in grades 2 and 7. In grade 2, it is good enough to just get the right number at the end. In grade 7, it is more important to show why that number is right rather than finding that value which is the same idea here in terms of how do you approach solving a simple problem, what kind of tests do you do, what kind of complexity considerations do you make, etc.
suggest improvements |Â
up vote
1
down vote
up vote
1
down vote
The point is to show what kind of communication skills and assumptions you'd make. You'd be given a task like reversing a string or FizzBuzz that while it may seem simple at first glance often has hidden stuff to find and explain as the whole point isn't to solve the problem but rather show how you find that answer.
An analogy I like to use is to consider being given the identical word problem in grades 2 and 7. In grade 2, it is good enough to just get the right number at the end. In grade 7, it is more important to show why that number is right rather than finding that value which is the same idea here in terms of how do you approach solving a simple problem, what kind of tests do you do, what kind of complexity considerations do you make, etc.
The point is to show what kind of communication skills and assumptions you'd make. You'd be given a task like reversing a string or FizzBuzz that while it may seem simple at first glance often has hidden stuff to find and explain as the whole point isn't to solve the problem but rather show how you find that answer.
An analogy I like to use is to consider being given the identical word problem in grades 2 and 7. In grade 2, it is good enough to just get the right number at the end. In grade 7, it is more important to show why that number is right rather than finding that value which is the same idea here in terms of how do you approach solving a simple problem, what kind of tests do you do, what kind of complexity considerations do you make, etc.
answered Jan 15 '16 at 0:30
JB King
15.1k22957
15.1k22957
suggest improvements |Â
suggest improvements |Â
up vote
1
down vote
You won't be asked to set up anything. The coding environment will have been set up for you. If they're feeling fancy they might even put it in a VM so they can re-use it for other applicants as well. Have a look at this article by Jeff Atwood, which talks about and cites experiences of other prominent bloggers on this subject. A choice quote (Dan Kegel):
A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming.
When I interviewed for my current position I was asked to do some tasks in JSP. I had never seen JSP before so I told the interviewer just that and asked if I could use Google as an aid. After a brief dive in Oracle's and SO's most relevant results, I was able to complete the task, save for a small detail. The interviewer noticed that I had basically got it right and decided to spare me guarding against that weird corner case I thought he'd set up as a 'trap'.
When I was introduced to the codebase I was told the story of a previous developer, Martin, who had left about a year ago and who's mess is still being cleaned up. When he was hired the company was not doing code interviews, and he had aced his. The programming questions were all from some of Oracle's Java Certification study guides, which I believe he also holds.
suggest improvements |Â
up vote
1
down vote
You won't be asked to set up anything. The coding environment will have been set up for you. If they're feeling fancy they might even put it in a VM so they can re-use it for other applicants as well. Have a look at this article by Jeff Atwood, which talks about and cites experiences of other prominent bloggers on this subject. A choice quote (Dan Kegel):
A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming.
When I interviewed for my current position I was asked to do some tasks in JSP. I had never seen JSP before so I told the interviewer just that and asked if I could use Google as an aid. After a brief dive in Oracle's and SO's most relevant results, I was able to complete the task, save for a small detail. The interviewer noticed that I had basically got it right and decided to spare me guarding against that weird corner case I thought he'd set up as a 'trap'.
When I was introduced to the codebase I was told the story of a previous developer, Martin, who had left about a year ago and who's mess is still being cleaned up. When he was hired the company was not doing code interviews, and he had aced his. The programming questions were all from some of Oracle's Java Certification study guides, which I believe he also holds.
suggest improvements |Â
up vote
1
down vote
up vote
1
down vote
You won't be asked to set up anything. The coding environment will have been set up for you. If they're feeling fancy they might even put it in a VM so they can re-use it for other applicants as well. Have a look at this article by Jeff Atwood, which talks about and cites experiences of other prominent bloggers on this subject. A choice quote (Dan Kegel):
A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming.
When I interviewed for my current position I was asked to do some tasks in JSP. I had never seen JSP before so I told the interviewer just that and asked if I could use Google as an aid. After a brief dive in Oracle's and SO's most relevant results, I was able to complete the task, save for a small detail. The interviewer noticed that I had basically got it right and decided to spare me guarding against that weird corner case I thought he'd set up as a 'trap'.
When I was introduced to the codebase I was told the story of a previous developer, Martin, who had left about a year ago and who's mess is still being cleaned up. When he was hired the company was not doing code interviews, and he had aced his. The programming questions were all from some of Oracle's Java Certification study guides, which I believe he also holds.
You won't be asked to set up anything. The coding environment will have been set up for you. If they're feeling fancy they might even put it in a VM so they can re-use it for other applicants as well. Have a look at this article by Jeff Atwood, which talks about and cites experiences of other prominent bloggers on this subject. A choice quote (Dan Kegel):
A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I've personally interviewed graduates who can't answer "Write a loop that counts from 1 to 10" or "What's the number after F in hexadecimal?" Less trivially, I've interviewed many candidates who can't use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn't done much programming.
When I interviewed for my current position I was asked to do some tasks in JSP. I had never seen JSP before so I told the interviewer just that and asked if I could use Google as an aid. After a brief dive in Oracle's and SO's most relevant results, I was able to complete the task, save for a small detail. The interviewer noticed that I had basically got it right and decided to spare me guarding against that weird corner case I thought he'd set up as a 'trap'.
When I was introduced to the codebase I was told the story of a previous developer, Martin, who had left about a year ago and who's mess is still being cleaned up. When he was hired the company was not doing code interviews, and he had aced his. The programming questions were all from some of Oracle's Java Certification study guides, which I believe he also holds.
edited Jan 15 '16 at 19:49
answered Jan 15 '16 at 19:44


rath
12.1k74368
12.1k74368
suggest improvements |Â
suggest improvements |Â
It really depends on organization to organization. Also depends on demand /supply of developers in a particular location. Tough places , yes you have to give coding tests. But majority i would still say go for algorithmic problems or trick questions to test the knowledge of the candidate. The tasks are not that difficult.
– Learner_101
Jan 15 '16 at 3:56
1
More than anything they want to know you can pass a fizzbuzz and come in with at least the basics.
– IDrinkandIKnowThings
Jan 15 '16 at 19:07
"So I can't imagine any tasks that give usefull information about my coding qualities" It's about weeding out bad candidates, not particularly about finding good ones.
– pmf
Nov 7 '17 at 9:56