1

Possible Duplicate:
What are the pros and cons for the employer of code questions during an interview?

I am curious to know why do companies hand you a blank paper and ask you to write code? This confuses me, because these days intellisense, google, stackoverflow etc are common sources to look up syntax and / or IDE gives you a colored indicator if your syntax is wrong.

I usually get stressed out during these situations. I am curious to know opinions of other developers. I am posting this on this forum, hoping to get helpful feedback from other experienced developers.

MJH
  • 119
  • 3
  • 8
    Because they're trying to figure out if you can think critically without the use of aids like Google, etc. – Jason Nov 16 '11 at 17:04
  • 5
    If you can't write some lines of code without using google you are probably not that of a good hire. –  Nov 16 '11 at 17:07
  • See http://programmers.stackexchange.com/q/21230/20011 for a thorough discussion of this topic from both the interviewer's and the candidate's points of view. – Caleb Nov 16 '11 at 17:33
  • Not putting you in Visual Studio or some other IDE is fine, but I'm baffled at why a company can't just put you at a standalone (not connected to the Web) computer and ask you to type some stuff in Notepad. Typing seems like a pretty fundamental skill for a programmer. – Kyralessa Nov 16 '11 at 18:25
  • Intellisense for a pseudocode? An interesting idea... – SK-logic Nov 17 '11 at 07:30

7 Answers7

9

I think they are not so interested in checking your syntax but the logic that are trying to put. They need problem solvers and it is important to know what approach you are trying to implement to solve a problem. Correct syntax would be a plus but not necessarily what they are looking for.

Vinit
  • 191
  • 2
  • 4
  • 2
    Exactly, I don't think they will type your code into an editor and compile it. I think they want to see how you approached the problem without Google. – Matt Hulse Nov 16 '11 at 17:05
  • 1
    That's why they should allow you to write it in pseudocode (unless they need diehard code monkeys). –  Nov 16 '11 at 19:24
9

Speaking from experience on having been on the interviewee and interviewer side of things: Problems where you're asked to use a piece of paper or white board is done because your potential employer essentially wants to know two (2) things about you:

  • Are you a problem solver? It might sound elitist and harsh but if you can't solve my problems then why should I hire you?
  • Are you able to communicate well about how you solve a problem? You will be working together with a team, the management and sales. Failure to communicate is problematic in a team environment, there are a lot of times during software crafting/development where making one solution may wreak havoc on another. I can't stress enough how important a simple chat would've saved you and your team from dealing with the havoc and come up with an even better solution.

When the problem you're given is done right by the interviewer then you should be able to answer some questions and solve problems without the need of IDE's or other tools. Usually the problems you're given should be answerable regardless of intellisense/autocomplete knowledge as they won't help you anyway on software and algorithm design anyway, so it is a bogus statement if anyone tells you otherwise as those tools only aid your productivity. I wouldn't be surprised if candidates that complain about the lack of IDE are red flagged as copy-and-paste/wizard users rather than "real" coders/programmers.

So if you're in a situation where you have to write code then do the following:

  1. Take a deep breath. Get that blood circulating in your head.
  2. Focus on the problem at hand. Everything else is irrelevant.
  3. And whatever you do: Don't panic! Always assume good intentions. Just so you know: freaking out is a bad sign.

Usually you won't be gauged on syntax correctness anyway. As long as you know what variables, arrays, loops and conditionals are, you should be able to solve problems on paper. Bonus points if you can remember some computer structures and algorithms. Sometimes the interviewer might probe you on typos and it would help to recognize your own mistakes; in such situations just apologize, correct and move on.

And if you want practice, there is Project Euler... or you could just work on real problems writing real applications.

Spoike
  • 14,765
  • 4
  • 43
  • 58
3

Few companies I know of are too particular about syntax. They don't expect you to write pseudo code, but they don't expect you to write syntactically flawless code either. Its to see you know what how to proceed.

If a company expects you to write compilable code on paper, its probably not a company you want to work for.

Ayush
  • 237
  • 1
  • 7
3

It shows how much you actually know.

Auto-completing intellisense / google / other sites - are just tools.

Although i must admit that knowing what to look for, and doing it fast is also a skill, it's a different one than what is required in that type of test.

A person who can write a program without looking it up first will usually be more productive because he's not wasting time looking for it.

  • They are tools, but intellisense really dumbs me down (in the sense that I hit "." and I know the default method that intellisense will display, and I hit tab without thinking twice about it. –  Nov 16 '11 at 17:07
3

Why?

Because too many people with nice looking resumes can't code their way out of a paper bag.

Also, there are people who maybe can code, but can't communicate what or why they are doing it that way, which is a big detriment in team coding situations.

And don't worry about punctuation coloring and the other stuff that the IDE can fix; because if it's someone you want to work for, that's not the part of the answer in which they're really interested.

hotpaw2
  • 7,938
  • 4
  • 21
  • 47
3

Because I want to know if you can go up to the board during one of our brainstorming sessions and convey your ideas to the rest of the team.

I don't even care if you know how to spell your name, as long as you can get up in front of the team and convey your ideas to the rest of us.

Bill Leeper
  • 4,113
  • 15
  • 20
0

This could be percieved as a good way of identifying the candidates true understanding and experience of a language.

Im not a fan however, programmers today use IDE's and tools because they improve productivity. If a candidate can do great things using just Notepad i wouldn't value them over someone who can do great things using intelisense, why would i?.

You may be the greatest digger in the world with a shovel in your hand, but i would hire the guy whos great with the excavator if i wanted to dig a big hole.

From personal experience though, im astonished at how many times ive tried to jot down solutions to simple problems and been stuck trying to remember basic syntax. It can be really good way of solidifying your understanding by trying "think in code".

rainhamtown
  • 403
  • 1
  • 3
  • 8
  • A code question in an interview won't have anything to do with 'great things.' It'll be a fairly simple task like FizzBuzz, a database query, something like that. Nobody wants to sit around watching while you write pages of code by hand. In simple terms, the question isn't "How awesome are you?" but "Are you minimally competent?" – Caleb Nov 16 '11 at 19:20