Resolución activa de problemas
Prompts de Práctica
Intenta resolverlo antes de revelar. Cada prompt de código y de diseño de sistemas se despliega por etapas — primero el enfoque, luego la solución — para que practiques la recuperación, no el reconocimiento. Marca lo que resolviste; regresa al resto.
- CódigoMid
Debounce de un campo de búsqueda en SwiftUI
swiftuiconcurrenciabúsquedaUn campo de búsqueda ejecuta una consulta en cada pulsación de tecla. Haga que solo consulte después de que el usuario pause la escritura durante 300ms, y cancele la consulta en curso cuando llegue una nueva pulsación — usando concurrencia de Swift, sin Combine.
próximo: nuevo - CódigoSenior
Una caché de imágenes thread-safe con un actor
concurrenciaactorcachéMuchas tareas de vistas solicitan imágenes concurrentemente. Construya una caché en memoria que nunca compita, y que deduzca solicitudes concurrentes para la misma URL para que solo se descargue una vez.
próximo: nuevo - CódigoMid
Descodificar un JSON desordenado con Codable
datacodablejsonUna API devuelve claves
snake_case, fechas ISO-8601 y un objeto anidado. Descodifíquelo en modelos Swift limpios sin escribir manualmente cada clave.próximo: nuevo - CódigoSenior
Reintento asíncrono con backoff exponencial
concurrenciaredresilienciaEnvuelva una operación asíncrona para que reintente en caso de fallo hasta N veces con backoff exponencial, respete la cancelación y relance el último error si todos los intentos fallan.
próximo: nuevo - CódigoMid
Un view model @Observable con estados de carga
swiftuimvvmestadoConstruya un view model que cargue una lista y exponga estados de carga / cargado / vacío / error para que la vista pueda renderizar cada uno limpiamente. Hágalo testeable.
próximo: nuevo - CódigoMid
Obtener dos endpoints concurrentemente y combinar
concurrenciaredUna pantalla de perfil necesita el usuario y sus publicaciones de dos endpoints. Obténgalos en paralelo y combínelos — no espere uno y luego el otro.
próximo: nuevo - CódigoSenior
Un almacén de tokens Keychain mínimo
seguridadkeychainAlmacene y lea un token de autenticación de forma segura. Explique por qué esto debe estar en el Keychain en lugar de
UserDefaults.próximo: nuevo - CódigoSenior
Conectar una API basada en callbacks a async/await
concurrenciainteroperabilidadTiene una API legacy
load(completion:)que retorna unResult. Exponga una versión modernaasync throwssin reescribir el código legacy.próximo: nuevo - CódigoSenior
Lista de scroll infinito con paginación
swiftuirendimientopaginaciónRenderice una lista larga que cargue la siguiente página cuando el usuario se acerque al final, sin cargar todo de antemano y sin disparar solicitudes de página duplicadas.
próximo: nuevo - DiseñoArquitecto
Diseñe una app de notas offline-first
arquitecturasincronizacióndatosLos usuarios crean y editan notas que deben funcionar completamente sin conexión y sincronizar entre dispositivos. Diseñe el flujo de datos, la estrategia de sincronización y la resolución de conflictos.
próximo: nuevo - DiseñoArquitecto
Arquitectura de una app para 30 ingenieros
arquitecturamodularizaciónspmUna app de un solo target tiene compilaciones incrementales de 12 minutos y constantes conflictos de merge. ¿Cómo la reestructura para que un equipo grande pueda avanzar rápido?
próximo: nuevo - DiseñoSenior
Diseñe un feed de imágenes fluido
rendimientoswiftuimediosDiseñe un feed social de fotos en alta resolución que se desplace a una tasa de frames constante en dispositivos antiguos y no exceda el presupuesto de memoria.
próximo: nuevo - DiseñoSenior
Diseñe la capa de red y datos
arquitecturaredcachéDiseñe la capa entre su UI y el backend: cómo encajan las solicitudes, descodificación, caché, renovación de autenticación y pruebas.
próximo: nuevo - DiseñoSenior
Diseñe navegación y deep linking
arquitecturanavegaciónDiseñe la navegación de una app con múltiples pestañas que debe soportar deep links, enrutamiento de notificaciones push y restauración de estado.
próximo: nuevo - DiseñoSenior
Diseñe un pipeline de CI/CD y lanzamiento
cicdlanzamientofirmadoConfigure build, pruebas, firmado y lanzamiento para un equipo para que cada cambio esté verificado y la distribución sea a un clic — con una implementación segura.
próximo: nuevo - DiseñoBeyond
Diseñe búsqueda semántica en el dispositivo
aicoremlbúsquedaPermita a los usuarios buscar su contenido por significado, no solo por palabras clave, total y directamente en el dispositivo por privacidad. Diseñelo.
próximo: nuevo