Pon los datos en una capa con caché indexada por petición en lugar de en el estado de los componentes. Una librería de queries deduplica peticiones concurrentes con la misma clave, sirve los datos de caché al instante mientras revalida en segundo plano, y te da un único sitio donde invalidar tras una mutación. En el lado del servidor, cachear a nivel de petición más precargar en la ruta hace que el cliente muchas veces ya tenga los datos antes de que el componente se monte.
Por qué lo preguntan los entrevistadores
El entrevistador está comprobando si distingues el estado del servidor del estado de UI, que es la mayor decisión de arquitectura en la mayoría de aplicaciones React. Quiere oír hablar de claves de caché, caducidad e invalidación, y no de un store global lleno de respuestas de la API. Mencionar la precarga y la deduplicación de peticiones demuestra que has lidiado con el problema de las cascadas en una app real y no en un tutorial.
Cómo estructurar tu respuesta
- Nombra el error de categoría: los datos del servidor son una caché, no estado.
- Explica la deduplicación, el tiempo de caducidad y la revalidación en segundo plano.
- Cubre la invalidación tras las mutaciones y quién es dueño de las claves.
- Añade precarga o carga en el servidor para matar la cascada.
Ejemplo de respuesta
La causa raíz suele ser que los datos se están tratando como estado del componente, así que cada pantalla tiene su propia copia y su propia petición. Los muevo a una caché de queries indexada por algo con sentido, como el nombre del recurso más el id. Una vez indexados, tres componentes pidiendo lo mismo durante una pasada de render producen una sola petición de red, y la segunda pantalla se pinta al instante desde la caché mientras una revalidación ocurre discretamente por detrás. Configuro el tiempo de caducidad por recurso y no de forma global, porque el perfil de un usuario puede estar caducado durante minutos y el estado de un pedido en vivo no. Las mutaciones entonces invalidan claves concretas en vez de todo, y mantengo los constructores de claves en un solo módulo para que nadie invente una clave ligeramente distinta y rompa la caché sin querer. Si el framework lo permite, precargo en la ruta o cargo en el servidor, de forma que los datos ya van en camino antes de que el componente se monte, que es lo que de verdad elimina la cascada en vez de esconderla detrás de un spinner.
¿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 decides el tiempo de caducidad de un recurso concreto?
- ¿Cómo manejarías una mutación que afecta a varias listas cacheadas?
- ¿Cuál es tu enfoque cuando dos pantallas necesitan formas distintas de los mismos datos?
Más preguntas para Desarrollador React
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