Write code during interview [closed]

The name of the pictureThe name of the pictureThe name of the pictureClash 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







share|improve this question














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
If this question can be reworded to fit the rules in the help center, please edit the question.












  • 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

















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







share|improve this question














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
If this question can be reworded to fit the rules in the help center, please edit the question.












  • 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













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







share|improve this question














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









share|improve this question













share|improve this question




share|improve this question








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
If this question can be reworded to fit the rules in the help center, please edit the question.




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
If this question can be reworded to fit the rules in the help center, please edit the question.











  • 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






  • 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











6 Answers
6






active

oldest

votes

















up vote
6
down vote













There are three main strategies.



  1. 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.


  2. 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).


  3. 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.






share|improve this answer



























    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.






    share|improve this answer





























      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.






      share|improve this answer




















      • 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

















      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.






      share|improve this answer



























        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.






        share|improve this answer



























          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.






          share|improve this answer





























            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.



            1. 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.


            2. 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).


            3. 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.






            share|improve this answer
























              up vote
              6
              down vote













              There are three main strategies.



              1. 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.


              2. 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).


              3. 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.






              share|improve this answer






















                up vote
                6
                down vote










                up vote
                6
                down vote









                There are three main strategies.



                1. 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.


                2. 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).


                3. 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.






                share|improve this answer












                There are three main strategies.



                1. 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.


                2. 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).


                3. 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.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 15 '16 at 1:26









                jimm101

                11.6k72753




                11.6k72753






















                    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.






                    share|improve this answer


























                      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.






                      share|improve this answer
























                        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.






                        share|improve this answer














                        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.







                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Jan 15 '16 at 2:28

























                        answered Jan 15 '16 at 0:46









                        Kai

                        3,358921




                        3,358921




















                            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.






                            share|improve this answer




















                            • 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














                            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.






                            share|improve this answer




















                            • 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












                            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.






                            share|improve this answer












                            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.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Jan 15 '16 at 19:21









                            Socrates

                            5,3951717




                            5,3951717











                            • 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
















                            • 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















                            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










                            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.






                            share|improve this answer
























                              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.






                              share|improve this answer






















                                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.






                                share|improve this answer













                                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.







                                share|improve this answer












                                share|improve this answer



                                share|improve this answer










                                answered Jan 16 '16 at 5:48









                                Jim

                                4,495623




                                4,495623




















                                    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.






                                    share|improve this answer
























                                      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.






                                      share|improve this answer






















                                        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.






                                        share|improve this answer












                                        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.







                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered Jan 15 '16 at 0:30









                                        JB King

                                        15.1k22957




                                        15.1k22957




















                                            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.






                                            share|improve this answer


























                                              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.






                                              share|improve this answer
























                                                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.






                                                share|improve this answer














                                                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.







                                                share|improve this answer














                                                share|improve this answer



                                                share|improve this answer








                                                edited Jan 15 '16 at 19:49

























                                                answered Jan 15 '16 at 19:44









                                                rath

                                                12.1k74368




                                                12.1k74368












                                                    Comments

                                                    Popular posts from this blog

                                                    What does second last employer means? [closed]

                                                    List of Gilmore Girls characters

                                                    Confectionery