En comparación con el oro, el nueve y el diez plateado, compartimos 32 módulos de preguntas de la entrevista de Android para ayudar al entrevistador a saber cómo manejarlas en minutos.

Prefacio

A principios de 2023, con el fin de la epidemia, marcamos el comienzo del "Oro, Tres y Plata".

Pensé que finalmente estaba llegando el "amanecer" de la victoria, pero fue inesperado, ¡pero la realidad fue un golpe en la cabeza! ! !

A juzgar por los "registros" de "Oro, Tres, Plata y Cuatro", no es ideal que los programadores cambien de trabajo o encuentren trabajo. Un gran número de personas no han podido encontrar trabajo durante mucho tiempo. Las grandes empresas están Sigo realizando rondas de despidos ¡Todo el mercado laboral no es muy bueno!

Esta situación se produce debido a la guerra comercial entre China y Estados Unidos, que ha provocado un mal ambiente general, grandes fábricas que despiden empleados, malas condiciones laborales, mayores requisitos corporativos y cada vez más puestos de trabajo en todos los ámbitos de la vida. Especialmente programadores, en En esta etapa, el sentimiento es particularmente obvio.

Para los programadores, aunque la proporción de programadores de Android no es tan importante como la de Java y el front-end, es muy común que cientos de personas compitan por un puesto.

Lo que quiero decir aquí es que el entorno general se ha vuelto así. Ya no podemos controlar este mercado y no tenemos otra opción. Por lo tanto, si no puedes vencerlo, únete a él. Aprovecha la oportunidad de obtener ofrece durante las temporadas de entrevistas oro, nueve y diez plata y trabaja duro para mejorar sus propias habilidades técnicas.

No, aquí viene el "Resumen de preguntas de la entrevista de Android + Análisis de respuestas". Las preguntas de la entrevista se dividen en treinta y dos módulos, a saber: "Conceptos básicos de Java, colecciones, subprocesos múltiples, máquinas virtuales, reflexión, genéricos y programación concurrente, Android cuatro componentes principales, tareas asincrónicas y mecanismos de mensajes, dibujo de UI, ajuste de rendimiento, SDN, marcos de terceros, patrones de diseño, Kotlin, red informática, proceso de inicio del sistema, Binder, Handler, AMS, Dart, Flutter, algoritmos y estructura de datos. NDK, H.264, H.265. Códec de audio, FFmpeg, OpenMax, OpenCV, OpenGL ES ", como se muestra en la siguiente figura:
Insertar descripción de la imagen aquí

Visualización de preguntas de la entrevista

Aspecto de Java

Conceptos básicos de Java

  • ¿Cuál es la diferencia entre clase abstracta e interfaz?
  • Hablemos de final, estático y sincronizado respectivamente.
  • Describa brevemente String, StringBuffer y
  • ¿Cuáles son las diferencias y escenarios de uso entre "equals", "==" y "hashCode"?
  • ¿Cuál es la diferencia entre copia profunda y copia superficial en Java?
  • ¿Hablar sobre la diferencia entre error y excepción?
  • ¿Cuál es el mecanismo de reflexión? ¿Cuáles son los escenarios de aplicación del mecanismo de reflexión?
  • ¿Hablar sobre cómo anular el método equals()? ¿Por qué reescribir hashCode()?
  • ¿Hablar sobre su comprensión del borrado de tipos en los genéricos de Java y hablar sobre sus limitaciones?
    -¿Por qué debería diseñarse String para que sea inmutable?
  • ¿Cuénteme sobre su comprensión de las anotaciones de Java?

Colecciones Java

  • ¿Hablar sobre las diferencias entre Lista, Conjunto y Mapa?
  • ¿Hablar sobre la diferencia entre ArrayList y LinkedList?
  • Por favor dime la diferencia entre HashMap y HashTable
  • ¿Hablemos del mecanismo de expansión de ArrayList?
  • ¿Cómo se implementa HashMap?
  • Describa brevemente el principio de funcionamiento y el uso de LinkedHashMap.
  • ¿Habla sobre tu comprensión de ConcurrentHashMap?

subprocesos múltiples de Java

  • ¿Cuáles son las formas de utilizar subprocesos múltiples en Java?
  • ¿Cuéntame sobre los estados de los hilos?
  • ¿Cómo lograr la sincronización en múltiples subprocesos?
  • Hablemos del punto muerto de subprocesos: ¿cómo evitar eficazmente el punto muerto de subprocesos?
  • ¿Hablar sobre las razones del bloqueo de subprocesos?
  • ¿Hable sobre la diferencia entre ejecutar () y iniciar () en Thread?
  • ¿Cuál es la diferencia entre palabras clave sincronizadas y volátiles?
  • ¿Cómo garantizar la seguridad del hilo?
  • ¿Hablar sobre el uso y el principio de ThreadLocal?
  • ¿Cuál es la diferencia entre notificar y notificar a todos en el hilo de Java?
  • ¿Qué es un grupo de subprocesos? ¿Cómo crear un grupo de subprocesos?
  • ¿Hablemos de los bloqueos comunes en los subprocesos de Java?
  • ¿Hablemos de la diferencia entre hilo suspendido () y esperar ()?

