Skip to content

mandrade86/subscription-challenge

Repository files navigation

🎯 Senior Fullstack Developer Assessment - 6 Key Screening Areas

📋 Assessment Overview

This assessment is specifically designed to evaluate senior fullstack developers on the 6 key areas where previous candidates have struggled:

🎯 6 Key Screening Areas

  1. System Design Depth - Can they design scalable/resilient services without heavy guidance?
  2. Database Reasoning - Do they understand ACID, scaling strategies, SQL vs. NoSQL trade-offs?
  3. Scalability & Availability - Can they design for high load and HA in AWS?
  4. Concurrency & Consistency - Can they prevent race conditions, ensure payment/booking integrity?
  5. NestJS Expertise - Beyond coding — do they know how to structure, test, and scale apps in Nest?
  6. Communication - Can they explain design choices clearly in English?

🚀 Quick Start

Backend Setup

cd backend
npm install
cp env.example .env
npm run start:dev

Frontend Setup

cd frontend
npm install
npm start

Database Setup

# Using Docker
docker-compose up -d

# Or local MongoDB
mongod

📚 Assessment Materials

For Candidates:

For Evaluators:

🎯 Assessment Structure (60 minutes)

Phase 1: Pre-Coding Screening (15 minutes)

  • System Design questions
  • Database reasoning
  • Concurrency understanding

Phase 2: Coding Challenges (35 minutes)

  • System architecture design
  • Database schema design
  • Concurrency implementation

Phase 3: Deep Dive (10 minutes)

  • NestJS expertise
  • AWS scalability
  • Communication skills

📊 Scoring Rubric (100 points total)

System Design (25 points)

  • Architecture Planning: 10 points
  • Load Balancing: 5 points
  • Microservices vs Monolith: 5 points
  • Event Processing: 5 points

Database Reasoning (20 points)

  • Database Choice: 8 points
  • ACID Understanding: 6 points
  • Scaling Strategy: 6 points

Scalability & Availability (20 points)

  • AWS Architecture: 8 points
  • Caching Strategy: 6 points
  • High Availability: 6 points

Concurrency & Consistency (20 points)

  • Race Condition Prevention: 8 points
  • Idempotency: 6 points
  • Error Recovery: 6 points

NestJS Expertise (10 points)

  • Project Structure: 4 points
  • Error Handling: 3 points
  • Testing Strategy: 3 points

Communication (5 points)

  • Technical Explanation: 3 points
  • Trade-off Analysis: 2 points

🚨 Red Flags - Immediate Rejection

  • No concurrency handling - Will fail in production
  • No database justification - Shows lack of depth
  • No scalability consideration - Cannot handle growth
  • Poor NestJS structure - Lacks framework expertise
  • Cannot explain choices - Communication issues

🎯 Expected Technical Depth

System Design:

  • Load balancers and horizontal scaling
  • Microservices vs modular monolith justification
  • Event-driven architecture
  • Comprehensive monitoring

Database:

  • PostgreSQL vs MongoDB with specific use cases
  • ACID compliance understanding
  • Read/write separation strategies
  • Proper indexing and query optimization

Concurrency:

  • Database transactions with proper locking
  • Idempotency implementation
  • Retry logic with exponential backoff
  • Circuit breaker patterns

NestJS:

  • Feature modules and dependency injection
  • Global exception filters
  • Interceptors, guards, and middleware
  • Comprehensive testing strategy

AWS:

  • Multi-AZ deployment strategies
  • Auto-scaling groups
  • RDS with read replicas
  • Proper monitoring and alerting

📝 Evaluation Notes

This assessment is designed to quickly identify real senior developers who can:

  • Design scalable systems independently
  • Justify technical choices with trade-offs
  • Demonstrate real-world NestJS and AWS expertise
  • Communicate clearly in English

Remember: The goal is to identify candidates who can work independently and make sound technical decisions, not just write basic CRUD operations.

About

Live Coding Challenge - Subscription Management System with NestJS backend and React frontend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors