Averigua qué está quemando la CPU antes de comprar nada. Si un puñado de consultas domina, indéxalas o reescríbelas. Si es volumen de lectura real, añade réplicas y enruta el tráfico de solo lectura ahí, y luego cachea los resultados más calientes con un tiempo de vida corto. Quitar patrones N más uno y limitar el tamaño de página suele comprar más que el hardware. Escala la instancia hacia arriba para ganar tiempo, y luego arregla bien el patrón de consultas.
Por qué lo preguntan los entrevistadores
Los entrevistadores quieren ver si perfilas antes de gastar. Añadir réplicas a una carga dominada por una consulta sin índice tira el dinero y esconde el problema. También comprueban que sabes que la replicación es asíncrona, así que mover lecturas introduce obsolescencia que hay que diseñar, y que cachear tiene un coste de corrección. Las buenas respuestas ordenan los arreglos por coste, riesgo y tiempo de implementación.
Cómo estructurar tu respuesta
- Mide qué consultas dominan antes de cambiar nada.
- Arregla primero los problemas de consultas e índices, son lo más barato.
- Añade réplicas o caché para el volumen real.
- Menciona el retraso de replicación y cómo lo gestionas.
Ejemplo de respuesta
Antes de añadir nada quiero saber qué está haciendo la CPU, así que saco las consultas principales por tiempo total de pg_stat_statements o su equivalente. Por mi experiencia un número pequeño de consultas hace casi todo el daño, y a menudo una de ellas es un N más uno de un ORM que fue a peor según creció un cliente. Arreglar eso es gratis comparado con mantener réplicas. Si el perfil de verdad dice que es volumen de lectura repartido, entonces las réplicas tienen sentido y enruto ahí los endpoints de solo lectura. La pega es el retraso de replicación, así que cualquier cosa que lea justo después de escribir va al primario, o el usuario ve su propia actualización desaparecer. Después de eso cacheo los pocos endpoints más calientes con un tiempo de vida corto. En paralelo escalaría la instancia verticalmente, porque es un cambio de quince minutos que compra margen para hacer el resto bien. Intento ser explícito con el equipo en que escalar hacia arriba es un cronómetro, no un arreglo.
¿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 enrutarías lecturas y escrituras en el código de aplicación?
- ¿Cómo gestionas que un usuario lea inmediatamente después de escribir?
- ¿En qué punto harías sharding en vez de esto?
Más preguntas para Ingeniero de software
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