Máquina virtual de Java

  • ¿Hablemos del mecanismo de recolección de basura JAVA?
  • Respuesta: ¿Qué son las referencias fuertes, suaves, débiles y virtuales y las diferencias entre ellas?
  • Describa brevemente el mecanismo de carga y el proceso de carga de clases en JVM.
  • ¿Cuáles son los principios y diferencias entre JVM, Dalvik y ART?
  • ¿Habla sobre el mecanismo de reciclaje de memoria de Java?
  • ¿Qué es JMM? ¿Qué problemas tiene? ¿Cómo resolverlo?

Insertar descripción de la imagen aquí

Aspecto de Android

Cuatro componentes principales

  • ¿Cuáles son los métodos de comunicación comunes entre Actividad y Fragmento?
  • ¿Escenarios de aplicación de LaunchMode?
  • ¿Cuánto sabes sobre Contexto?
  • ¿Qué es IntentFilter? ¿Cuáles son los escenarios de uso?
  • ¿Hablemos de la diferencia, el ciclo de vida y los escenarios de uso entre startService y bindService?
  • ¿Cómo se mantiene vivo el Servicio?
  • Presente brevemente cómo ContentProvider realiza el intercambio de datos.
  • ¿Hablar sobre el ciclo de vida de la Actividad al cambiar entre pantallas horizontales y verticales?
  • ¿Existe un límite para el tamaño de los datos transmitidos por un Intent? ¿Cómo resolver?

Tareas asincrónicas de Android y mecanismo de mensajes.

  • ¿Cuáles son los escenarios de uso y el uso de HandlerThread?
  • ¿Cuáles son los escenarios de aplicación y las posturas de uso de IntentService?
  • ¿Cuáles son las ventajas y desventajas de AsyncTask?
  • ¿Habla sobre tu comprensión de Activity.runOnUiThread?
  • ¿Pueden los hilos secundarios actualizar la interfaz de usuario? ¿Por qué?
  • ¿Hablemos del mecanismo y los principios del Handler?
  • ¿Por qué la creación de un controlador en un subproceso secundario genera una excepción?
  • Hay un bucle infinito en Handler. ¿Por qué no bloquea el hilo principal? ¿Cuál es el principio?

estructura de datos

  • ¿Qué es la clasificación de burbujas? ¿Cómo optimizar?
  • ¿Utilice Java para implementar una lista simple enlazada?
  • ¿Cómo revertir una lista enlazada individualmente?
  • ¿Habla sobre su comprensión de la complejidad del tiempo y la complejidad del espacio?
  • Hablemos de cómo juzgar si una lista vinculada es un anillo.
  • ¿Qué es un árbol rojo-negro? ¿Por qué utilizar árboles rojo-negros?
  • ¿Qué es la clasificación rápida? ¿Cómo optimizar?
  • ¿Hablar de cola circular?
  • Cómo determinar la intersección de una lista enlazada individualmente

Insertar descripción de la imagen aquí

Marco de Android

Aglutinante

  • ¿Cuáles son las ventajas de Binder?
  • ¿Cómo logra Binder una copia?
  • ¿Entiendes el principio de mapeo de memoria de MMAP?
  • ¿Cómo funciona el mecanismo Binder en todos los procesos?
  • Hablemos del mecanismo de comunicación de los cuatro componentes principales.
  • Por qué Intent no puede ofrecer big data

Manipulador

  • ¿Qué es HandlerThread? ¿Por qué existe?
  • Describa brevemente el principio general del mecanismo Handler.
  • ¿Dónde existe Looper? ¿Cómo podemos asegurarnos de que los hilos sean únicos?
  • ¿Cómo entender el papel de ThreadLocal?
  • ¿Cuáles son las similitudes y diferencias entre el hilo principal Main Looper y el Looper general?
  • ¿Cómo cambian de hilo Handler o Looper?
  • ¿Por qué el bucle infinito loop() de Looper no se atasca?
  • ¿Cómo se puede despertar con precisión la espera de Looper?
  • ¿Cómo recibir un mensaje? ¿Por qué está diseñado así?

