Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Online coding tests

Options
  • 26-07-2014 8:29am
    #1
    Closed Accounts Posts: 4,436 ✭✭✭


    I applied for a job and they've got back in touch. First round is an online coding test. Anyone have experience with these? Any tips? Email said to expect a 90 minute session with a few problems to solve, pick your language of choice. It's not for another week or so, which gives me a bit of time to brush up on the usual stuff.


Comments

  • Closed Accounts Posts: 5,482 ✭✭✭Kidchameleon


    Last time I done one of these, there were two questions, one was to write a f.i.f.o algorithm, the other was on nodes and binary trees.


  • Moderators, Education Moderators, Technology & Internet Moderators Posts: 2,588 Mod ✭✭✭✭KonFusion


    I did one (for a front end dev role) where'd I'd an hour to do memory-test/simon-says type game. They gave no rules or guidelines on what to use or how to do it, just that I had to submit within an hour.

    Found similar on github (using jQuery), cut the logic out of that, tweaked it a bit and spent remaining time prettying it up using CSS. Sent it over with a good bit of time to spare.

    Didn't get in touch for a week when they then came back asking me to do it again without jQuery, but I could use "anything else".

    Had new job by then so said no-thanks.

    All I can take away from that is: might be worthwhile to try and find out what languages/frameworks/libs/etc the employer is using internally and try and use them in the demo, even if they say you can use whatever you want.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    KonFusion wrote: »
    I did one (for a front end dev role) where'd I'd an hour to do memory-test/simon-says type game. They gave no rules or guidelines on what to use or how to do it, just that I had to submit within an hour.

    Found similar on github (using jQuery), cut the logic out of that, tweaked it a bit and spent remaining time prettying it up using CSS. Sent it over with a good bit of time to spare.

    Didn't get in touch for a week when they then came back asking me to do it again without jQuery, but I could use "anything else".

    Had new job by then so said no-thanks.

    All I can take away from that is: might be worthwhile to try and find out what languages/frameworks/libs/etc the employer is using internally and try and use them in the demo, even if they say you can use whatever you want.

    Did you not feel a bit... guilty copying and pasting someone else's code to pass a test?


  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,082 Mod ✭✭✭✭Tar.Aldarion


    Did they not feel guilty asking professionals to do silly tests online?
    I did one before, it was 5 hours and it was complete nonsense.
    They really grind my gears. Some sort of coding is good but I don't really think online things are the best.
    The people that can do it, do it. The people that can't, look it up.

    Perhaps they value finding the easiest way to do it, like Bill Gates says, go for the lazy ones ;)


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    Did they not feel guilty asking professionals to do silly tests online?

    Well they exist because so many people call themselves "professionals" but can't ****ing write fizz buzz.
    I don't mean to condescend Tar, but you wouldn't believe some of the chancers out there, its a valid time saving filter when you have a stack of CVs to get through.

    Your post seems to be missing the point, if you are paying someone 50k+ or whatever it is you expect them not to have to google to most basic of things, and then write complete crap thats unmaintable. You will get an appreciation for this once you work with a deadwood, which will unfortunately happens to everyone at one job or another.


  • Advertisement
  • Registered Users Posts: 2,815 ✭✭✭SimonTemplar


    ChRoMe wrote: »
    Well they exist because so many people call themselves "professionals" but can't ****ing write fizz buzz.
    I don't mean to condescend Tar, but you wouldn't believe some of the chancers out there, its a valid time saving filter when you have a stack of CVs to get through.

    Your post seems to be missing the point, if you are paying someone 50k+ or whatever it is you expect them not to have to google to most basic of things, and then write complete crap thats unmaintable. You will get an appreciation for this once you work with a deadwood, which will unfortunately happens to everyone at one job or another.

    I heard of someone asked to do the fizz buzz test and they started by writing a Fizz class and a Buzz class :confused:

    I know how to use the typical algorithms (data structure traversal, searching, sorting etc) but I don't necessarily know them off by heart. I keep them in a text file for reference, copy them to my source code if needed, and modify them to my requirement. I wouldn't be able to write them by heart but I know how they work.

    Is that bad from the point of view of getting a job? Is it not better to actually understand what an algorithm is doing rather than blindly learning code without context?


  • Moderators, Education Moderators, Technology & Internet Moderators Posts: 2,588 Mod ✭✭✭✭KonFusion


    ChRoMe wrote: »
    Did you not feel a bit... guilty copying and pasting someone else's code to pass a test?

    No. Why reinvent the wheel? I cited the original source.

    I copy/use other people's code every day. As I'm sure do you. The beauty of open source.

    If they wanted me to do it all vanilla/completely from scratch then they should have asked.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    KonFusion wrote:
    If they wanted me to do it all vanilla/completely from scratch then they should have asked.


    Considering it's a test it would be implicit in my experience.


  • Registered Users Posts: 586 ✭✭✭Aswerty


    I can't say I like the live tests (i.e. while the interviewee is watching you via a screen share) or tests with short time frames such as the OP refers to. When doing them all I see in my head is a big clock ticking and any action I take is consicous of the seconds ticking by. It is completely unlike any other coding I do because of this. And I don't think working to a deadline is anyway comparable to it.

    The mini projects when an employer asks you to throw something together and they give you a week or so have been the approaches I like. Or another employer had me do 5 questions which were a mix of coding, data transforms and a small essay. It was enjoyable and challenging, and it was interesting discussing my answers in the face to face interview.

    For me coding is about planning things out and then executing your plan. Time based tests seem to rely on the interviewee having seen the question, or similar, before and because of that already knowing their plan and just having to execute it.


  • Registered Users Posts: 1,127 ✭✭✭smcelhinney


    I heard of someone asked to do the fizz buzz test and they started by writing a Fizz class and a Buzz class :confused:

    Id never even heard of "fizz buzz" before this thread, and Im a software developer for 16 years :D


  • Advertisement
  • Registered Users Posts: 6,464 ✭✭✭MOH


    Id never even heard of "fizz buzz" before this thread, and Im a software developer for 16 years :D

    Phew, thought it was just me!


  • Registered Users Posts: 1,922 ✭✭✭fergalr


    ChRoMe wrote: »
    Your post seems to be missing the point, if you are paying someone 50k+ or whatever it is you expect them not to have to google to most basic of things,

    I'd just like to say, I have to google the most basic of things all the time. I think we should all just admit this is what we do, and stop pretending otherwise.

    In fact, there's an art to being able to come up with just the right google query, and open just the right number of stackoverflow tabs, so that you get the right syntax answer in minimal time. I'm pretty proud of how much more efficient I am at this is than looking up the language documentation.

    ...I'm a really good programmer, but I don't store the syntax of things I can simply google, across all the languages I use.
    Obviously, if I'm working in a particular language for a while, it'll switch into my working set.

    But I totally look up syntax stuff in Google all the time, and I would totally hire me.

    I heard of someone asked to do the fizz buzz test and they started by writing a Fizz class and a Buzz class :confused:

    Lol!

    I know how to use the typical algorithms (data structure traversal, searching, sorting etc) but I don't necessarily know them off by heart. I keep them in a text file for reference, copy them to my source code if needed, and modify them to my requirement. I wouldn't be able to write them by heart but I know how they work.

    Is that bad from the point of view of getting a job? Is it not better to actually understand what an algorithm is doing rather than blindly learning code without context?

    Your last sentence is a false dichotomy there.
    You want people who have understood the typical algorithms so well that they neither have to look them up in a text file, nor to learn them off by heart, but rather they can reconstruct them quickly on the fly. (Although will have to do a little bit of debugging and testing to make them work.)

    You want to check for this, because only if the person knows this material to that level will they be able to make new algorithms.

    But that's only for fairly sophisticated jobs - many development jobs out there don't require that level of sophistication, and its more about being able to just churn out framework-du-jour again and again, or have good complementary skills (e.g. design, UI work, people skills) etc.

    I think its totally legit to have people whiteboard algorithms for roles that will require algo design though.

    Aswerty wrote: »
    I can't say I like the live tests (i.e. while the interviewee is watching you via a screen share) or tests with short time frames such as the OP refers to. When doing them all I see in my head is a big clock ticking and any action I take is consicous of the seconds ticking by. It is completely unlike any other coding I do because of this. And I don't think working to a deadline is anyway comparable to it.
    Agreed that its a different set of skills. You get way better at it with a little practice though - do some dummy runs with your friends. (Don't worry, its hard to do anything on the fly on the whiteboard while people watch you, so you'll easily recreate the 'omg I am so stupid' feeling with your friends - you don't need to be in an interview to practice the panic management.)

    Aswerty wrote: »
    The mini projects when an employer asks you to throw something together and they give you a week or so have been the approaches I like.
    Problem is, you don't know whether candidate just copied some jquery code from github...

    KonFusion wrote: »
    No. Why reinvent the wheel? I cited the original source.

    That's why they asked you to do it again, they thought, like Chrome said, that it'd be implicit it was a test.
    ChRoMe wrote: »
    Considering it's a test it would be implicit in my experience.


    Kind of their own fault if they set something you could easily find already written.

    All that really does is select for dishonest people who copy things and DON'T cite that they did.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    fergalr wrote:
    That's why they asked you to do it again, they thought, like Chrome said, that it'd be implicit it was a test.


    quite, the fact kon couldn't even infer that would probably make me not even bother reissue the test.


  • Technology & Internet Moderators Posts: 28,791 Mod ✭✭✭✭oscarBravo


    fergalr wrote: »
    I'd just like to say, I have to google the most basic of things all the time. I think we should all just admit this is what we do, and stop pretending otherwise.

    In fact, there's an art to being able to come up with just the right google query, and open just the right number of stackoverflow tabs, so that you get the right syntax answer in minimal time. I'm pretty proud of how much more efficient I am at this is than looking up the language documentation.

    ...I'm a really good programmer, but I don't store the syntax of things I can simply google, across all the languages I use.
    Obviously, if I'm working in a particular language for a while, it'll switch into my working set.

    But I totally look up syntax stuff in Google all the time, and I would totally hire me.

    Couldn't agree more.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    oscarBravo wrote:
    Couldn't agree more.


    in principle I agree, however really core basic things become rote quickly


  • Registered Users Posts: 1,922 ✭✭✭fergalr


    ChRoMe wrote: »
    in principle I agree, however really core basic things become rote quickly

    Not if you switch between languages, environments, working on writing code vs. developing algorithms, product design, etc.

    I had to look up some super simple python stuff the other day - something really simple, like how to consume binary data on sys.stdin, syntax around this etc.

    Right this instant, I wouldn't know how to write a regex in Python. I'd know all the concepts, have a good model of the internal regex matcher, and know to avoid writing one that'll take forever to run on the wrong sort of input data; but I'd have to look up the exact syntax.

    Smart interviewer would accept me just saying "I'd put the regex syntax here" or "Lets pretend this is how I write 'non-greedy match'".
    Stupid interviewer would penalise me for that, or make a big deal out of it.

    Of course, if I was going into an interview, I'd brush up on the syntax of whatever language I'd be likely to use. But that's just because I know some interviewers are stupid about this, and don't know to not make a big deal of things candidate could trivially google; not because programmers should be expected to store all the syntax in their head.


  • Technology & Internet Moderators Posts: 28,791 Mod ✭✭✭✭oscarBravo


    What's more, it makes for a good reverse-interview filter: if the potential employer is going to insist that you memorise the entire standard library documentation for every language you might ever use, that's unlikely to be a place you'll want to work.


  • Registered Users Posts: 5 johnpaulhayes


    Online coding tests should be simple enough as its an efficient way of ensuring a minimum standard of candidates.
    These types of tests are designed to ensure passing candidates have an understanding of data structures, algorithms and basic problem solving abilities.

    IMO, if you are worried about them, then you need to brush up on your core concepts. (no harm!)


Advertisement