Ways to practice for programming skills tests.



  • I have an upcoming skills test as part of an interview process. What I know is that it's two parts, both timed (~30 minutes), both open-resources.

    1. Part 1 is "complete this task in your favorite programming language." Other details not given, but this one's more of a skills test. It can't be language specific, because no language is specified. This might be just as simple as a FizzBuzz variant, but...
    2. Part 2 is "complete this (easier) task in obscure language." This one focuses on figuring things out and working in unfamiliar territory. More about research than anything. The language is not given, but supposedly it's obscure enough that no one really has a significant head start on that front.

    I'm planning (at this point) to use Python for part 1. But what I want to do between now and then (next Tuesday morning) is practice things to help me do this well. More in the "have common tricks and shortcuts fresh in my mind" way, so I'm not spending time looking simple things (like language structures) up during the test.

    What would y'all recommend on that front?



  • Play around with something like exercism.io


  • Trolleybus Mechanic

    @Benjamin-Hall I don't have any good resources, but make sure you're aware of the "pythonic" (wretch) way to do things. However if it's not specifically a python shop they maybe don't care about details like that so long as your solution isn't awful.



  • @mikehurley said in Ways to practice for programming skills tests.:

    @Benjamin-Hall I don't have any good resources, but make sure you're aware of the "pythonic" (wretch) way to do things. However if it's not specifically a python shop they maybe don't care about details like that so long as your solution isn't awful.

    I'm pretty sure they're not language specific. The initial test was in a butchered dialect of javascript. Edit: and I'm pretty sure they're judging on something like the following:

    • If the solution is blank, outright fail.
    • You get points if it compiles/runs, even if it doesn't actually solve the problem.
    • You get more points based on how close you got to the right answer.
    • You get even more points if you actually solved it.
    • Points increase for clean solutions and not taking the full time (modulo having a solution, giving up early isn't a good look).

    I don't think that the cutoff is "has a perfect solution" unless it's a stupidly easy task.


  • kills Dumbledore

    I'd say run through a test that will stretch you, to get practice solving a similarly sized problem in python. @cartman82's fruit sorting tests might be a good idea.

    Go through it until you're happy you're getting correct results, then read it through and note all the things you'd do better if you were to start again. Where did you build a monster "do everything" method that could be refactored? What have you ended up copying and pasting that should be its own method? Are there any data structures that should be classes in their own right?

    If you've got time, make those changes, or rewrite from scratch. Try to make the best damn fruit sorting algorithm you can, with notes at every stage of what problems you ran into and whether your alternative next time round was better or worse. The end result should be a lot better than the original, and the patterns and approaches you used for that will be fresher in your mind


  • Banned

    @Benjamin-Hall read up on algorithms. All the classic ones. Sorting algorithms. Search algorithms. Data structures. Hashmaps. It's almost a given that part 1 will consist of implementing one of those.



  • @Benjamin-Hall said in Ways to practice for programming skills tests.:

    1. Part 1 is "complete this task in your favorite programming language." Other details not given, but this one's more of a skills test. It can't be language specific, because no language is specified. This might be just as simple as a FizzBuzz variant, but...

    "But APL is my favorite language!"



  • @da-Doctah "But APL is my favorite language!"

    Bonus points for completing the whole assignment in 20 characters or less!


  • Fake News

    @bobjanova -150 points because nobody could figure out how it works. Better luck next time


Log in to reply