Preguntas de entrevista con desglose de respuestas — Página 48 de 52
Explora la página 48 de los desgloses de preguntas y respuestas de entrevistas de Offer.cc con razonamiento, detalles de implementación, preguntas de seguimiento y fuentes públicas.
Entrevista de Backend: ¿Cómo deben funcionar juntos los Timeouts, Retries y Circuit Breakers?
Diseñe llamadas a dependencias sincrónicas con un deadline de extremo a extremo, una matriz de semántica de fallos y un presupuesto de reintentos, y luego contenga los fallos en cascada mediante circuit breakers, sondeos acotados e inyección de fallos.
Entrevista de Ingeniería de Datos: ¿Cómo realizar un backfill seguro de datos históricos a gran escala?
Divida un recálculo de 180 TB en particiones recuperables y luego proteja el pipeline activo mediante entradas deterministas, recursos aislados, nivelación de deltas (delta catch-up), compuertas de validación y una transición de versiones (cutover).
Entrevista técnica: Implementar un planificador de robo de trabajo (work-stealing)
Construye deques por hilo de trabajo (worker) con LIFO local y robo FIFO remoto, y luego analiza el apagado, la inactividad, la equidad (fairness) y la ejecución duplicada.
Entrevista de diseño de sistemas: ¿Cómo diseñarías un feed de noticias personalizado?
Diseña un feed de noticias personalizado en torno a la generación de candidatos, fan-out híbrido, clasificación por etapas, paginación estable, filtrado de autorización y recuperación ante puntos calientes de celebridades y consistencia eventual.
Entrevista de Backend: ¿Cómo Diagnosticas y Corriges el Problema de Consultas N+1?
Detecta recuentos de consultas que crecen linealmente con el tamaño de página, compara JOIN con la carga por lotes select-in, y verifica la solución sin ocultar el overfetching ni cambios de consistencia.
Entrevista de ingeniería de datos: ¿Cómo diagnosticar y solucionar el sesgo de datos (data skew) en Spark?
Demuestra el sesgo de datos en Spark usando la UI, el plan de ejecución y la distribución de claves, luego elige entre AQE, broadcast, salting dirigido en joins o agregación en dos fases, y verifica tanto la corrección como el rendimiento.
Entrevista técnica de código: Implementar coalescencia de solicitudes por clave (singleflight)
Implemente la desduplicación de solicitudes en curso (in-flight) por clave con resultados compartidos, reintentos tras fallas, limpieza segura contra condiciones de carrera y semántica de cancelación explícita.
Entrevista de diseño de sistemas: Diseñar consistent hashing con nodos virtuales
Deduzca un anillo de hash a partir del remapeo por módulo y, a continuación, diseñe consistent hashing con nodos virtuales, pesos, réplicas y migración versionada, identificando al mismo tiempo los problemas de hot-keys y fallas que no puede resolver.
Entrevista de Backend: Explicar el flujo Authorization Code con PKCE en OAuth
Deduce el flujo OAuth authorization code a través de la autorización, el callback y el intercambio de tokens; separa state, PKCE, autenticación de clientes y OIDC; luego verifica el diseño mediante ataques y pruebas de fallos.
Entrevista de SQL: Calcular la retención exacta de cohortes al Día 7
Cree una consulta de retención de cohortes exacta al Día 7 en PostgreSQL, con zonas horarias de días calendario, filtrado de cohortes maduras, deduplicación a nivel de usuario, preservación de retornos cero y comprobaciones de producción.
Entrevista técnica: ¿Cómo diseñarías un analizador de expresiones con recuperación de errores?
Construye el análisis léxico, el análisis sintáctico, la sincronización, los diagnósticos y AST parciales para que un solo error de sintaxis no invalide un documento completo.
Entrevista de diseño de sistemas: Diseñar un sistema de procesamiento de pagos para comercio electrónico
Deriva un sistema de pagos recuperable para comercio electrónico a partir de intenciones de pago, autorización y captura, reintentos idempotentes, webhooks asíncronos, un libro mayor (ledger) inmutable de dinero, reembolsos y conciliación.
Entrevista de backend: ¿Cómo se previene la inyección SQL?
Separe el código SQL de los datos mediante parametrización del lado del servidor, asigne identificadores dinámicos a través de listas permitidas fijas, preserve la autorización del inquilino y verifique las rutas de consultas directas (raw queries), procedimientos almacenados y ejecución de segundo orden.
Entrevista de SQL: Encontrar la racha de inicios de sesión consecutivos más larga de cada usuario
Resuelva un problema de entrevista de brechas e islas (gaps-and-islands) en PostgreSQL fijando el nivel de detalle (grain) del día hábil/de negocio, derivando una clave de grupo estable con ROW_NUMBER, preservando los empates en las rachas más largas y probando casos borde de zonas horarias y eventos duplicados.
Entrevista técnica: ¿Cómo implementar un programador de tareas con prioridades y cancelable?
Implementa un programador de un solo nodo con plazos límite, prioridades, reemplazo de tareas duplicadas y cancelación, manejando entradas obsoletas en el heap, límites de workers y condiciones de carrera durante el apagado.
Entrevista de diseño de sistemas: Diseñar un acortador de URLs
Diseña un acortador de URLs duradero y de baja latencia deduciendo el espacio de códigos, almacenamiento, caché, redirecciones, idempotencia, expiración y controles de abuso a partir de suposiciones de tráfico explícitas.
Entrevista de Backend: ¿Cómo dimensionar un pool de conexiones a la base de datos y diagnosticar su agotamiento?
Derive los límites del pool de conexiones a partir de un presupuesto global de la base de datos, la concurrencia de solicitudes y el número de réplicas, y luego distinga entre un pool subdimensionado, una fuga y la sobrecarga de la base de datos mediante colas de la aplicación y evidencia de sesiones de PostgreSQL.
Entrevista de Ingeniería de Datos: ¿Cómo depuras números incorrectos en un dashboard?
Comienza con la semántica de las métricas y un comparador confiable, rastrea el linaje hasta el primer límite erróneo y luego restaura la confianza mediante contención, backfills idempotentes, conciliación y contratos de datos.
Entrevista técnica de código: Implementar un async map con concurrencia limitada y cancelación
Utiliza workers fijos, resultados indexados, modos de error explícitos y AbortSignal para resolver un problema de programador asíncrono.
Entrevista de diseño de sistemas: Diseñar una cola de mensajes distribuida
Deriva una cola de mensajes reproducible, escalable y multiinquilino a partir de contratos de entrega, registros particionados, confirmaciones de réplicas, offsets de consumidores y una ruta de almacenamiento de objetos para cargas útiles de gran tamaño.
¿Cómo realizar una migración de esquema en PostgreSQL sin tiempo de inactividad (Zero-Downtime)?
Comience con la compatibilidad de despliegues continuos (rolling deployments) y luego diseñe un flujo de trabajo abortable de tipo expand-backfill-cutover-contract que gestione los bloqueos DDL de PostgreSQL, la escritura dual, la validación de restricciones, los índices y el rollback específico de cada fase.
Entrevista de Ingeniería de Datos: ¿Cómo Diseñar un Pipeline de Features de ML sin Training-Serving Skew?
Utilizando la puntuación de fraude en tiempo real, diseña un pipeline de features de ML verificable con un contrato semántico, dos relojes, almacenes offline y online, despliegue versionado y reproducción de vectores de features.
Entrevista técnica de código: Implementar un almacén clave-valor con versiones temporales
Implementa set/get con historiales de versiones por clave y búsqueda binaria de límite superior (upper-bound), cubriendo marcas de tiempo desordenadas, empates, límites y compromisos de memoria.
Entrevista de diseño de sistemas: ¿cómo diseñarías un sistema de monitoreo de métricas y alertas?
Comienza con presupuestos de series temporales y cardinalidad, luego diseña una plataforma de métricas con recolección de alto rendimiento, consultas acotadas, alertas confiables, aislamiento de inquilinos y recuperación comprobable.