Preguntas de la entrevista de Android y cómo entrevistar a los candidatos

Si su empresa está buscando contratar a un desarrollador realmente excelente para sus aplicaciones de Android o si está solicitando el rol de desarrollador de Android, ¿cómo se asegura de que puede obtener el candidato adecuado o estar preparado para el trabajo? Todo comienza con las preguntas de la entrevista de Android. Hacerlo solo siempre es un asunto complicado, alguien puede parecer excelente en una entrevista, pero cuando las cosas se vuelven reales, a veces puede ser una decepción. En este artículo explicaremos cómo separar lo bueno de lo no tan bueno y asegurarnos de que su empresa termine con los mejores candidatos posibles para desempeñar este importante papel.

Las técnicas de entrevista funcionan en ambos sentidos. Por más importante que sea para los posibles candidatos desarrollar buenas habilidades de entrevista, es igualmente importante que los entrevistadores hagan las preguntas correctas y desarrollen habilidades para evitar contratar a la persona equivocada. La confianza viene de tener la munición adecuada en su casillero. Se trata de comprender el puesto, los requisitos para el trabajo y las preguntas necesarias para garantizar que el entrevistado sea el adecuado.

Durante la entrevista

Es importante que haga que el entrevistado se sienta a gusto. Nadie realmente disfruta el proceso de la entrevista, y puede ser extremadamente estresante. Cuanto más pueda hacer para tranquilizar al candidato, más probabilidades tendrá de tener una idea genuina de su carácter.

Obviamente, como con cualquier candidato para cualquier puesto en su empresa, deben abordarse las preguntas básicas para determinar su carácter y prácticas de trabajo pasadas. También es una buena idea consultar las redes sociales. En la actualidad, todos tienen presencia en las redes sociales y es una buena idea echar un vistazo rápido a su registro de publicaciones. Si muestran una falta de integridad hacia los empleadores anteriores, no hay razón para sugerir que cambiarán repentinamente sus patrones de comportamiento. Para obtener más información sobre cómo elegir el desarrollador adecuado para su empresa, visite nuestra publicación de blog aquí.

Entonces, después de haber hecho las preguntas genéricas habituales y hacer que el candidato se sienta cómodo, es hora de averiguar cuánto saben sobre el desarrollo de Android. Aquí es donde las preguntas se vuelven más específicas para el trabajo y tal vez aún más difíciles.

Preguntas esenciales

1. ¿Qué es Android y quién lo fundó?

Android es un sistema operativo de código abierto basado en Linux. Fue fundada por Andy Rubin y se usa en móviles, tabletas, televisores, etc.

2. Nombre la arquitectura de la aplicación de Android.

  • Las actividades dictan la interfaz de usuario y manejan la interacción del usuario con la pantalla de un teléfono inteligente. La actividad realiza acciones en la pantalla.
  • Los receptores de difusión responden a los mensajes de difusión desde otra aplicación dentro o desde el sistema. Esto se implementa como una subclase de la clase BroadcastReceiver y cada mensaje se reconoce como un Intentobject.
  • Servicios. Estos se utilizan para realizar funciones de fondo.
  • Intención. Esto es lo que permite la conectividad entre las actividades y el mecanismo de paso de datos.
  • Externalización de recursos que se refiere a cadenas y gráficos.
  • Notificación para cuadro de diálogo, icono, luz, notificación, sonido y tostadas
  • Proveedores de contenido para compartir datos entre aplicaciones

3. ¿Cuáles son los componentes adicionales de Android?

  • Los fragmentos sirven como una parte de la interfaz de usuario en una Actividad.
  • Las vistas son elementos de la interfaz de usuario que se dibujan en la pantalla, incluidos botones, formularios de listas, etc.
  • Los diseños muestran jerarquías que controlan el formato de pantalla y la apariencia de las vistas.
  • Los intentos son mensajes que conectan componentes entre sí.
  • Los recursos son elementos externos (cadenas, constantes e imágenes dibujables).
  • Manifiesto es el archivo de configuración de la aplicación.

