Elige el TTL más corto que aun así mueva la aguja, y luego invalida al escribir borrando o sobrescribiendo la clave en el mismo camino que muta la fila. Indexa por cada entrada que cambie el resultado, incluidos el inquilino y una versión de esquema. Añade un bloqueo de vuelo único para que un fallo de caché no provoque una estampida contra la base de datos. Acepta desfase explícito donde sea inofensivo, y sigue la tasa de acierto para saber que funciona.
Por qué lo preguntan los entrevistadores
Una caché es fácil de añadir y difícil de mantener correcta, así que el entrevistador quiere verte pensar en invalidación y diseño de claves en vez de solo nombrar Redis. También comprueba los modos de fallo: estampidas al expirar, claves que filtran datos entre inquilinos y cachés que dejan de acertar en silencio tras un despliegue. Medir la tasa de acierto demuestra que te darías cuenta cuando la caché deja de ayudar sin hacer ruido.
Cómo estructurar tu respuesta
- Confirma que el endpoint tiene muchas lecturas y tolera algo de desfase.
- Diseña la clave de caché, incluyendo inquilino y versión.
- Explica la estrategia de invalidación al escribir.
- Cubre las estampidas y cómo monitorizarías la tasa de acierto.
Ejemplo de respuesta
Antes de añadir nada, compruebo si la consulta simplemente se puede hacer rápida, porque una caché delante de una consulta mala esconde el problema hasta que la caché falla en el peor momento. Suponiendo que de verdad tiene muchas lecturas, voy con cache aside en Redis. La clave incluye el id del inquilino, los parámetros reales de la consulta y un prefijo de versión que puedo subir en cada despliegue para que una forma de respuesta cambiada nunca se sirva desde entradas viejas. El TTL es la red de seguridad y no el mecanismo: invalido de forma explícita al escribir, en el mismo camino de código que actualiza la fila, así que la ventana de desfase es de milisegundos en el caso normal. El modo de fallo que planifico es la estampida, donde una clave caliente expira y doscientas peticiones fallan a la vez y golpean la base de datos, así que uso un bloqueo de vuelo único y dejo que los perdedores esperen al ganador. Después exporto la tasa de acierto como métrica, porque una caché que pasó del 95 por ciento al 10 tras un refactor no se nota hasta que la base de datos se cae.
¿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
- ¿Qué cachearías en Redis frente a en la CDN?
- ¿Cómo gestionarías que la caché se caiga por completo?
- ¿Cuándo es mejor aquí escritura directa que cache aside?
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