AMS

  • ¿Qué es ActivityManagerService? ¿Cuándo se inicializó? ¿Cuál es el efecto?
  • ¿Qué es ActivityThread? ¿Qué es ApplicationThread? Sus diferencias
  • ¿Qué es la instrumentación? ¿Cuál es la relación con ActivityThread?
  • Cómo se implementa la comunicación entre ActivityManagerService y el proceso cigoto.
  • Registro de actividad, Registro de tareas, Pila de actividad, Actividad
  • Administrador de actividad, Servicio de administrador de actividad, Actividad
  • La escritura a mano implementa una versión simplificada de AMS

Insertar descripción de la imagen aquí

Aspecto del algoritmo

  • Cómo utilizar el algoritmo de búsqueda binaria
  • Cómo solucionar eficientemente los problemas de conexión de agua
  • Subsecuencia de decisión eficiente de búsqueda binaria
  • Cómo eliminar elementos duplicados de una matriz ordenada
  • Cómo encontrar la subcadena de respuesta más larga
  • Cómo realizar la exponenciación modular de manera eficiente
  • Cómo utilizar el pensamiento codicioso para jugar juegos de saltos en un área amplia
  • Cómo juzgar eficientemente la lista de vínculos de retroceso
  • Cómo extraer aleatoriamente elementos de una secuencia inalámbrica
  • Cómo determinar la legalidad de los corchetes
  • Cómo encontrar elementos faltantes y duplicados
  • Hable sobre HashMap, el principio de SparseArrary, las ventajas de SparseArrary en comparación con HashMap y cómo ConcurrentHashMap logra la seguridad de los subprocesos.
  • Hable sobre el principio de HashMap, el proceso de acceso, por qué se utilizan árboles rojo-negro, la comparación entre árboles rojo-negro y árboles binarios completos, HashTab, concurrentHashMap y qué hay en el paquete concurrente.
  • Hable sobre el principio subyacente de hashmap put (). Cuando ocurre un conflicto, cómo agregarlo (recorra la lista vinculada, compare los valores clave uno por uno para ver si son consistentes y si son consistentes, sobrescríbalos y reemplácelos. Una vez completado el recorrido inconsistente, inserte la posición).

Insertar descripción de la imagen aquí

Aspecto de Kotlin

  • Describa brevemente qué es Kotlin. ¿Qué características tiene?
  • ¿Cuáles son algunas formas comunes de implementar singletons en Kotlin?
  • En Kotlin, ¿qué son las funciones en línea? ¿Cuál es el efecto?
  • Hable sobre las corrutinas en Kotlin, ¿en qué se diferencia de los subprocesos? ¿Cuáles son las ventajas?
  • ¿Hablar sobre las similitudes y diferencias entre Any en Kotlin y Object en Java?
  • ¿Existen conversiones implícitas de tipos de datos en Kotlin? ¿Por qué?
  • ¿Cuáles son las formas de recorrer colecciones en Kotlin?
  • ¿Cuál es el principio de la función estándar incorporada de Kotlin?
  • ¿Cuál es el principio de ejecución de funciones de orden superior en el lenguaje Kotlin?

Audio y video

  • ¿Cómo optimizar el inicio instantáneo de la transmisión en vivo?
  • ¿Cuáles son los métodos de filtrado de imágenes digitales?
  • ¿Qué características se pueden extraer de las imágenes?
  • FFMPEG: Cómo sintetizar vídeo a partir de imágenes
  • ¿Cuáles son los formatos comunes de audio y video?
  • Describa la estructura básica de transmisión de video MPEG.
  • ¿Hablemos de la estructura de datos de ffffmpeg?
  • ¿Cómo reducir la latencia? ¿Cómo asegurar la fluidez? ¿Cómo solucionar el retraso? ¿Resolver la inquietud de la red?
  • ¿Cuáles son las soluciones blandas y las soluciones duras de las que solemos hablar?

Insertar descripción de la imagen aquí

Aspecto de aleteo

  • ¿Características del lenguaje Dart?
  • ¿Cómo realiza Dart múltiples tareas en paralelo?
  • ¿El dardo pasa por valor o pasa por referencia?
  • ¿Cuáles son las características de Flutter?
  • ¿Cuál es la relación entre Widget, elemento y RenderObject?
  • ¿Cuáles son las condiciones para usar mixins?
  • ¿Transmitir dos modelos de suscripción?
  • ¿Cuáles son los conceptos centrales de widget, estado y contexto en Flutter? ¿Qué problema hay que resolver?
  • Hablemos de las diferencias y principios entre Hot Reload, Hot Restart y Hot Update.
  • ¿Cómo se comunica Flutter con Android iOS?
  • Hablemos de qué es la gestión estatal y por qué es necesaria.

Insertar descripción de la imagen aquí

por fin

Si necesita preguntas para la entrevista, escanee el código QR a continuación para obtenerlas gratis. !

Supongo que te gusta

Origin blog.csdn.net/weixin_43440181/article/details/132858861
Recomendado
Clasificación