Desarrollador Backend: pregunta de entrevista

¿Cómo implementas rate limiting?

Rate limiting protege un recurso finito definiendo alcance, ventana, ráfaga y respuesta. Aplícalo en el primer límite confiable y devuelve información clara de reintento.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

Un rate limit es una política: qué se cuenta, por qué identidad, en qué ventana, con cuánta ráfaga y qué ve el llamador al ser rechazado. Token bucket y ventana deslizante son los algoritmos habituales; las ventanas fijas son más simples pero permiten el doble de tráfico en el borde. Aplícalo en el edge para rechazar barato y de nuevo en el servicio por precisión, guarda los contadores en un almacén compartido cuando hay muchas instancias y devuelve 429 con Retry-After para que los clientes bien educados esperen en lugar de insistir.

Ejemplo

Un token bucket por clave API permite ráfagas cortas mientras aplica una tasa media sostenible. Los contadores viven en Redis con un script Lua atómico, el gateway rechaza al 120 por ciento de la cuota para soltar carga pronto, y los llamadores internos se limitan aparte para que un bucle interno no agote la cuota de un cliente.

Errores frecuentes

  • Limitar solo por IP del cliente y frenar a todos los usuarios detrás de un mismo NAT corporativo.
  • Guardar los contadores en memoria del proceso, de modo que cada instancia aplica su propio límite.
  • Devolver 429 sin Retry-After y dejar que los clientes adivinen cuánto esperar.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Backend