Desarrollador Android: pregunta de entrevista

¿Cómo diseñas una app Android offline-first?

Una app offline-first lee de una fuente local de verdad, sincroniza en segundo plano, registra escrituras pendientes y define conflictos, reintentos, frescura y estado visible de sincronización.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

La base de datos local es la única fuente de verdad: las pantallas la observan y la red solo la actualiza. Las escrituras van al almacén local de inmediato junto con un registro de operación pendiente, así que la interfaz refleja el cambio al momento; un worker de sincronización, normalmente WorkManager con restricciones de red, reproduce las operaciones pendientes, aplica las respuestas del servidor y trae los cambios remotos. Los conflictos necesitan una regla documentada por entidad, como último escritor gana con marca de tiempo del servidor o fusión de campos, y la interfaz debe mostrar qué está pendiente, sincronizado o fallido para que los usuarios confíen en la app con mala red.

Ejemplo

Una app de servicio técnico permite completar formularios bajo tierra; cada envío se guarda en Room con estado PENDING y un ID de cliente único, WorkManager lo sube cuando vuelve la conectividad y el servidor usa ese ID para hacer idempotentes los reintentos. Si la oficina editó el mismo trabajo mientras tanto, el servidor devuelve ambas versiones y la app pregunta al técnico qué campos conservar.

Errores frecuentes

  • Tratar la respuesta de red como fuente de verdad y mostrar una pantalla vacía sin conexión.
  • Reintentar subidas sin idempotencia y crear registros duplicados tras una conexión inestable.
  • Descartar en silencio escrituras en conflicto en lugar de mostrarlas al usuario.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Android