last day (15 days later) » 

14:09
198
A: What can I do about doing badly on an impromptu coding test?

berry120I think you're asking the wrong question. I'm going to go ahead and say that challenge was probably designed for you to fail it: You've been given a really impromptu test, which is kind of weird outside of an interview setting. I've never heard of it happening like that before. If my manager su...

+1 - OP completed each stage in avg 10 minutes. This is not bad for someone hit out of the blue. On the interview something better might be expected (if these task was simple enough) but people go to interview with specific mindset and expectations.
"That's less than 3 1/2 minutes per task" I'd probably take at least that much to do a trivial FizzBuzz, assuming somebody just came in and dumped the requirement on my desk. In fact, I'd probably take more than that. Unless each of the challenges is super-tight - just around the level of "write a for-loop", I'm not really sure how is one expected to do all of that in 30 minutes. Heck, IRL, I might take 30 minutes to write one non-trivial piece of functionality on the software I work on.
This answer seems mostly based on an assumption about the difficulty of the questions in the test. For all we know, they were along the lines of "write a loop that prints each element in an array to the console." Clearly, the OP found the test difficult, but that doesn't mean the test is difficult - it could be a simple test touching on concepts that the OP hasn't mastered. I think your answer would be more rounded out if you also addressed that, or even better, left the test's difficulty totally out of your answer.
@dwizum Company agreed to train OP, knowing he started from 0% at their test. OP didn't receive that training. If questions were so easy, then it is even more of an employer fault that promised training did not happen.
The implication of this answer is that the standard test they give in the interview is designed so that all candidates will fail. But at the very least, it wasn't designed so OP would fail, it was designed so everyone would fail...unless we have reason to believe they specifically targeted him (or her) during the original interview and nobody else was given this test, and they kept this test on file for future use.
Voo
Voo
14:09
"30 minutes to complete 9 separate programming challenges seems kind of insane". The OP said "9 stages" so I'd assume it's more likely this was a challenge where each part builds on top of the previous ones. Which is not a bad way to do a test all in all (that way you can get partial credit for managing the first easier parts of the problem).
@Voo, that's still a lot, though. Yes, you can have something like "implement X, by doing A, B, and C" where A, B, C are the stages. However, each stage should take 2 minutes at most to complete because you have to factor in the overhead of reading and understanding the requirement for that stage. Given the constraint in time and required complexity, the stages should be, at best, something on the level of "use a loop", "don't use an index variable" and "iterate from end to start". Which is an almost useless test. Anything more complex and you can't really be expected to finish all stages.
@RobP. OP filed that test totally, was promised training, never got it, and was forced to take that test again. Yes, it was a situation designed for OP to fail. The fact that some people can get more than 33% on this test is meaningless. Here company knew it promised training and didn't deliver and tested the same thing it was supposed to train OP.
@Mołot - Did I miss it? I don't see where it says OP never received training. It sounds like (thought not explicitly stated) some of the work has been with C#. We also know that OP spent considerable (~500+ hours) studying C#. I don't see any reason to think OP wasn't given the same test everyone else gets, and I don't think it's unreasonable to expect someone to be able to pass the entrance requirements for a position after 18 months of holding it. If everyone else got 30 minutes, the test is fair and is not designed so that OP will fail. And they are giving OP 6 months to improve....
Can't find anything to disagree with here. I see a lot of strong "you are being bullied/targeted/maneuvered out of the business" on this site often without a lot of evidence or, frankly, logic ... but in this case IMO it's evidenced and you're on the money.
Voo
Voo
@vlaz I never took any programming tests that were this short, because yes they wouldn't be particularly interesting. But I had lots of fun with programming challenges and olympiads in Uni and you can actually do quite a lot in half an hour if you're not trying to write production-ready code - it's quite surprising compared to day-to-day work. A very dynamic programming challenge would be fine. The better question is what exactly that test would indicate about being able to program business code. Those are imo two very different things.
14:09
Even if the test were passable, OP should consider if he really wants to work for an organization that judges his performance on the results of an arbitrary test instead of his real accomplishments for the past 18 months. Sounds like some twisted priorities to me.
The coding test seems like a pretty blatant red herring. The true issue here seems to be that you have a terrible, destructive relationship with your boss. I think you need to be upfront with that and deal with it, versus worrying about your score on the test.
I ask FIzzBuzz during interviews, and just timed how long it took me to write it out in a text editor, and run it in the terminal. It was 2 minutes 11 seconds. That is without cutting-and-pasting and giving my code a quick read-over before running it in the terminal. That's not timing checking the output, which I'd expect any programmer to do before moving to the next task. Simply writing and checking FizzBuzz nine times in 30 minutes would be difficult. (NOTE: It's likely possible to write FizzBuzz a bit faster)
@RobP. I've seen many such interview tasks that are "we want to see how far you get in half an hour, so here's more tasks than you could feasibly handle", not "we expect all 9 tasks to be completed and we'll give you a percentage grade." Clearly the task wasn't make or break in the interview, otherwise the OP would never have been hired in the first place, so I don't think it's too much of a leap to assume the rules have in fact been changed under him here.
I'd also add that disconnection of the internet was really unfair (unless they provided good offline reference material). I'm a senior at my workplace and still use a lot of documentation and google searches, I encourage everybody to do so. I'd rather see someone using the best possible solution than them wasting time re-inventing the wheel.
@sevensevens: If you've learnt the test, then it is easy/quick if you have basic code skills. It's a pointless task though, so the people who learn it are people involved with the test or expecting to take it. Although understanding a task like FizzBuzz does show some core programming abilities, the fact that you can learn the task itself is one of the contentious things about it. It's like searching for a musician who can read music then putting a piece in front of them that they already know off by heart. Or cheating on a sight test by memorising the letters.
14:09
@HTDutchy This. Even after years of programming I still look stuff up, one cannot memorize every single thing in a language, and if they do, their knowledge will probably be outdated in a while anyways.
@NeilSlater - The main point of my post is that even knowing the answer ahead of time, 3.5 minutes is probably not enough to accomplish even a trivial task.
Mind you, the OP said ‘stages’, not separate tasks. Stages reminds me much more of beginner-level exams where first you have to implement a basic class (like getters and setters) as a stage, then call it from another class as a next stage, and so on. Ultimately we don’t know, but I wouldn’t assume the individual stages are programming puzzles like FizzBuzz. Especially considering he was given the SAME test when he first applied.

last day (15 days later) »