Las entrevistas de diseño de sistema se han convertido en un filtro clave para puestos de ingeniería de software y, cada vez más, para roles especializados en inteligencia artificial. Cuando la empresa en cuestión es una plataforma de movilidad como Uber y el producto a diseñar es un chatbot impulsado por modelos como ChatGPT, la complejidad aumenta: hay que equilibrar requisitos de latencia, privacidad, costo de inferencia y experiencia del usuario, todo mientras se demuestra dominio de arquitectura de software y conocimientos de IA.

El candidato cuyo proceso describimos comenzó por aclarar el alcance. En lugar de asumir que el chatbot debía manejar todas las funcionalidades de la app, definió tres casos de uso principales: consulta de estado de viaje, reporte de incidencias y sugerencias de promociones personalizadas. Este paso, aunque aparentemente obvio, evita que el diseño se inflé con requisitos irrelevantes y permite enfocar los recursos en los flujos que generan mayor valor.

A continuación, propuso una arquitectura de capas: una capa de entrada que recibe el mensaje del usuario y lo envía a un servicio de preprocesamiento (normalización de texto, detección de intención ligera); una capa de razonamiento que utiliza un modelo fine‑tuned de GPT‑4 para generar respuestas contextualizadas; y una capa de salida que se comunica con las APIs internas de Uber (estado de viaje, pagos, promociones) mediante llamadas asíncronas. Cada capa estaba desacoplada mediante colas de mensajes, lo que facilitaba el escalado horizontal y la tolerancia a fallos.

El análisis de trade‑offs fue particularmente rico. En la capa de razonamiento, el candidato consideró usar un modelo más pequeño (DistilBERT) para reducir latencia y costos, pero rechazó esa opción después de pruebas que mostraron una caída del 18 % en la precisión de detección de intención para casos de reporte de incidencias, un escenario crítico para la seguridad del usuario. En su lugar, optó por un modelo medio‑grande con cuantización dinámica, logrando un tiempo de respuesta promedio de 320 ms y un costo estimado de 0.0004 USD por consulta, dentro del presupuesto definido por el equipo de finanzas.

Otro punto de discusión fue la gestión de estado. En lugar de almacenar el historial de conversación en una base de datos relacional tradicional, propuso una caché distribuida (Redis) con TTL corto, argumentando que la mayoría de los usuarios abandonan el chat después de dos intercambios. Este diseño redujo la carga de escritura en un 70 % y mejoró la disponibilidad, aunque introdujo el riesgo de pérdida de contexto en sesiones muy largas; mitigó ese riesgo mediante un mecanismo de resumen periódico que guarda los puntos clave en una tabla de análisis para recuperación posterior.

El error que casi lo deja fuera fue la inversión síncrona vs asíncrona de las llamadas a las APIs de Uber. En su primer boceto, dibujó las llamadas de forma secuencial, lo que habría añadido hasta 800 ms de latencia acumulada. Durante la revisión, el entrevistador señaló que, al paralelizar las peticiones de estado de viaje y promociones, se podía cortar ese tiempo a menos de 200 ms. El candidato corrigió el diagrama en tiempo real, explicando el razonamiento detrás del cambio y demostrando su capacidad para adaptar el diseño bajo presión.

Este caso ilustra por qué las entrevistas de diseño de sistema para productos de IA requieren más que conocer patrones arquitectónicos: es necesario comprender los trade‑offs específicos de modelos de lenguaje (latencia, costo, precisión), conocer las restricciones operativas de la empresa objetivo (en este caso, la infraestructura en tiempo real de Uber) y ser capaz de revisar y corregir supuestos rápidamente. Para los profesionales tech hispanohablantes que aspiran a roles de ingeniería de IA o de plataformas de servicio, dominar este tipo de framework no solo mejora sus posibilidades de superar la entrevista, sino que también les brinda una mentalidad útil para diseñar sistemas robustos y eficientes en el mundo real.

En resumen, el enfoque paso a paso — aclarar alcance, diseñar capas desacopladas, evaluar trade‑offs con datos concretos y estar listo para iterar frente a feedback — resulta esencial para cualquier candidato que quiera destacar en una entrevista de diseño de sistema centrada en IA. Aplicarlo con rigor puede marcar la diferencia entre una oferta atractiva (como los 80 LPA mencionados) y una oportunidad perdida.