Preguntas sobre Scaling en Entrevista
En el competitivo mundo tecnológico de 2025, las preguntas sobre escalabilidad (scaling) se han convertido en un componente fundamental de las entrevistas técnicas, especialmente para roles de ingeniería de software, arquitectura de sistemas y DevOps. Los entrevistadores utilizan estas preguntas para evaluar tu capacidad de diseñar sistemas que puedan crecer y manejar millones de usuarios, desde startups hasta gigantes tecnológicos como Netflix, Amazon y Google.
Dato clave: Según estudios de 2024, el 78% de las empresas tecnológicas incluyen preguntas de escalabilidad en sus procesos de entrevista, y los candidatos que las responden correctamente tienen un 65% más de probabilidades de recibir una oferta.
¿Qué es el Scaling y Por Qué es Importante?
El scaling o escalabilidad se refiere a la capacidad de un sistema para manejar cargas de trabajo crecientes manteniendo el rendimiento y la disponibilidad. En 2025, con aplicaciones que pueden ganar millones de usuarios en días (como ocurrió con ChatGPT o TikTok), entender escalabilidad es crucial.
Existen dos tipos principales de escalabilidad:
- Escalabilidad Vertical (Scale Up): Aumentar la potencia del hardware existente
- Escalabilidad Horizontal (Scale Out): Agregar más servidores al sistema
Preguntas Fundamentales sobre Scaling
1. "Diseña un sistema que pueda escalar de 1,000 a 10 millones de usuarios"
Respuesta estructurada:
Fase 1 (1K-10K usuarios): Servidor web único con base de datos. Ejemplo: "Comenzaría con una arquitectura monolítica usando Node.js y PostgreSQL en un servidor AWS EC2 t3.medium, suficiente para manejar ~500 requests/segundo."
Fase 2 (10K-100K usuarios): Separación de servicios y caché. "Implementaría Redis para caché, separaría la base de datos del servidor web, y agregaría un load balancer (ELB). Esto nos permitiría manejar ~5,000 requests/segundo."
Fase 3 (100K-1M usuarios): Microservicios y CDN. "Dividiría el monolito en microservicios, implementaría CloudFront como CDN, y usaría RDS con read replicas. Capacidad: ~50,000 requests/segundo."
Fase 4 (1M-10M usuarios): Distribución global y sharding. "Implementaría sharding de base de datos, múltiples regiones AWS, auto-scaling groups, y colas de mensajes (SQS/Kafka). Capacidad: 500,000+ requests/segundo."
2. "¿Cómo manejarías el 'thundering herd' problem?"
Respuesta ejemplo: "El thundering herd ocurre cuando múltiples procesos esperan el mismo recurso. Lo resolvería implementando:
- Cache warming: Precargar datos antes de que expiren
- Jittered timeouts: Agregar aleatoriedad a los tiempos de expiración
- Lock-based regeneration: Solo un proceso regenera el caché mientras otros esperan
- Ejemplo real: En Reddit, implementamos un sistema donde solo el primer request regenera el caché, reduciendo la carga de CPU en 80%"
3. "Explica cómo escalarías una base de datos con 100TB de datos"
Estrategias progresivas:
Nivel 1 - Optimización: Índices, query optimization, connection pooling
Nivel 2 - Read Replicas: Separar lecturas de escrituras (Instagram usa 12+ read replicas por write master)
Nivel 3 - Partitioning: Vertical (por tablas) y horizontal (por filas)
Nivel 4 - Sharding: Distribución por user_id, geographic location, o hash functions
Nivel 5 - NoSQL híbrido: Usar Cassandra/MongoDB para datos específicos mientras mantienes SQL para transacciones
Preguntas Avanzadas de Scaling
4. "¿Cómo diseñarías el sistema de notificaciones de WhatsApp?"
Consideraciones clave:
- Volumen: 100 mil millones de mensajes diarios (2024)
- Latencia: <200ms para entrega
- Disponibilidad: 99.9% uptime
Respuesta estructurada: "Implementaría un sistema basado en WebSockets con:
- Gateway servers para conexiones persistentes (50,000 conexiones por servidor)
- Message queues (Apache Kafka) para reliable delivery
- Cassandra para almacenamiento de mensajes (optimizado para writes)
- Redis para presencia de usuarios online
- Push notification service como fallback
5. "¿Cómo manejarías hot partitions en un sistema distribuido?"
Hot partitions son un problema común donde algunas particiones reciben mucho más tráfico que otras, creando cuellos de botella.
Soluciones:
- Consistent hashing con virtual nodes: Distribuye mejor la carga
- Adaptive partitioning: Divide automáticamente partitions "calientes"
- Caching inteligente: Caché más agresivo para datos populares
- Load balancing dinámico: Redirige tráfico en tiempo real
Métricas y Números que Debes Conocer
Números de referencia para 2025:
- Latencia de red: 1ms dentro del datacenter, 50-100ms entre continentes
- Throughput de DB: PostgreSQL ~15K QPS, MongoDB ~50K QPS, Redis ~100K QPS
- Memoria: 1GB RAM puede manejar ~1M usuarios concurrentes (estimación)
- Storage: SSD moderno: 500MB/s read, 300MB/s write
- CDN cache hit ratio: 85-95% es óptimo
Consejos Prácticos para la Entrevista
Estructura tu Respuesta (Framework SCALE)
- Scenario: Clarifica los requisitos
- Constraints: Identifica limitaciones
- Architecture: Diseña la solución inicial
- Limitations: Reconoce puntos de falla
- Extensions: Propón mejoras
Preguntas que Debes Hacer al Entrevistador
- "¿Cuántos usuarios activos diarios esperamos?"
- "¿Cuál es la latencia máxima aceptable?"
- "¿Tenemos restricciones de presupuesto o región geográfica?"
- "¿Es más importante la consistencia o la disponibilidad?"
Errores Comunes que Debes Evitar
- Over-engineering desde el inicio: No diseñes para 10M usuarios cuando tienes 1K
- Ignorar trade-offs: Siempre menciona qué sacrificas (CAP theorem)
- No considerar costos: Una solución debe ser viable económicamente
- Olvidar el monitoreo: Siempre incluye métricas y alertas
Herramientas y Tecnologías Relevantes en 2025
Para Diferentes Escalas:
Startup (1K-10K usuarios):
- Backend: Next.js, Django, Laravel
- Database: PostgreSQL, MySQL
- Hosting: Vercel, Railway, Digital Ocean
Scale-up (10K-100K usuarios):
- Containers: Docker, Kubernetes
- Cache: Redis, Memcached
- Queue: RabbitMQ, AWS SQS
- Monitoring: DataDog, New Relic
Enterprise (100K+ usuarios):
- Orchestration: Kubernetes, Docker Swarm
- Databases: Cassandra, DynamoDB, CockroachDB
- Message Streaming: Apache Kafka, AWS Kinesis
- Observability: Prometheus + Grafana, ELK Stack
Preparación Final
Para destacar en entrevistas de scaling en 2025, practica diseñando sistemas reales. Estudia arquitecturas de empresas como Netflix (maneja 230M+ usuarios), Uber (19M viajes diarios), o Discord (150M usuarios activos). Lee sus engineering blogs y entiende sus decisiones técnicas.
Recurso recomendado: Practica con herramientas como draw.io o Lucidchart para diagramar arquitecturas rápidamente durante la entrevista. Los entrevistadores valoran mucho las explicaciones visuales.
Recuerda que las preguntas de scaling no buscan una respuesta "perfecta", sino evaluar tu proceso de pensamiento, conocimiento técnico y capacidad para comunicar soluciones complejas de manera clara. La clave está en demostrar que puedes pensar en grande mientras empiezas pequeño.