Desarrollador Android: pregunta de entrevista

¿Cómo estructuras la navegación Android?

Modela navegación con destinos y argumentos explícitos, separa decisiones de UI reutilizable, restaura estado tras muerte del proceso y trata deep links y back stack como flujos probados.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

La navegación se modela como un grafo de destinos con argumentos tipados, sea con Navigation Compose, el componente de navegación XML o una pila propia. Las pantallas reciben argumentos y emiten eventos; la decisión de navegar vive en un solo sitio, como un evento del ViewModel manejado por el host, para que los composables reutilizables no dependan de la biblioteca de navegación. Los deep links mapean URLs a destinos con una pila sintetizada, la pila se guarda para la muerte del proceso y los grafos anidados agrupan flujos como onboarding o checkout con sus propias reglas de entrada y salida.

Ejemplo

Un flujo de checkout es un grafo anidado con destinos de carrito, dirección y pago que comparten un ViewModel acotado al grafo; terminar el pago saca todo el grafo y vuelve a la lista de pedidos. Abrir una notificación push de un pedido lleva al detalle con la lista de pedidos debajo, así que el botón atrás se comporta igual que si el usuario hubiera navegado hasta allí.

Errores frecuentes

  • Pasar objetos completos como argumentos en lugar de IDs y chocar con límites de tamaño o datos obsoletos.
  • Llamar al NavController desde composables reutilizables y acoplarlos al grafo.
  • Ignorar la muerte del proceso, de modo que una app restaurada aterriza en una pantalla con argumentos nulos.

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