Agency Coda Icon

Follow in:

7 preguntas y respuestas para tu primer entrevista como Android Developer

  1. ¿Podés describir los componentes básicos de una aplicación de Android?

Esta pregunta permite saber qué tan bien comprende los conceptos básicos de la creación de una aplicación de Android desde cero. Los componentes básicos son los siguientes:

 

  • Activityactivity es una sub-clase de la clase “ContextThemeWrapper”. Como casi todas las activities interactúan con el usuario final, es muy útil pensar en la activity como la pantalla para cualquier acción particular. Tales como sacar una foto o enviar un mensaje. 
  • View: Esto representa todo aquello a la vista dentro de una aplicación. Cualquier elemento, cualquier color (todo lo que compone UI)
  • Intent: el principal propósito es invocar componentes individuales. Usos comunes pueden incluir, por ejemplo, prender el dispositivo, desplegar lista de contactos, mostrar una web page dentro de la app.
  • Service: es el proceso de fondo que puede ser local o remoto. Se puede acceder a los servicios locales desde la app mientras que los servicios remotos están pensados para utilizarse por otras aplicaciones que están en el mismo dispositivo.
  • Content Provider: comparten información entre aplicaciones!
  • Fragment: son parte de una activity. Uno puede mostrar más de un fragment en la pantalla al mismo tiempo.
  • Android Manifest: el archivo AndroidManifest.xml file provee información indispensable sobre tu aplicación que es necesaria para que corra de la forma esperada en el sistema operativo de Android. Todas las apps de Android tienen este archivo. 

 

  1. ¿Cuáles son los siete métodos del ciclo de vida de la actividad de Android y cuál es su propósito?

Respuesta: 

Son onCreate (), onStart (), onRestart (), onResume (), onPause (), onStop () y onDestroy (). Su propósito es ayudar a estructurar el código en torno a cómo desea que se realice una actividad a lo largo de su ciclo de vida en el dispositivo. 

Por ejemplo, onCreate () es donde realizaría su configuración estática, desde la creación de vistas hasta la vinculación de datos a listas. Siempre es seguida inmediatamente por onStart (), donde la aplicación se hará visible para el usuario. Lo que busca en su respuesta es una comprensión sólida del ciclo de vida de una aplicación de Android. 

Las funciones de estos métodos se explican por sí mismas según sus nombres.

 

  1. Escriba un script de manera veloz y eficaz para iniciar una nueva actividad dentro de tu aplicación!

 

El objetivo de esta pregunta es comprobar rápidamente tu conocimiento de la intención explícita al iniciar una actividad. Una intención explícita define explícitamente la actividad que el desarrollador desea iniciar. A continuación se presenta una posible solución: 

 

val intent = Intent(this, SecondActivity::class.java)

intent.putExtra(“key_param”, value)

startActivity(intent)

 

  1. ¿Qué es SQLite? ¿Y qué otros métodos de almacenamiento de datos hay?
  • Almacenamiento interno: Sirve para almacenar archivos privados de aplicaciones en el sistema del dispositivo.
  • Almacenamiento externo: Sirve para almacenar archivos en un sistema externo compartido. Se usa principalmente para archivos que comparte el usuario, como fotos.
  • Preferencias compartidas: Sirve para almacenar datos privados de primitivas en pares clave-valor.
  • Base de datos: Sirve para almacenar datos estructurados en una base de datos privada.
  • Librerías externas tipo Realm 

 

  1. Enumerar brevemente los componentes de la arquitectura de Android.

 

Esta es otra pregunta de alto nivel para ayudarte a demostrar tu entendimiento del panorama general del diseño de aplicaciones. La pila de software de Android generalmente se divide en los cinco componentes principales que se detallan a continuación:

 

  • Linux Kernel: la capa base de una aplicación que interactúa directamente con el hardware del dispositivo; este es el nivel que se ocupa de los controladores de hardware como la cámara, el teclado y la pantalla.
  • Librerías nativas: Descansando sobre Linux Kernel hay un conjunto de bibliotecas de código abierto, que incluyen la base de datos SQLite, libc y el motor del navegador WebKit.
  • Android Runtime: La Dalvik Virtual Machine está en el mismo nivel que las librerías nativas y permite que cada app de Android corra sus propios procesos!
  • Application Framework: La siguiente capa proporciona servicios de nivel superior en forma de clases de Java para aplicaciones en el dispositivo. Los servicios clave que debe conocer son el administrador de actividades, los proveedores de contenido, el administrador de recursos, el administrador de notificaciones y el sistema de visualización.
  • Applications: La capa superior es la propia aplicación de Android. Este es el nivel donde las aplicaciones se instalan realmente y con el que los desarrolladores están más familiarizados.

 

  1. ¿Podrías enumerar y explicar las cuatro clases de Java relacionadas con el uso de sensores en la plataforma Android?

 

Si una aplicación requiere el uso de sensores como el acelerómetro o el giroscopio, querrás asegurarte de estar familiarizado con estas cuatro clases!

 

  1. Sensor Manager: esta clase proporciona métodos relacionados con el registro de los oyentes de eventos del sensor, la gestión de la adquisición de datos y la calibración. También proporciona métodos para acceder y enumerar sensores.

 

  1. Sensor: esta clase crea una instancia de un sensor específico, proporcionando métodos que le permiten determinar sus capacidades.

 

3 SensorEvent: esta clase proporciona información sobre un evento de sensor mediante la creación de un objeto de evento de sensor.

 

  1. SensorEventListener: esta interfaz proporciona dos métodos de devolución de llamada que pueden recibir notificaciones de eventos del sensor.

 

7.¿Cuáles son algunas de las medidas que podes tomar para evitar ANR?

 

El temido mensaje ANR (Aplicación no responde) aparece al usuario cuando una aplicación de Android no responde durante un largo período de tiempo. Normalmente, la ANR se produce cuando la aplicación funciona demasiado en el hilo principal. Para evitar ANR, una aplicación debe realizar largas operaciones de base de datos o de red en sub-procesos separados. Para las aplicaciones que requieren muchas tareas en segundo plano, puede aliviar la presión del subproceso de la interfaz de usuario mediante IntentService. En general, es útil definir siempre los tiempos de espera para todas sus llamadas de servicio web y estar siempre atento a los bucles infinitos en cálculos complejos.

Por Matias Camiletti, CTO en Agency Coda.

0 Comments

Open chat
Need help?