3

I have a job interview tomorrow and it's for a junior web developer role. I am really excited about it because I really want to get my foot in the door in this industry.

I have been told how the interview will pan out. It will consist of a 45 minute interview with two of their developers and an 'aptitude for programming' test.

I am really worried about the 'aptitude for programming' test.

Questions I am hoping the stack community can help me out with is:

  1. What exactly is this? (as far as I understand it is a written test using a fictional programming language).
  2. If you have done this before, either as the interviewer or interviewee, can you give me any advice, hints or help?
  3. Are there any online sources that may help with this, i.e. blogs, websites, places I can practice a few online?
5
  • 4
    The answer to 1 is: they give you simple programming problems and you complete them in front of the interviewer. Don't be surprised if it's FizzBuzz, implementing atoi or itoa, or finding prime numbers from 1 to 100.
    – user16764
    Jul 7, 2011 at 21:28
  • 4
    How impressive they must be to be the arbiters of who has and who doesnt have an aptitude for programming. Impressive... or arrogant. Jul 7, 2011 at 21:44
  • 4
    @GrandmasterB: if screening for people with aptitude or skill is arrogant, then why even have interviews in the first place? Jul 7, 2011 at 22:11
  • 4
    @whatsisname, they can screen candidates any way they want to see if they are a good hire for their particular company. But to claim they can judge 'programming aptitude' in general, either in terms of a person's chosen career path or suggesting that 'aptitude' means what they define it to be for their needs - is simply presumptuous and arrogant. Jul 7, 2011 at 22:23
  • I once built an online aptitude test for potential employees. That was based on a pseudo-language and combined some simple problem solving and a few "what is wrong with this code" type questions. The language was a bit babytalk if you're used to real programming languages, but I think a competent programmer should have been able to pass it easy enough.
    – glenatron
    Jul 8, 2011 at 10:21

7 Answers 7

11

One place I interviewed at got me to do a non-specific aptitude test. It involved them presenting me with a piece of pseudocode, and a set of inputs, and I then had to work through the pseudocode and determine what output would be produced for each of the inputs.

I thought it was really easy and apparently I got it all right. But they told me lots of people don't. I guess maybe that means I have an aptitude for programming? :-D

Anyway, if it's a logic puzzle like that, there's really no way to study for it. Just stay cool, work your way through it carefully, and if they give you far more time than you need, work through it two or three times to be absolutely certain that you haven't made any silly mistakes.

3

Whiteboarding questions are quite common when you do an in-person interview. It's usually a basic algorithm problem like fizbuzz or palindrome check for which you need to whiteboard an answer to. Generally syntax isn't something that's concentrated on, it's more your problem solving techniques.

Remember to go through you entire problem solving workflow - do not simply jump in to the code. Clarify the problem. Do you have questions about it? Ask them and write down the answers given. Repeat the problem back to your interviewers in your own words. Make sure everything is crystal clear.

Then, and only then start writing code.

5
  • 1
    As an interviewer, I don't care if people put incorrect code on the whiteboard initially, as long as it is logically correct when they finish. Jul 7, 2011 at 23:16
  • 1
    Generally (I actually initially learned this from watching a MS interview), jumping right into code is regarded as a very junior move. How are you supposed to solve a problem if you don't fully understand it? Jul 7, 2011 at 23:42
  • 1
    It's certainly silly to start coding when you have open questions. In real life, we often don't even know the questions until we start trying to build the solution. In the end, the final code is all that matters. It doesn't matter if you jumped into coding, or went golfing while magic fairies did the work. Jul 8, 2011 at 4:17
  • Most questions can be found/answered by sufficient system analysis and design. By flushing most of them out early, you mitigate the potential for "oh craps" further down the road. Then, once you get into the coding, you may come up against unforeseen problems, but by that point, it's implementation details and shouldn't be algorithmic. Jul 8, 2011 at 4:24
  • +1 for clarifying the question. Memory, time constraints, input limits, and error handling are areas where I've found interviewers (yes interviewers, not interviewees) to be making naive assumptions. (But this probably applies to real programming tests more than aptitude type tests. There's a big difference between calculating the first 10 factorials and the first 25 factorials in most languages, for example.)
    – MZB
    Jul 8, 2011 at 18:52
1

It could be anything, there's no standard "aptitude for programming" test. I would guess that it might involve mathematical concepts and attention to detail.

Is this your first software-oriented interview? Don't feel too bad if you don't get the position--interviews take practice. Most people don't get hired at the first company they apply to.

1
  • Its my second interview, at the first one it was just a face to face interview which went well but didn't get it as another candidate had more experience.
    – RSM
    Jul 7, 2011 at 21:38
1

There could be various test which would help in accessing how you think logically on a problem, the approach and the result. The judgement is reserved on how the interviewee assess and hope you don't land up with someone who is terrible.

  • It can be normal piece of code and you would be asked to write/explain the output.
  • Code for Fibonacci series, prime numbers
  • Maybe a code with recursion (favorites of many)

IMO the interview is to gauge your skill and also interest in programming since they wouldn't expect you to know everything in detail. So don't stress out just concentrate on approach and write in keeping readability in mind and everything will work out.

1

These aptitude for programming tests evaluate the skills and abilities required in programming.

These tests usually include,

  • Logical reasoning
  • Numerical problem solving
  • Ability to follow complex procedures
  • Programming structures in pseudocode (for experienced person)

Besides above we also need to evaluate,

  • Ability to learn new skills
  • Time management
  • Teamwork
0

It could be the test described in The Camel Has Two Humps That's a description of Saeed Dehnadi's research into learning programming. Looks like Dehnadi's got a follow-on paper, too. I almost hope that Dehnadi's test catches on. It would be a relief not to have to decipher Word-induced-typos in a "10 Questions about Java" multiple choice test that arrogant head-hunters give out these days.

2
  • Interesting that they have a test to see who can pass a programming class and many on this site who claim there are too many who pass class/get degree or certification and can't program.
    – JeffO
    Jul 7, 2011 at 23:08
  • @Jeff: Maybe to pass that programming class, one has to actually program. Jul 7, 2011 at 23:11
0

I had to do an aptitude test for a programming position myself recently; it was just normal iq questions you have to solve some sequences etc in an allotted amount of time; at the end there where some unicode & ascii questions which I didn't manage to finish off (still got the post so I don't think they were that important XP).

Probably you're going to have something similar.

When I passed the test I was called in for an interview where they asked me about myself, my background in programming & education etc.

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