4. ¿Qué notificaciones están disponibles en Android y cuál es su uso?

Snackbars & Toast Notification: aparece como un mensaje emergente en la superficie de la ventana.

Los Snackbars contienen una sola línea de texto que está directamente relacionada con la operación que se realiza. Por lo general, contienen una acción de texto y ningún ícono. Solo se puede mostrar un snackbar a la vez y puede contener una acción individual, ninguna de las cuales puede ser "Descartar" o "Cancelar".

Las tostadas solo están disponibles con los androides y se usan para mensajes del sistema. También se muestran en la parte inferior de la pantalla, pero no se pueden deslizar fuera de la pantalla.

Las notificaciones de la barra de estado muestran notificaciones en la barra de estado.

Para obtener más información sobre Snackbars y Toast, visite aquí.

Notificación de diálogo: una notificación relacionada activamente.

5. ¿Cómo se traduce en Android?

Android usa el traductor de Google para traducir datos de un idioma a otro y los coloca como una cadena durante el desarrollo.

6. ¿Qué tipos de banderas se utilizan para ejecutar una aplicación en Android?

FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_CLEAR_TOP.

7. Las versiones de Android van bajo nombres de código, por favor, proporcione tantos nombres de código como sepa.

Aestro, Licuadora, Magdalena, Donut, Eclair, Froyo, Pan de jengibre, Panal, Sandwich de helado, Jelly Bean, Kitkat, Lollipop, Marshmallow

8. ¿Cuáles son las principales ventajas de Android?

Android es un sistema operativo de código abierto, lo que significa que es gratuito para el usuario final. No hay tarifas de licencia, desarrollo o distribución. Es compatible con muchas tecnologías diferentes, como cámara, bluetooth, wifi, voz y edge. Además, también utiliza una máquina virtual altamente optimizada llamada DVM (Dalvik Virtual Machine) para usar en dispositivos móviles.

9. ¿Puedes nombrar la base de datos que usa Android y dar una breve descripción al respecto?

El nombre de la base de datos es SQLite, que es una base de datos relacional de código abierto. Se puede utilizar para realizar las funciones habituales de la base de datos en dispositivos Android. No solo es fácil almacenar, manipular y recuperar datos, sino que también está integrado en la plataforma Android de forma predeterminada. No es necesaria la configuración, la administración ya está en su lugar.

10. ¿Cuáles son los diferentes tipos de almacenamiento disponibles en Android y cuál es su uso?

  • Las preferencias compartidas almacenan datos primitivos privados en pares clave-valor. La clase SharedPreferences ayuda a proporcionar un marco general que permite a los usuarios guardar y recuperar pares persistentes de clave-valor de tipos de datos primitivos. SharedPreferences se puede usar para guardar datos primitivos como booleanos, flotantes, ints, longs y strings. Estos datos persisten en las sesiones de usuario, incluso cuando se cierra la aplicación. Para obtener más información sobre cómo obtener un objeto SharedPreferences para una aplicación, haga clic aquí.
  • Almacenamiento interno almacena datos privados en la memoria del dispositivo. Once puede guardar archivos directamente en el almacenamiento interno del dispositivo. Los archivos guardados en el almacenamiento interno son privados para su aplicación de manera predeterminada y otras aplicaciones tampoco pueden acceder a ellos. Cuando el usuario desinstale su aplicación, los archivos serán eliminados.
  • El almacenamiento externo almacena la fecha pública en el almacenamiento externo compartido. Todos los dispositivos compatibles con Android pueden admitir un "almacenamiento externo" compartido donde se pueden guardar los archivos. Puede ser un medio de almacenamiento extraíble (tarjeta SD) o un almacenamiento interno (no extraíble).
  • Las bases de datos SQLite almacenan datos estructurados en una base de datos privada. Android proporciona soporte completo para bases de datos SQLite. Cualquier base de datos que se cree puede ser accesible por nombre a cualquier clase en la aplicación. Tenga en cuenta que no son accesibles fuera de la aplicación.
  • Network Connection almacena datos en la web con el propio servidor de red. Para realizar operaciones de red, se deben usar clases en los siguientes paquetes a continuación:

