TécnicaSenior

System design en inglés: cómo diseñar un acortador de URLs (Bit.ly)

How would you design a URL shortener like Bit.ly?

Empieza siempre por los requisitos antes de dibujar nada: crear códigos cortos, redirigir rápido y aguantar mucha lectura. Luego hash o contador base-62 para el código, base de datos para el mapeo y caché delante para los enlaces calientes. Como las redirecciones son read-heavy, caché y réplicas de lectura son lo que importa. Cierra pidiendo dirección.

Respuesta modelo en inglés

Let me start with the requirements: we need to create short codes, redirect quickly, and handle high read traffic. I'd use a hash or a base-62 counter to generate the code, store the mapping in a database, and put a cache in front for the hot links. For scale, redirects are read-heavy, so caching and read replicas matter most. Do you want me to go deeper on the data model or the scaling side?

Nivel B1-B2: pensada para que la adaptes a tu experiencia, no para memorizarla palabra por palabra. Cambia el stack, los años y el contexto por los tuyos.

Frases clave que merece la pena memorizar

  • Let me start with the requirements
  • redirects are read-heavy, so caching matters most
  • Do you want me to go deeper on X or Y?

Por qué te hacen esta pregunta

El system design en inglés castiga doble: tienes que razonar sobre arquitectura y narrarlo a la vez en tu segundo idioma. El entrevistador evalúa si acotas el problema antes de resolverlo y si colaboras o monologas. El acortador de URLs es el ejercicio de entrada más frecuente porque es simple de enunciar y escala en cualquier dirección.

Errores típicos de hispanohablantes

  • Empezar a diseñar sin acotar requisitos. “Let me start with the requirements” es obligatorio.
  • Quedarte en silencio mientras piensas. En remoto, el silencio se interpreta como que te has bloqueado. Di “let me think out loud for a second”.
  • No preguntar por la escala. Cuántas URLs al día cambia el diseño entero.
  • Pronunciar “cache” como /cashé/. Es una sílaba, rima con “cash”.
  • No cerrar pidiendo dirección. “Do you want me to go deeper on the data model or the scaling side?” demuestra colaboración.

En resumen: En system design, empieza siempre por los requisitos y piensa en voz alta. Cerrar pidiendo dirección ('go deeper on X or Y?') demuestra colaboración.

También te la pueden hacer así

  • How would you design a URL shortener?
  • Design Bit.ly
  • System design interview in English
  • How do you approach a system design question?

Leerla no es lo mismo que decirla

Esta pregunta se responde en voz alta y bajo presión. En DevLingo la ensayas con un tutor IA que hace de entrevistador y te corrige la frase concreta que dijiste mal, no un listado genérico de errores.

Ensayar esta pregunta gratis

Otras preguntas de técnica

Todas las preguntas de entrevista·Glosario de inglés técnico

System design en inglés: cómo diseñar un acortador de URLs (Bit.ly) — DevLingo