Preguntas de entrevista con desglose de respuestas — Página 50 de 52

Explora la página 50 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.

CodingIntermedio

Entrevista técnica de código: ¿Cómo realizar un muestreo uniforme a partir de un flujo de longitud desconocida?

Utilice el muestreo de reservorio (reservoir sampling) para mantener k elementos con igual probabilidad en una sola pasada con memoria O(k), demostrando el invariante y gestionando los casos límite.

Abrir la pregunta y respuesta
Diseño de sistemasDifícil

¿Cómo diseñarías un generador distribuido de IDs únicos?

Deriva la distribución de bits estilo Snowflake a partir de restricciones de capacidad, gestiona el retroceso del reloj, la identidad de los workers, el agotamiento de secuencias y fallas multirregión, y luego compara con UUIDv7 y asignación por segmentos.

Abrir la pregunta y respuesta
DatosDifícil

Evaluar un clasificador en datos desbalanceados

Deriva métricas de clasificación y un umbral de decisión a partir de la matriz de confusión, la capacidad de revisión y los costos de error, y luego explica los roles diferenciados de AUROC, precision-recall, calibración y monitoreo de la tasa base.

Abrir la pregunta y respuesta
CodingDifícil

Entrevista técnica de código: ¿Cómo maximizar la recompensa con trabajos no superpuestos?

Utilice la programación de intervalos ponderados para conectar ordenamiento, búsqueda binaria y programación dinámica, con límites precisos, demostración, complejidad y reconstrucción.

Abrir la pregunta y respuesta
Diseño de sistemasDifícil

¿Cómo diseñarías un programador de tareas distribuido?

Diseña un programador multiinquilino para tareas únicas y cron utilizando identidades de ocurrencia, índices de tiempo particionados y entrega de al menos una vez, mientras se manejan picos sincronizados, fallas de disparo (misfires), husos horarios, carreras de cancelación y recuperación.

Abrir la pregunta y respuesta
DatosDifícil

Detectar y prevenir la fuga de datos (data leakage) en Machine Learning

Utilice un modelo de fraude para definir un contrato en el momento de la predicción, investigar la fuga por variable objetivo, temporal, de entidad y de preprocesamiento, y construir divisiones creíbles, validación cruzada y una evaluación final en un conjunto de retención (holdout).

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista de código: ¿Cómo implementar un arreglo dinámico y demostrar que append es O(1) amortizado?

Utiliza invariantes de capacidad, crecimiento geométrico y una demostración amortizada para implementar un arreglo dinámico indexable y explicar los costos de espacio y del peor caso.

Abrir la pregunta y respuesta
Diseño de sistemasDifícil

Diseñar un sistema de notificaciones multicanal

Utilizando como supuesto de entrevista mil millones de tareas de entrega por canal al día, diseñe un sistema de notificaciones tanto para OTP como para campañas de marketing, con aislamiento de prioridades, estados de entrega fidedignos, callbacks fuera de orden, reintentos y recuperación comprobable.

Abrir la pregunta y respuesta
DatosDifícil

Manejo de eventos tardíos y fuera de orden en el procesamiento de flujos

Utilice los ingresos por hora para derivar un diseño de procesamiento de flujos a partir del tiempo del evento, marcas de agua (watermarks), retraso permitido y estado de desduplicación, incluyendo correcciones, limpieza de estado, recuperación ante fallos y conciliación fuera de línea.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica de código: ¿Cómo devolverías las K palabras más frecuentes?

Utiliza el conteo de frecuencias, un min-heap personalizado y un comparador preciso de frecuencia/lexicográfico para devolver las Top K palabras en tiempo O(n log k).

Abrir la pregunta y respuesta
Diseño de sistemasDifícil

Entrevista de diseño de sistemas: Aplicar un límite de tasa global entre regiones