java.net. *

android.net. *

11. ¿Qué son los widgets de aplicaciones en Android?

Los widgets de aplicaciones son vistas en miniatura de aplicaciones que pueden integrarse en otras aplicaciones (como la pantalla de inicio) y recibir actualizaciones periódicas. Estas vistas a menudo se denominan Widgets en la interfaz de usuario, y puede publicar una con un proveedor de App Widget.

Bloques de construcción y ciclos de vida

12. ¿Cuáles son los componentes básicos de Android?

Los componentes básicos para Android son los siguientes:

  • Actividad: la clase que representa una sola pantalla, es decir, un marco en AWT
  • Ver: el elemento de la interfaz de usuario, por ejemplo, una etiqueta, un botón o un campo de texto. Básicamente todo lo que se ve es una vista
  • Intención: aquello que se usa para invocar componentes. Por ejemplo, inicie el servicio, muestre una página web o transmita un mensaje.
  • Servicio: el proceso en segundo plano. Estos vienen en dos tipos locales a los que se accede desde la aplicación y remotos a los que se puede acceder desde otros dispositivos.
  • Proveedor de contenido: se utilizan para compartir datos entre diferentes aplicaciones.
  • Fragmento: partes separadas de la actividad que se pueden mostrar en múltiplos al mismo tiempo.
  • AndroidManifest.xml: contiene información sobre actividades, permisos y proveedores de contenido, etc.
  • Dispositivo virtual Android (AVD): que se utiliza para probar la aplicación sin necesidad de una tableta u otro dispositivo.

13. ¿Puedes nombrar los 7 métodos de ciclo de vida de la actividad de Android y explicar un poco sobre cada uno?

Los 7 métodos de ciclo de vida son los siguientes:

1) onCreate (): significa que se ha creado una actividad

2) onStart () - lo que significa que se ha vuelto visible para el usuario.

3) onResume (): significa que la actividad ha comenzado a interactuar con el usuario

4) onPause () - lo que significa que la actividad no es visible para el usuario

5) onStop () - lo que significa que ya no es visible para el usuario final

6) onRestart (): significa que la actividad se ha detenido antes de comenzar

7) onDestroy () - lo que significa que la actividad será destruida

Acrónimos de Android

14. ¿Qué significa ADB en Android?

ADB actúa como un puente entre el emulador y el IDE. También ejecuta comandos de shell remotos para ejecutar aplicaciones en un emulador.

15. ¿Qué es ANR en Android?

ANR significa que la aplicación no responde. Es un cuadro de diálogo que aparece cuando la aplicación no responde.

16. ¿Qué significa ADT?

ADT es una herramienta de desarrollo de Android y se utiliza para desarrollar las aplicaciones y probarlas.

17. ¿Qué significa DDMS y cuáles son sus capacidades?

Esto se refiere al servidor Delvik Debug Monitor. Tesis una herramienta de depuración que se incluye en Android Studio. Se puede usar para servicios de reenvío de puertos, información de subprocesos y montón en el dispositivo, captura de pantalla en el dispositivo, logcat, proceso e información de estado de radio. Además, proporciona, entre otros servicios, llamadas entrantes y suplantación de SMS, y suplantación de datos de ubicación.

Para más información por favor lea aquí.

Intención

18. ¿Qué es una intención y da tres ejemplos de cómo se usa?

Tres usos comunes para una intención son:

  • Inicio de una actividad Es normal iniciar una nueva instancia de una actividad pasando un intento de iniciar el método ActionActivity ().
  • Entrega de una transmisión Esto se puede hacer pasando la intención de sendBroadcast (), sendStickyBroadcast () y sendOrderedBroadcast ()
  • Al iniciar un servicio, esto se puede utilizar para realizar una operación única, por ejemplo, descargar un archivo. Se logra al pasar la intención de iniciarServicio ()

Para obtener más información, consulte esta sección de la Guía del desarrollador de Android.

19. ¿Se puede usar una intención para proporcionar datos a un proveedor de contenido?

