BaseCase Programming Test You have 9 hours to implement the following game. In order of importance, we are interested in: 1. The full, bug-free implementation of the spec 2. The elegance of the code 3. The time needed to completion
These were the only criteria that were asked and I can assure you that my code was a full, bug-free implementation and very much on time. Elegance lies in the eye of the beholder, but I thought it alright.
Followed by some test that I'm not going to specify further at OPs request. (they seem to have a couple of these tests and you get assigned one randomly and they probably appreciate not having to delete from their test base)
While you claim that this is not specifically OO, the problem itself was very clearly one that lends itself heavily towards OO. If you want me to solve it in Erlang, we can do that as well, but please.
If you want the test to be a "work sample" test, say so. Seriously. You hand me a test that screams "please, for the love of god, just demonstrate that you're capable of writing some classes" and then you use that to find evidence of production level software development. That's not how it works. Include one line in that 3 page document that says "demonstrate your ability to produce maintainable code" and the solution would have looked vastly different. This was a silly challenge and you got a silly solution to a silly challenge. Because thats all it is. If google invites me to a technical interview and says "write fizzbuzz", I'm not writing a unit test first to demonstrate my Test Driven Development fundamentals. I just write some code to demonstrate that I'm not a potato.
Why would I assume that this is just another algorithm test? Because you told me clearly that there would be another 2 rounds of technical interviews.
If you want to look at a work sample, here's how you go about it: Ask for a work sample. Really simple.
FYI, if this test is indicative of the "challenges" faced at basecase, then working at basecase IS boring (to me). If it's not, then your interview process is flawed. Writing "test driven, maintainable code only" is an accountants job. Not something I'd be interested in. So in a roundabout way, I guess your test succeeded.
Take care!