RubyRuby byteStandard~3h time-box

Service Scorecard

Score a service scorecard. Service scorecards use the same scoring rules as the original bowling exercise, but the story is operational instead of a game. Keep track of the score across 10 windows and apply the same spare and strike bonuses.

Service Scorecard
Step 1
Clone the starter repo
Candidate gets the full project locally — README, source, tests, runner config.
Step 2
Run the visible tests
Public test file is right there. Expectations are explicit from minute one.
Step 3
Make tests pass, push
Candidate works in their own style, pushes reviewable commits for your team.
Starter repo
What candidates clone
2 files
  • service_scorecard.rb
  • service_scorecard_test.rb

The full README and the hidden test suite are available once you open the byte in your CodeSubmit workspace. Candidates never see the hidden tests.

Skills tested
algorithmsarraysconditionals
Difficulty
Standard

Standard engineering judgment. Multiple edge cases worth handling.

Keep exploring

More Ruby bytes

See all Ruby bytes
Access Badge
RubyRuby
Starter~2h
Access Badge

Manage badge factory settings. When an access badge is issued, it starts out unnamed.

access_badge.rb
access_badge_test.rb
Alert Priority
RubyRuby
Standard~3h
Alert Priority

Your team maintains an internal alert triage service. Each incoming alert carries five severity tags — tokens composed of a level indicator and a category code (e.g. 4S 5H 7C 8D JC). The ranking rules for these tag sets follow standard poker hand rankings.

alert_priority.rb
alert_priority_test.rb
Bundle Pricing
RubyRuby
Advanced~4h
Bundle Pricing

An online retailer sells five distinct product SKUs. Each item costs $8 at full price. To encourage bundle purchases, the retailer offers tiered discounts when a customer buys distinct items together:

bundle_pricing.rb
bundle_pricing_test.rb
Command Triplets
RubyRuby
Standard~2h
Command Triplets

You are building a decoder for a legacy industrial robot controller. The controller receives a continuous stream of 3-character instruction codes. Each triplet maps to a named operation. When a HALT code is encountered, execution stops immediately.

command_triplets.rb
command_triplets_test.rb
Contact Cleanup
RubyRuby
Starter~2h
Contact Cleanup

You are cleaning imported contact records before they are saved into a CRM. Each record includes a freeform phone field entered by a human, so the data can contain spaces, dots, parentheses, hyphens, and an optional leading country code of 1.

contact_number.rb
contact_number_test.rb
Delivery Zones
RubyRuby
Starter~2h
Delivery Zones

Classify a delivery drop-off location into the correct fee tier based on its distance from the warehouse.

delivery_zones.rb
delivery_zones_test.rb