No, no se puede utilizar una intención para proporcionar datos a un proveedor de contenido. Para usar datos en un ContentProvider, debe usar ContentResolver en su lugar. Esto está en el contexto de la aplicación y se utiliza para comunicarse con el proveedor como cliente. El objeto proveedor funciona recibiendo solicitudes de datos, realizando la acción requerida y luego devolviendo los resultados.

20. Utilizando con intención, podemos lanzar una actividad.

Intención intención = nueva intención (esto, MyTestActivity.class);
       startActivity (intento);

Definiciones y soluciones

21. Defina el archivo de recursos de la aplicación en Android.

JSON, XML bitmap.etc son recursos de la aplicación. Puede inyectar estos archivos para crear el proceso y cargarlos desde el código.

22. ¿Qué es un adaptador en Android?

Un adaptador actúa como un puente. Convierte elementos de datos en elementos nuevos para que se puedan mostrar en los componentes de la interfaz de usuario.

Para obtener más información sobre los adaptadores, visite aquí.

23. ¿Dónde se colocan los diseños en Android?

En la carpeta Diseño, los diseños se colocan como archivos XML.

24. ¿Qué es una clase singleton en Android?

Una clase que solo puede crear un objeto, ese objeto se puede compartir con otras clases.

25. ¿Qué es un fragmento en Android?

Un fragmento es una pieza de actividad y siempre está contenido en la actividad. Con el fragmento, podemos reutilizarlo en muchas actividades y es más flexible ubicarlo en una pantalla.

26. ¿Qué es el modo de suspensión en Android?

El modo de suspensión significa que la CPU estará en suspensión y no acepta ningún comando de un dispositivo Android, excepto la capa de interfaz de radio y la alarma.

27. ¿Qué kernal se usa en Android?

Android es un núcleo Linux 3.6 personalizado.

28. ¿Qué excepciones están disponibles en Android?

InflateException, Surface.OutOfResourceException, SurfaceHolder.BadSurfaceTypeException y WindowManager.BadTokenException

29. ¿Cuál es el orden del cuadro de diálogo en Android?

El orden es: Positivo, Neutral, Negativo.

30. ¿Qué es una carpeta dibujable en Android?

Un recurso visual compilado que puede usarse como fondos, pancartas, iconos, pantalla de inicio, etc.

31. ¿Qué significa ContentProvider y cuál es su uso normal?

Un ContentProvider se usa para administrar el acceso de un conjunto estructurado de datos. Identifica los datos y proporciona mecanismos para definir la seguridad de los datos. Es la interfaz estándar que conecta datos dentro de un proceso con el código que se ejecuta en otro. Para obtener más información, consulte esta sección de la Guía del desarrollador de Android.

32. ¿Cómo se pasan los datos a las sub-actividades de Android?

Usando con Bundle, podemos pasar los datos a sub actividades.

Bundle bun = nuevo Bundle ();

bun.putString ("EMAIL", "contact@tutorials.com");

33. Está reorientando una pantalla, en lugar de que Android derribe el primer plano y restaure los valores de vista en el diseño de la actividad, el valor de una vista no se restaura después de la reorientación. ¿Cuál es la razón probable de esto?

La razón más probable es que el desarrollador no ha verificado que tiene una identificación válida. Un sistema Android solo restaurará el estado de las vistas en la actividad si cada vista tiene una identificación única. Esto lo proporciona el atributo android: id

Para obtener más información, consulte esta sección de la Guía del desarrollador de Android.

Biblioteca de Android

34. Describe la biblioteca de Android.

Una biblioteca de Android es un proyecto de desarrollo que contiene código fuente de Android compartido y otros recursos. Tiene todo lo necesario para crear una aplicación, incluido el código fuente, los archivos de recursos y un manifiesto de Android. Compila todo en un archivo Android Archive (AAR) que se puede usar como una dependencia para un módulo de aplicación de Android.

35. ¿Cuándo se usa el módulo de biblioteca de Android?

