Viewing 24 posts - 1 through 24 (of 24 total)
  • Programmer technical test interview frustration
  • flanagaj
    Free Member

    I have been a Java developer for 15 years, but I have a bloody awful memory these days. If I have a coding problem to solve I always try and see whether there is an open source option or whether someone has already solve the problem for me. As a result google is my friend. This has always been my approach. I mean, why waste time and the firms cash solving a problem which has already been solved.

    Trouble is, I went for a tech interview the other day and they sat me down in front of a laptop and asked me to solve a few problems. Issue was, I had no google to help and they had not included any of the apache commons libraries. So as a result I was rather &%£$”%”

    With such a poor memory I find it so difficult to read a tech book and retain the knowledge.

    Anyone else also find it frustrating that companies write these tests so that it favours those with a good memory.

    I am starting to think that at 43 it’s time to see what openings are going at the local Homebase store.

    allthegear
    Free Member

    Interviewers usually do this kind of thing when they don’t have an interview process mature enough to realise it’s utterly, utterly pointless. To be honest, if I was sat down with a “programming challenge” like this, I’d probably just walk.

    Mind you, I’m 44 and do PHP…

    Rachel

    GrahamA
    Free Member

    I’ve run interviews using coding tests and I’m much more interested in how the candidate attacks the problem than the solution – if you haven’t already heard back I’d not give up hope.

    You can always practice to brush up your skills; something like DailyProgrammer or Kata may help if you submit to DailyProgrammer you can get feedback on your code.

    I’ve used FizzBuzz, String reversing and computing pi.

    The only time I worried was when someone claiming Java experience could not implement FizzBuzz

    Edit after I read Rachel’s post: This was for new graduates not experienced programmers

    ryderredman
    Free Member

    Sounds like I should try and stay away from google then!

    br
    Free Member

    Interviewers usually do this kind of thing when they don’t have an interview process mature enough to realise it’s utterly, utterly pointless. To be honest, if I was sat down with a “programming challenge” like this, I’d probably just walk.

    On taking over a development department and inheriting a number of contract programmers who were quite frankly, crap. I instigated an interview test.

    The first contractor in for interview sat down, read it and then walked out 🙂

    The dozen or so we actually took on over the next year were all very good.

    flanagaj
    Free Member

    What was even more shocking was that the young 30 something asked me if he could take my phone from me for the duration of the test. I refused and just said “I give you my word I will not use google on my phone” I nearly did walk out then

    poly
    Free Member

    We technical test. The reason is – otherwise you are really only testing their google skills! That said we give them the problem to do at home with IDE of choice etc. They can google details but they won’t find an off-the-shelf solution to the problem. We also give them a “debug” problem to solve – with code that compiles but has an unspecified number of faults so it actually gives the wrong output! They then come in to discuss what they did! Its amazing how many people who apply for jobs who interview well but are pretty poor at actually getting half decent code out. Also getting them to explain what/why they did something is revealing about their communication skills.

    rickmeister
    Full Member

    Ms rickmeister got hired I’m sure on attitude as much as anything. Willingness to dig in and own the problem and sort it using any info available.

    If they wanted a memory artist then a tray of 20 items viewed for a minute then covered with a cloth may have been the way to go…

    allthegear
    Free Member

    I like the debugging test, poly – now that seems more reasonable an world-relevant.

    Rachel

    sam_underhill
    Full Member

    The irony is that people who can recite the text books (or msdn in my world) rarely make the best, or even good, software developers. Of course that means the interview process requires thought about what you are looking for.
    That said, copying code snippets from stackoverflow without understanding it isn’t exactly going to win any quality prizes either.

    flanagaj
    Free Member

    To me a test should be relative to the actual role you are applying for. If it is a greenfield project I would test the candidate has good design skills, and understands basic patterns ..

    If you will be doing a fair amount of BAU work I would also throw in some questions around how you go about diagnosing memory / performance issues.

    I imagine most programmers would struggle to write code without google or java doc as it means you have to know all of the operations available of a given class. That is a lot to remember, and it also is not a true reflection of what happens in the office.

    GrahamA
    Free Member

    @flanagaj I’ve never tried a “closed book” test I’ve only asked people not the google the question.

    I tended to worry more about people who tried to wade in write new code without looking for an existing library/solution

    flanagaj
    Free Member

    If only they were all like FizzBuzz

    public class FizzBuzzImpl implements FizzBuzz {
    public static void main(String[] args) {
    FizzBuzz fb = new FizzBuzzImpl();
    for(int i=0; i<100; i++) {
    String result = fb.compute(i);
    System.out.println(result==null ? i : result);
    }
    }

    @Override
    public String compute(int input) {
    if(input%3==0 && input%5==0) {
    return “Fizz Buzz”;
    } else if(input%3==0){
    return “Fizz”;
    } else if(input%5==0) {
    return “Buzz”;
    } else {
    return null;
    }
    }
    }

    Test case below

    public class FizzBuzzImplTest {

    FizzBuzzImpl fb = new FizzBuzzImpl();

    @Test
    public void testComputeModulus3() {
    assertEquals(“Fizz”, fb.compute(3));
    }

    @Test
    public void testComputeModulus5() {
    assertEquals(“Buzz”, fb.compute(5));
    }

    @Test
    public void testComputeModulus5and3() {
    assertEquals(“Fizz Buzz”, fb.compute(15));
    }

    @Test
    public void testComputeNonModulusOf5and3() {
    assertEquals(null, fb.compute(2));
    }
    }

    I never used google either and it took me about 5 mins. Yeeha I can still code!!

    Time for another beer

    gary
    Full Member

    I’ve run interviews using coding tests and I’m much more interested in how the candidate attacks the problem than the solution

    We’ve taken to using some kind of test for pretty much any technical role to get exactly this. You get real insight into how someone works rather than some text book answer and it always generates some useful discussion.

    We use real simple problems like FizzBuzz, so there is no need to Google anything, and we expect candidates to come up with a solution appropriate for their level of experience (Even interviewing at quite experienced levels I think only one person has come close to my ideal solution using interfaces & dependency injection with supporting unit tests).

    It does a good job of weeding out people who really don’t know what they’re doing and you can really tell those who enjoy developing and solving problems. Much better experience for everyone (assuming a good candidate) than the “tell me about your last job” approach.

    flanagaj
    Free Member

    @GrahamA – Throughout my time I have worked with some super smart people. Some of whom have been very destructive. They come in, write an over engineered solution and then leave with it half done. Mgmt are to blame here as well, but my point is that hiring the greatest coder you can find is not always productive to the organisation.

    vinnyeh
    Full Member

    About 10 years back I was briefly employed by AIG- after the cv cull, the first stage in the interview process for all roles in IT at the company was to submit to an APTITUDE test (from Parity training). For fully experienced roles. Below 90% you were a loser, a mark of 90% or above gained you a cursory interview, after which came a job offer. Analysis, dev, infrastructure, everyone had sat and passed it. No tech test, presumably your cv told enough of a tale regarding your skills in that area.

    What I found mildly amusing was that the department was never up to strength due to the difficulty of passing the aptitude test with a high enough score. The mildly eccentric head of IT had drawn a line in the sand and wouldn’t compromise on it- I was hired with little insurance experience and no knowledge of their third partydeveloped core system package- a seemingly continuous stream of potential recruits with business and specific knowledge of the software were turned down due to their ‘lack of aptitude’. 😆

    GrahamA
    Free Member

    @flanagaj I define the greatest code as the one who writes the least code.

    BTW does you FizzBuzz go from 0-99 or 1-100? One of the things it tests for is picking up out by one errors as it makes a good talking point

    Good luck finding a job its a shame I’m no longer in position to hire people or I’d ask for a CV.

    flanagaj
    Free Member

    @flanagaj I define the greatest code as the one who writes the least code.

    We are on the same wave length. In fact I go one step further and say lazy programmers are the best. They don’t reinvent the wheel, but use open source where possible. Seen it time and time again where programmers write in house frameworks when they could have used an open source one.

    BTW does you FizzBuzz go from 0-99 or 1-100? One of the things it tests for is picking up out by one errors as it makes a good talking point

    I’ll get my coat

    Good luck finding a job its a shame I’m no longer in position to hire people or I’d ask for a CV.

    Cheers chap. I am currently trying to get one in Aus!

    DT78
    Free Member

    We technical test. I wouldnt take you on if you couldnt pass without google. Its not a memory test if you are exoerienced and regularly use those skills. Weve had our fair share of google cut n paste developers…

    aracer
    Free Member

    I’m hoping I get something like that in an interview – to be honest I’m hoping for exactly the sort of thing the OP seems to dislike, as it’s what I’m good at! (yes I do use google and stack overflow a lot, but can also work stuff out, though I’d need a bit of help with calculating pi – IIRC there’s a series approximation for arctan which can be used, but I’d need to google it).

    Though your version seems a bit complicated, this is my standard version written without looking anything up (which breaks every single coding standard I’ve ever used!)


    for (int i=1; i<=100; i++) {
    printf(i%15?i%3?i%5?"%d\n":"buzz\n",:"fizz\n":"fizzbuzz\n", i);
    }

    Mackem
    Full Member

    It’s daft. In my old life as an AS400/RPG prgrammer. (A damn good one, I might add), with 13 years experience. just had to press F4 to get the syntax/help up on the screen. Probably couldnt pass a paper based test though.

    Your approach is very real world, I think a good prgrammer isnt someone who knows all the op-codes it’s someone who is aware of what the language can do and can use copy and paste appropriately.

    deadkenny
    Free Member

    Coding tests relying on knowledge of an entire library are balls. In the long long past you might have been a dedicated expert to one system and learnt an entire reference manual but for a start that meant nothing and also today it’s an impossible task as things change far too fast. You can’t know everything.

    A test that’s based around how you solve the solution rather than library or semantics is far more important.

    That said, these tests really should only be applied to graduates. Way too many don’t respect reputation and experience. Treating people like they’re fresh out of school is very demeaning. I’ve found since going contracting you get less of this, but still some want to depend on it rather than making an effort to select people simply capable to do the job, not being a walking reference library.

    flanagaj
    Free Member

    @deadkenny – it’s an impossible task as things change far too fast

    You just have to look at a job spec for a java programmer today compared with one 8 years ago. The list of buzz words is a mile long.

    Seriously thinking that it’s all about the latest and greatest trends rather than solving business problems at the least cost. You can’t do anything now in Java that wasn’t possible 10 years ago, but there are too many people out there wanting change for change sake.

    I might go and become a Cobol or Assembler programmer.

    deadkenny
    Free Member

    I keep looking into the “latest”, start reading through the stuff and then find something saying it’s now dead and being replaced with something else, and it’s only been around for a year. Then the job ad asks for 5 years experience for something that’s been around for a year!

Viewing 24 posts - 1 through 24 (of 24 total)

The topic ‘Programmer technical test interview frustration’ is closed to new replies.