Skip to content

blinkist/ruby-coding-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Review Challenge

Overview

This is a code review challenge designed to evaluate your understanding of complex distributed systems, database internals, and system design. The project represents a simplified e-commerce system with multiple services handling orders, payments, and analytics.

The system is designed to work with both MySQL and PostgreSQL databases, which introduces interesting challenges due to their different behaviors and characteristics.

Challenge Description

Your task is to review this codebase and identify potential issues, problems, and areas for improvement. The codebase intentionally contains various issues that a senior engineer might encounter in real-world distributed systems.

Areas to Consider

  1. Database Design and Performance

    • Schema design and indexing strategies
    • Primary key choices and their implications
    • Query performance and optimization
    • Differences between MySQL and PostgreSQL behaviors
    • Transaction isolation levels and their effects
    • Replication and consistency issues
  2. Distributed Systems

    • Event ordering and time synchronization
    • Message queue configuration and reliability
    • Idempotency and duplicate handling
  3. Performance and Scalability

    • Connection pooling and resource management
    • Caching strategies
    • N+1 query problems
    • Batch processing opportunities
    • Background job processing
  4. Code Quality and Architecture

    • Error handling patterns
    • Transaction boundaries
    • Code organization
    • Security considerations
    • Monitoring and observability

Evaluation Criteria

Strong candidates will:

  • Identify significant architectural and design issues
  • Understand database internals and their implications
  • Recognize distributed systems challenges
  • Propose practical, well-reasoned solutions
  • Consider trade-offs in their recommendations
  • Propose systematic approaches to preventing similar issues

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages