Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have an interview for a position and was told that I would have to do some coding test, given a laptop in a specific, by myself, in a specific time-period of 45-60 mins.
This is the first time for me for something like this, and I was wondering how could I prepare best? Do you have similar experience?
What do this kind of tests are about?
Any example?

share|improve this question

closed as not constructive by gnat, Matthew Flynn, BЈовић, Walter, ChrisF May 12 '12 at 11:33

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

If they do this kind of test, they care about if you can do what you claim when applying. That is a good thing. –  user1249 May 11 '12 at 8:04

5 Answers 5

The exact content of the test will depend on the job description your applying for, and of course the company giving the test.

These tests can vary from a quizz on easy to hard programming concepts (including boolean logic, loops, pointers, OOP, ...) to brain teasers ("How would you move the Mount Fuji ?").

If they're gonna give you a laptop for the test, I guess maybe they'll ask you to make a sample app/page/feature/algorithm in lifelike conditions, depending on the job's description. For instance if you apply to be a front end website developper, they'll ask you to develop a page with X or Y feature. They aim would be to see if :

  1. You "really" know how to code, using the famous Fizz-Buzz test (50% of interviewee can't even make a for loop, more info here)
  2. Estimate your efficiency, coding style and how you architecture your code
  3. Assess your knowledge in the field you're gonna be working in (Php, Java, iPhone, ...)

About how you should prepare, my advice would be to create a software/web page/app/feature (again, according to the company/job description) and maybe look at releveant Best Practices Books

share|improve this answer
How does a brain teaser fit in a coding test?What is "Move mount Fiji" supposed to be? –  Jim May 11 '12 at 8:06
brain teaser is a bad habit taken by some companies to ensure the interviewee has a "logical mind". They assume that if you're able to solve puzzle and brain teasers, then you have the ability to be a "good programmer". Of course there is no link between solving riddles and being a good developer, but some company don't know that. Google and Microsoft among them : technical-interview.com/… –  XGouchet May 11 '12 at 8:08
50% of interviewee can't even make a for loop how is this possible? –  Jim May 11 '12 at 8:17
Some enumployed people would look for any job, and some of them think that they can learn on the job. On the subject you can read this weblog.raganwald.com/2007/01/dont-overthink-fizzbuzz.html –  XGouchet May 11 '12 at 8:26
link to the "How to move mount Fuji book" amazon.com/Would-Move-Mount-Microsofts-Puzzle/dp/0316919160 –  tehnyit May 11 '12 at 9:11

I suggest you look up FizzBuzz in Google and give that a go. That is common interview question.

The "Fizz-Buzz test" is an interview question designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag. The text of the programming assignment is as follows:

"Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”."


share|improve this answer
If you need to have a look at FizzBuzz before an interview, you should basically consider applying for something other than a programming position. This test is ment to filter out the people who really can't program, and if you know programming, you should pass this test with flying colors without knowing what FizzBuzz is. –  martiert May 11 '12 at 8:41
Little bit negative there and doesn't really help find a solution to the question. It cant hurt to look at every possible option and be prepared. –  RSM May 11 '12 at 8:43
Sorry, was a bit to negative I guess. Thing is, I don't think one should care about the FizzBuzz test. One should rather look at harder problems. Look at where your lacking in skill for this jobb, and work on that. To look at the FizzBuzz test should be unnecessary, as everyone should be able to solve these kinds of tests. That people with programming jobs actually can't, tells us a lot about the industry as it stands today. –  martiert May 11 '12 at 9:39
It is unfortunate that somehow "FizzBuzz" has gone from "Isn't it pathetic that candidates can't even pass this test" to "Hey, this is a great test!" –  Steven Burnap May 11 '12 at 22:53

"how could I prepare best?"

i picked a sample coding test from internet and tried to solve it at home. it helped me a lot getting to know where to start.

Do you have similar experience?

yes. In my test it was important that i know what to do, not how to do. e.g. "if dealing with much more data what has to change"

What do this kind of tests are about?

Looking at someones code tells a lot about the actual level he is. Also when problems arise, how does he tackel it or does he give up. Also it tells how much experiences he/she has with the tools.

Any example?

  • google fizzbuzz
  • a simple TODO-app for managing todos
share|improve this answer

Personally, I'd be trying to memorise the proper (and basic) syntax for the language in question :

  1. I've bee writing Java Servlets for 5+ years, but in a test situation if somebody asked me to write Fizz Buzz, I'd have to think hard about how to write a simple program with a "main()" in it.

  2. Using very helpful programming environments has made me quite sloppy about memorising syntax and arguments.

  3. I don't use "for" loops that often (I much more frequestly use "while"), so if required to use "for" I'd need to check the order of the arguments (for(init,inc,test){... or for(init,test,inc){... )

share|improve this answer

It depends whether the test is more based on your ability to design or apply already existing algorithms to a problem set or whether its a trivial CRUD solution and you are being assessed on your design/programming best practices.

Take everything into consideration, the kind of company you are applying for, what kind of software they produce, what technologies they use etc. When they look at your code they are basically assessing if you could jump right in and produce something and won't need too much hand holding.

Unfortunately this will mean you will have to "pander" to whatever technology they use. So if they mention they use lots of direct calls to stored procedures then don't write a solution to the assignment using loads of ORM in-line SQL type stuff because they will immediately dismiss you as unsuitable due to your different style.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.