Diseñe el arrendamiento de cuotas para un límite de API global, cuantifique el exceso de consumo (overshoot) durante particiones, reequilibre regiones con alta demanda y elija un comportamiento explícito de fail-open o fail-closed.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica: ¿Cómo implementar un calendario que rechaza solapamientos?

Utilice intervalos semiabiertos, búsqueda de predecesor y sucesor, y un mapa ordenado para resolver My Calendar I con límites claros y complejidad bien definida.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica: Depurar una mediana en flujo continuo (streaming median) defectuosa basada en dos montículos

Diagnostica un MedianFinder que devuelve valores incorrectos tras inserciones adversas restaurando los invariantes de ordenamiento de montículos, tamaño, estado vacío y desbordamiento.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica de código: ¿Cómo implementarías una pila de mínimo O(1)?

Mantén una pila de mínimos por prefijo para que push, pop, top y getMin se ejecuten en O(1), contemplando mínimos duplicados y el comportamiento de pila vacía.

Abrir la pregunta y respuesta
CodingDifícil

Entrevista de código: Implementar un filtro de Bloom

Implementa add y mightContain para un filtro de Bloom, luego explica falsos positivos, dimensionamiento, límites de eliminación y pruebas.

Abrir la pregunta y respuesta
CodingDifícil

Entrevista técnica de código: Implementar un bloqueo de lectura y escritura seguro para subprocesos (Thread-Safe Read-Write Lock)

Implementa un bloqueo de lectura y escritura con un mutex y variables de condición, luego analiza la equidad (fairness), las actualizaciones (upgrades) y los casos de falla.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica: Implementar una caché TTL con expiración

Utilice una tabla hash, marcas de tiempo de expiración, limpieza y reglas de concurrencia para implementar una caché TTL fácil de probar.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica de código: ¿Cómo implementarías un conjunto de intervalos con fusión y consultas?

Implementa un conjunto normalizado de intervalos no superpuestos con operaciones de adición, eliminación, búsqueda de puntos y consultas de superposición de rangos, incluyendo el razonamiento de límites y complejidad.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista de código: ¿Cómo implementarías una cola de prioridades mutable con actualización y eliminación?

Utiliza un heap, un mapa de índices y eliminación perezosa (lazy deletion) para implementar una cola de prioridades actualizable, cubriendo desempates estables, eliminación, entradas obsoletas y pruebas de complejidad.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica de código: ¿Cómo diseñar un iterador por lotes reanudable?

Comienza a partir del contrato hasNext/next y diseña un iterador que lea páginas remotas, se reanude de forma segura, evite duplicados y propague fallas.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica: Implementar un Snapshot Array

Diseña un arreglo versionado con historiales de cambios por índice, escrituras combinadas y búsqueda binaria del predecesor, y luego demuestra la semántica de tiempo, espacio y snapshots.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica de código: Mínimo de salas de reuniones

Convierte los intervalos de reuniones en uso concurrente de recursos, calcula el número mínimo de salas con una línea de barrido de dos arreglos y demuestra la optimalidad mediante la profundidad de superposición, incluidos extremos semiabiertos, eventos coincidentes, alternativas con heap y preguntas de seguimiento sobre asignación de salas.

Abrir la pregunta y respuesta
CodingDifícil

Entrevista técnica de código: Resolver Alien Dictionary con ordenamiento topológico

Deduce un alfabeto desconocido a partir de una lista ordenada de palabras extrayendo únicamente aristas de precedencia justificadas. Aprende la regla del prefijo inválido, la detección de ciclos, la demostración de corrección, las comprobaciones de ambigüedad y las pruebas adversarias para una respuesta completa en una entrevista.

Abrir la pregunta y respuesta
CodingIntermedio

Entrevista técnica de código: Contar el número de islas con DFS iterativo

Deriva un DFS iterativo in-place a partir del modelado de componentes conexas, explica por qué las celdas deben marcarse al agregarse a la pila (push) y cubre corrección, complejidad, pruebas de límites y alternativas.

Abrir la pregunta y respuesta