El módulo de biblioteca de Android se puede usar cuando se compilan múltiples aplicaciones que requieren o usan los mismos componentes, como actividades, servicios o diseños de interfaz de usuario. También se usa cuando uno está creando una aplicación que existe en múltiples variaciones de APK, como la versión gratuita y de pago, que necesita los mismos componentes principales para ambos.

Esta guía puede ayudar a los usuarios a aprender cómo crear una biblioteca de Android.

Para mantenerse actualizado con los últimos desarrollos de Android, es importante que continúe desarrollando sus habilidades a medida que los sistemas se desarrollan y cambian con el tiempo también. Esto le permitirá mantenerse por delante de la competencia y convertirse en un activo más valioso para su cliente y su equipo.

Hilo de Android

36. ¿Qué es un hilo?

"Un subproceso es un subproceso de ejecución en un programa". Cada subproceso tiene una prioridad y la mayor prioridad que tiene el subproceso se ejecutan con preferencia a los subprocesos con menor prioridad. Cuando el código se ejecuta en un subproceso y crea un nuevo objeto de subproceso, el nuevo subproceso tiene su prioridad inicialmente establecida igual a la prioridad del subproceso de creación, y es un subproceso de demonio si y solo si el subproceso de creación es un demonio.

37. ¿Cómo se crea un nuevo hilo de ejecución?

Hay dos formas de crear un nuevo hilo de ejecución. Una es declarando que una clase es una subclase de Thread. La subclase anulará el método de ejecución de la clase Thread. La subclase se puede asignar e iniciar. A continuación se muestra un ejemplo de un subproceso que compila primos mayores que un valor establecido:

clase PrimeThread extiende Thread {
        largo minPrime;
        PrimeThread (largo minPrime) {
            this.minPrime = minPrime;
        }
        public void run () {
            // calcular primos mayores que minPrime
             . . .
        }
    }

El siguiente código crearía un hilo y lo comenzaría a ejecutar:

PrimeThread p = nuevo PrimeThread (143);
    p.start ();

Otra forma de crear un hilo es declarar una clase que implemente una interfaz Runnable. Esta clase implementará el método de ejecución. La clase se puede asignar, pasar como argumento al crear Thread e iniciar.

clase PrimeRun implementa Runnable {
        largo minPrime;
        PrimeRun (largo minPrime) {
            this.minPrime = minPrime;
        }
        public void run () {
            // calcular primos mayores que minPrime
             . . .
        }
    }

El siguiente código crearía un hilo y comenzaría a ejecutarse:

PrimeRun p = nuevo PrimeRun (143);
    nuevo hilo (p) .start ();

38. ¿Puede más de un hilo tener el mismo nombre?

Si. Cada hilo tiene un nombre para ser identificado. Si no se especifica un nombre cuando se crea un hilo, se crea un nuevo nombre para él.

Para obtener más información sobre el hilo de Android, visite aquí.

Conclusión

Tenga en cuenta que estas preguntas no cubren todas las complejidades del desarrollo de Android y simplemente se ofrecen como una guía. Mediante el uso de estas preguntas, podrá tener una idea real de la capacidad del candidato o qué esperar en una entrevista. De cualquier manera, todavía es preferible utilizar una agencia de calidad como Pangara para ayudar con el proceso, ya sea contratando o buscando ser contratado. Pangara cuenta con equipos especializados que ya han entrevistado y monitoreado a los candidatos, así como un proceso de calificación único para evaluar a los mejores desarrolladores. Si Pangara proporciona un desarrollador de Android para cualquier negocio, puede estar seguro de que la persona será ideal para el trabajo.

Esperamos que consigas a la persona adecuada para tu puesto. Después de todo, su negocio puede depender de ello.

* Esta publicación fue editada y revisada por Binh Nguyen, talento móvil en Pangara.

Si está listo para dar el siguiente paso y unirse a la red exclusiva de freelancers de Pangara, ¡comencemos! Conviértete en un talento de Pangara hoy.

Asegúrese de estar atento a nuestras últimas actualizaciones de noticias y eventos en nuestra página de Facebook, LinkedIn y Twitter.

Publicado originalmente en pangara.com el 13 de noviembre de 2017.