Tuesday, December 18, 2012

Codility: Yay or Nay?

Have you guys ever tried Codility? It's basically a way for employers to weed out applicants for a coding position. They give you a problem and an IDE in which to solve it in some limited time. You can code in pretty much any language you're comfortable with, compile your code and even add test cases before you submit.

I tried doing the demo problem tonight and it was kind of fun (albeit stressful). Here are my results:

Screen Shot 2012-12-18 at 10.40.46 PM

I still prefer doing a coding test in person, I think. Your interviewer can steer you in the right direction if you get off track, or don't have a very efficient solution. They also, at least in my experience, don't care whether you find the length of the array with "count" or "length" or any other reasonable word. Granted, I can pop up another browser window and pull up the necessary documentation. But you have limited time, and...well, in my nervous stupor, I must have scanned the page 3-4 times before I saw what I was looking for.

I actually spent about 5 minutes, of my allotted 30, trying to figure out why I had a complier error in my for loop. Turns out I was declaring my loop counter inside the for statement: for (int i = 0; ...). I had totally forgotten this was a no-go in C. Isn't that silly?

You should give it a try and tell me what you think!

3 comments :

  1. Finally had the chance to give Codility a try and it seems pretty cool. I passed the certification test (wire burnout) using Python, but took longer than an hour. Part of the problem was my lack of familiarity with Python data structures, but I learned a decent amount in the process so I'll call it a success.

    I like that nobody is looking over your shoulder in the process. The downside is that employers can't assess your ability to strategize and the process you use to arrive at a solution. That can be left for an actual interview though.

    You should check out Project Euler for more problems like this. I started on the first few problems there a while ago and this is making me want to keep working on them. It's always depressing to see other people's super efficient algorithms for the problems and realize how much room I have for improvement, but practice makes perfect...

    ReplyDelete
    Replies
    1. Whoa, cool! (I actually have never used python. **shame**) I haven't tried to get certified in anything yet.

      Project Euler looks like a great source for problems. Thanks for the tip! The first problem reminded me of one of the phone interviews I had. They asked me to prove that if n>6 and n-1 and n+1 are prime, then n is divisible by 6.

      "It's always depressing to see other people's super efficient algorithms for the problems."
      Ugh! Tell me about it. About once a week I go into the "I'll never be a great programmer" blues. It's the worst. But yeah, doing more problems and practicing definitely makes me feel like omg-I'm-THE-best. (It's a strange cycle.)

      Delete
  2. people usually cheat on those tests... cmmon it can't really test developers skills using such Math questions, we aren't mathematicians we are developers.

    ReplyDelete