I recently applied for a Java Developer role and was given a coding challenge to build a RESTful one-armed bandit (slot machine) game. The game had specific rules about costs, payouts, and some optional requirements. However, I received an email saying that while they appreciated my personality and consulting skills, my technical performance didn't meet their expectations. I want to understand where I went wrong. I've linked my repository and documentation for reference. Any insights on what might have contributed to my failure?
4 Answers
It looks like you built a dynamic betting system, but the task specified a fixed cost of 3 credits per game. That might be where things started to go off-script. Also, I noticed there are no tests confirming the payout calculations for three of a kind. Like, if three apples get 10 credits, but there's no test for that, it could raise eyebrows. You should give it a whirl to see if it works as expected!
Remember that code clarity is key. There were quite a few places where comments were unnecessary, and having them in multiple languages made things a bit confusing. Focusing on consistent testing for individual units rather than broader integration tests might help, too. Just some thoughts!
Good point about the comments. I didn’t even realize they might confuse things!
Don’t forget, sometimes they judge your resume more than the actual code. If your background didn’t align perfectly with what they expected, that alone could have played a role in their decision. Just something to keep in mind as you reflect on this!
That makes sense. I just wish they would communicate that better.
Your coding logic seemed a bit scattered. For example, why not simplify the credit management operations? Having separate methods for deposit, withdraw, and balance checking could make it clearer. It looked like you were mixing too much logic in the controllers, which could turn off reviewers.
Yeah, that payout test is crucial. Without proof it works, it’s a red flag.