Configura Cache-Control con un max-age explícito y un ámbito: public para caché compartida en CDN, private para datos por usuario. Añade stale-while-revalidate para que los clientes sirvan datos algo antiguos mientras refrescan en segundo plano. Incluye un ETag o Last-Modified para que la revalidación sea un 304 barato en vez de un cuerpo completo. Para cualquier cosa específica de un usuario, pon Vary en Authorization o Cookie para que las cachés no crucen cables entre cuentas.
Por qué lo preguntan los entrevistadores
La caché es donde los desarrolladores full stack ahorran dinero de verdad o filtran datos ajenos, así que el entrevistador sondea a la vez tu instinto de rendimiento y tu instinto de seguridad. Quieren ver que conoces la diferencia entre cachés de navegador, de CDN y de origen, que sabes nombrar las cabeceras en vez de señalarlas de lejos, y que piensas de inmediato en el modo de fallo de los datos privados sin que te lo pidan.
Cómo estructurar tu respuesta
- Nombra la cabecera que fija la política y sus directivas clave.
- Explica la revalidación con ETag y la respuesta 304.
- Cubre el caso de datos privados y Vary.
- Menciona cómo invalidas cuando los datos cambian.
Ejemplo de respuesta
La primera pregunta que hago es quién tiene permiso para retener esta respuesta. Si es la misma para todos, public con un max-age real deja que la CDN absorba el tráfico y el origen apenas lo nota. Si es por cuenta, tiene que ser private, y pongo Vary en Authorization para que una caché compartida no pueda servir la carga de un usuario a otro. Ese error es silencioso y catastrófico, así que lo compruebo de forma explícita. Luego añado un ETag, porque un 304 cuesta unos cientos de bytes en vez del cuerpo completo, y stale-while-revalidate para que un usuario nunca espere a un refresco. Para cualquier cosa que deba estar al día, cambio a un max-age corto más revalidación en vez de no-store, ya que no-store tira a la basura la victoria barata. En la última API en la que trabajé, pasar un endpoint público de precios de no-cache a sesenta segundos public con stale-while-revalidate recortó las peticiones al origen alrededor de un 90 por ciento, y nadie notó un minuto de desfase.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo purgarías la CDN cuando cambian los datos subyacentes?
- ¿Cuál es la diferencia entre no-cache y no-store?
- ¿Cómo cacheas assets estáticos con hash de forma distinta a las respuestas de API?
Más preguntas para Desarrollador full stack
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas