Si desea encontrar un trabajo después de un año, eche un vistazo a estas preguntas de entrevista completas de Android intermedio y avanzado, sugerencias de entrevista + ruta de revisión del sistema.

Recientemente, resolví una ola de preguntas de entrevistas, incluido Android JAVA. En la actualidad, los principales fabricantes todavía se centran en el código fuente, los algoritmos y las estructuras de datos de Android. Algunas pequeñas y medianas empresas también preguntarán sobre el conocimiento del desarrollo mixto. En cuanto a por qué tiendo a desarrollar un desarrollo mixto, una de mis palabras es "En el camino de la programación, tienes que aprender más que estos en el futuro y enriquecerte para poder conectarte con el mundo" , y hacer full-stack equipo.

Con tres de oro y cuatro de plata, muchos estudiantes probablemente estén planeando encontrar un trabajo o cambiar de trabajo después del año nuevo. Recientemente, muchos estudiantes están solicitando preguntas de entrevistas a Dachang en el grupo de intercambio. Sucede que mi computadora tiene este tipo de organización, así que lo publiqué para compartirlo con ustedes.

1. Preguntas de la entrevista en línea

1. Protocolo HTTP
2. Protocolo TCP / IP
3. Apretón de manos de tres vías TCP y preguntas de comprensión y entrevista de cuatro manos agitadas
4. Ingrese la URL en la página web para representar la interfaz completa, y ¿qué protocolo se usa en el medio?
5. ¿Cuál es la diferencia entre TCP y UDP?
6. Se presentan en detalle varios métodos de solicitud HTTP.
7. El formato de los mensajes de solicitud y respuesta HTTP, así como los códigos de estado comunes.
8. Cuántas solicitudes HTTP se pueden enviar en una conexión TCP

Dos, preguntas de entrevista sobre estructura de datos y algoritmo

1. ¿Cuáles son las estructuras de datos más utilizadas?
2. Array
3, Linked List
4, Queue & Stack
5, Binary Tree
6, HashMap
7, Figura
8, ¿Cuáles son los algoritmos de clasificación?
9. Algoritmo de búsqueda
10, cadena
11, otros algoritmos (algoritmo de cifrado simétrico, matriz hash)

Tres, preguntas de la entrevista de Java

1. HashMap
2. ArrayList
3. LinkedList
4. Análisis de código fuente de Hashset
5. Modelo de memoria
6. Algoritmo de recolección de basura (JVM)
7. ¿La diferencia entre el mecanismo de recolección de basura y llamar a System.gc ()?
8. Proceso de carga de clases
9, reflexión
10, subprocesos múltiples y grupo de subprocesos
11, creación de método de subprocesos múltiples, principio de funcionamiento del grupo de subprocesos
12, patrón de diseño (seis principios básicos, patrones de diseño comunes en proyectos, singleton manuscrito, etc.)
13, Breakpoint Resume
14 , Cuatro referencias Java
15, Java Generics
16, Diferencias finales, finalmente y finalizadas
17, Interfaces y clases abstractas,
18, Discutir la aplicación de clases e interfaces abstractas del diseño de clases de contenedores Java
19, La diferencia entre sincronizado y bloqueado

Cuatro, preguntas de la entrevista de Android

1. Modo de inicio de la actividad
2.
Proceso de inicio de la actividad 3. Comunicación del proceso
4. Resumen de la capa de aplicación y análisis de Android Binder
5. Método de mantenimiento de procesos
6. Comprensión del looper del controlador y de las ideas de messageQueue del código fuente
7. Cómo implementa el controlador el envío de mensajes retrasados postdelay ()
8. ¿Por qué el hilo principal de Android no se atasca debido al bucle infinito en Looper.loop ()?
9, principio de RxJava y cómo empaquetar y usar
10, análisis de código fuente okhttp
11, análisis de código fuente
de actualización 12, análisis de código fuente del principio central de LeakCanary
13, uso y principio
de LruCache 14, principio de ARouter
15, principio de implementación del marco de anotaciones
16, Android cómo para escribir en función del tiempo de compilación Proyecto anotado
17, RxJava2 + Retrofit2 + OkHttp3 básicos, empaquetado y uso en el proyecto
18, Rxjava2.0 + Retrofit + Okhttp (uso empaquetado) + marco MVP para construir
19, complemento de Android y reparación en caliente combinación de conocimientos
20, desarrollo de Android Problemas comunes de fuga de memoria y soluciones en
21. Cómo detectar y localizar pérdidas de memoria de Android
22. El algoritmo de memoria ocupado por imágenes
23. ¿Por qué las imágenes necesitan usar referencias suaves? La interfaz de visualización en modo MVP usa referencias
24. Práctica MVVM basada en DataBinding y LiveData
25, optimización de la estabilidad de la aplicación
26, optimización de la velocidad de inicio de la aplicación
27, optimización de la memoria de la aplicación
28, optimización del dibujo de la aplicación
29, adelgazamiento de la aplicación
30, optimización de la red
31, optimización de la batería de la aplicación
32, optimización de la seguridad de Android
33. ¿Por qué WebView tarda en cargarse?
34. Cómo optimizar la vista personalizada

3 sugerencias de entrevistas pensadas para todos

A menudo hay amigos y fanáticos que conversan en privado conmigo para ayudarlo a leer su currículum y encontrar algunos problemas comunes; además, ocasionalmente entrevisto a algunas personas y comparto algunos sentimientos personales con todos.

La información del currículum debe ser intuitiva

El currículum debe pasar primero el nivel de RR.

Por lo tanto, primero debemos ponernos en su posición y pensar en lo que quiere ver.

Para la información básica: la información básica de la institución de graduación, tiempo de graduación, información de contacto, no los repetiremos.

He visto una experiencia de proyecto en un currículum, el nombre del proyecto probablemente sea así

  • Proyecto online BBV 2016-2017
  • Proyecto en línea de Kung Fu 2017-2018

Después de echar un vistazo, no sabía cuál era el proyecto.

No puede esperar que RR.HH. dedique tiempo a leer la introducción del proyecto en su currículum para inferir el tipo de su proyecto ...

Entonces, después de consultar, descubrí que BBV es una aplicación blockchain y Kungfu es una aplicación de catering.

Entonces también podría modificarlo de la siguiente manera, que es más intuitivo:

  • Aplicación Blockchain 2016-2017 (BBV)
  • Aplicación de catering 2017-2018 (Kung Fu)

No consulte este artículo excepto para proyectos conocidos.

Habilidades profesionales expresadas en el currículum.

1. Conveniente para RRHH para verificar la coincidencia de habilidades

Existen requisitos para cualquier puesto de entrevista y algunos RR.HH. también prestarán atención a la coincidencia entre el currículum y el puesto publicado.

También hay un pequeño truco: puede cumplir con flexibilidad los requisitos de este puesto (pero no escriba lo que no sabe).

2. La principal fuente de preguntas de la entrevista

El entrevistador utiliza principalmente la comunicación y las preguntas para determinar la profundidad y amplitud de su tecnología y el grado de coincidencia para el puesto.

Entonces, ¿de dónde viene la pregunta?

Por supuesto, proviene del contenido de su currículum.

Por lo tanto, su currículum debe mostrar claramente el dominio de las habilidades profesionales:

Por ejemplo:

habilidad profesional

  • Familiarizado con Android Hot Repair, plug-in, dex, arsc y otras tecnologías relacionadas
  • Familiarizado con la distribución general de eventos de Android, controles personalizados, efectos de movimiento, etc.
  • Familiarizados con la orientación a objetos, se preocupan por la encapsulación, la herencia y el diseño de interfaces
  • Familiarizado con los métodos convencionales de optimización del rendimiento de Android, tenga cierta experiencia de combate real
  • Familiarizado con el código del marco relacionado con los cuatro componentes principales de Android
  • Familiarizado con la escritura del complemento de gradle, tiene cierta experiencia de combate real
  • Familiarizado con la adaptación de Https en Android y conocimiento relacionado de anti-craqueo de aplicaciones
  • Comprender el desarrollo de NDK y tener algo de experiencia en el desarrollo de JNI

Si su proyecto es más brillante, también puede dividir sus habilidades profesionales en la introducción del proyecto.

De esta manera, puede encontrar un proceso de entrevista muy agradable:

R: Mira que has hecho XXX y habla sobre cómo practicarlo.
B: Practiqué de esta manera en el proyecto y encontré los siguientes problemas, que se resolvieron de esta manera.
R: Yo también lo he encontrado, así es como lo resolví, pero parece que tu plan también es bueno.
AB: Diviértete y comunícate en profundidad.
...

Pero si no tiene habilidades profesionales por escrito.

Luego, cuando conozca a un mejor entrevistador, es posible que se comunique con usted sobre el proyecto y, a partir de su declaración, determine qué técnicas utiliza para hacer preguntas.

Por supuesto, muchas veces la entrevista es bastante tensa, una pregunta y una respuesta, la introducción del proyecto también es muy simple y aprobada.

El entrevistador estaba muy deprimido, ¿por qué?

Entonces solo puede preguntarle sobre cosas con las que está familiarizado. Tal vez el entrevistador esté principalmente relacionado con plug-ins y usted principalmente relacionado con componentes. Esta situación puede hacer que ustedes dos estén fuera del mismo canal, lo cual es muy perjudicado.

Es probable que el proceso de entrevista se convierta en:

R: ¿Alguna vez has hecho XXX.
B: Nunca lo hice.
R: Entonces, ¿alguna vez has hecho XXX?
B: Nunca lo hice.
A: (Interior) ¿Qué hizo exactamente este B ...
B: (Interior) Qué tipo de pregunta se hizo
...

Por supuesto, no escriba sobre habilidades que no haya aprendido profundamente. Si las enumera, asumirá que tiene cierto grado de profundidad, en lugar de responder cuando se le pregunte:

Acabo de usar esto ...
esto fue recogido por mi colega ...
No he tenido tiempo de leer el código fuente ...

La respuesta al principio de la tercera biblioteca debe ser dirigida

Para responder preguntas, mientras responde las preguntas, intente ser lo más relevante posible para los escenarios específicos del proyecto que ha experimentado .

A continuación, hablaré de una experiencia real Básicamente, a la entrevista se le preguntará sobre el principio de las bibliotecas de terceros.

Por ejemplo, pregúntele el principio de freso del marco de carga de imágenes:

Algunos estudiantes respondieron así:

Primero, de acuerdo con la URL, vea si hay un caché, si hay un caché del caché, no hay una solicitud de compilación y colóquelo en el grupo de subprocesos para su ejecución.

Suena bien a primera vista, pero ¿ningún marco completo de carga de imágenes tiene este proceso?

Entonces, para pedirle una biblioteca de código abierto, además de responder al proceso de principio básico, debe conocer claramente la arquitectura central y las características de la biblioteca, el mejor diseño y las áreas que se pueden ampliar.

Sería incluso mejor si el proyecto hubiera sido optimizado y monitoreado.

Por ejemplo, el fresco acaba de preguntar:

  • Puede hablar sobre su marco de diseño general;
  • Puede hablar sobre su mecanismo de gestión de la memoria de imágenes, en diferentes versiones de teléfonos móviles, y luego profundizar;
  • Puede hablar sobre su mecanismo de Productor / Consumidor y cómo usar este mecanismo para expandir y personalizar el proyecto;
  • Puede hablar sobre las optimizaciones que se han realizado según la situación de su negocio;
  • Incluso hablar de algunas de sus deficiencias;
  • ...

Por lo tanto, para el principio de la tercera biblioteca, espero que pueda dominar:

  1. Proceso de principio básico;
  2. Diseño de arquitectura general;
  3. Hacer mejores lugares, y el diseño y principios de estos lugares;
  4. Combinar personalización, optimización y expansión de proyectos;

De hecho, esta sugerencia también puede revertir otra pregunta:

¿Cómo aprender el código fuente de un proyecto de código abierto?

Muchos estudiantes aprendieron el código fuente de una biblioteca de código abierto, se esforzaron mucho en resolver el proceso de ejecución del código y finalmente se conectaron, se terminó con un largo suspiro de alivio , entonces es una lástima.

De las respuestas sugeridas arriba, se puede ver que ordenar el proceso de ejecución es solo lo primero.

Vas a descubrir en profundidad:

  1. ¿Cómo se ve el diseño de la arquitectura central?
  2. ¿Cuáles son las ventajas sobre otras bibliotecas de código abierto similares?
  3. ¿Cómo se logran estas ventajas?
  4. ¿Qué piezas se pueden personalizar para facilitar nuestra futura expansión?

Por último, aunque hay muchas plantillas de currículum vitae excelentes y varias habilidades para entrevistas, no se rinda en todo. Siempre tenga en cuenta que su currículum personal es la clave. cada vez más abundante.

Espero que este artículo lo inspire. Si tiene alguna sugerencia para entrevistas, deje un mensaje para compartir con usted.

Finalmente, comparta una ruta de revisión del sistema de entrevistas

A veces, la elección es más importante que el esfuerzo y la oportunidad es más importante que la lucha. Sin embargo, las oportunidades solo están reservadas para aquellos que están preparados. Solo cuando estemos siempre preparados podremos aprovechar la oportunidad cuando se presente.

Aquí para compartir con ustedes mi ruta de revisión de la entrevista , los amigos que lo necesiten pueden consultar:

1. Vea el video para el aprendizaje sistemático

La experiencia de Crud en los últimos años me ha hecho darme cuenta de que realmente soy un luchador en el novato. También es por Crud que mi tecnología está relativamente fragmentada y no lo suficientemente profunda para ser sistemática, por lo que es necesario volver a estudiar . Lo que me falta es conocimiento del sistema, un marco estructural e ideas deficientes, por lo que aprender a través de videos es mejor y más completo. Con respecto al aprendizaje por video, las personas pueden recomendar estudiar en la estación B. Hay muchos videos de aprendizaje en la estación B. El único inconveniente es que son gratuitos y fácilmente obsoletos.

2. Clasificar sistemáticamente los conocimientos y mejorar las reservas

Hay tantos puntos de conocimiento en el desarrollo del cliente y todavía hay tan pocas cosas en la entrevista. Por lo tanto, no hay otros trucos para la entrevista, solo para ver qué tan bien se prepara para estos puntos de conocimiento. Entonces, cuando salga a una entrevista, es bueno ver qué etapa ha alcanzado en su revisión.

Dirección de aprendizaje del sistema:

  • Habilidades esenciales para arquitectos: genéricos Java en profundidad + anotaciones en lenguaje simple + programación concurrente + transmisión y serialización de datos + principios de la máquina virtual Java + reflexión y carga de clases + proxy dinámico + E / S eficiente

  • IU avanzada de Android y código fuente de FrameWork: promoción de IU avanzada + análisis del kernel de Framework + kernel de componentes de Android + persistencia de datos

  • Ajuste de rendimiento general de 360 °: ideas de diseño y optimización de la calidad del código + optimización del rendimiento del programa + optimización de la eficiencia del desarrollo

  • Interpretación de ideas de diseño de marcos de código abierto: diseño de reparación en caliente + interpretación del marco de complementos + diseño del marco de componentes + marco de carga de imágenes + diseño del marco de acceso a la red + diseño del marco de programación adaptable RXJava + diseño de la arquitectura IOC + componente de arquitectura de Android Jetpack

  • Desarrollo del módulo NDK: sistema de conocimiento básico NDK + procesamiento de imágenes subyacentes + desarrollo de audio y video

  • Mini programa WeChat: Introducción al mini programa + Desarrollo de interfaz de usuario + Operación de API + Acoplamiento de WeChat

  • Desarrollo híbrido y Flutter: Html5 project combat + Flutter advanced

Una vez que se han resuelto los conocimientos, es necesario comprobar los puntos que faltan, por lo que para estos puntos de conocimiento he preparado muchos libros electrónicos y notas a la mano. Estas notas proporcionan un resumen perfecto de cada punto de conocimiento.

3. Lea el código fuente, lea las notas de combate reales y aprenda las ideas de Dios

"El lenguaje de programación es la forma en que el programador se expresa, y la arquitectura es la percepción del mundo que tiene el programador". Por lo tanto, si los programadores quieren comprender y aprender rápidamente la arquitectura, leer el código fuente es esencial. Leer el código fuente es resolver problemas + entender cosas y, lo que es más importante: ver las ideas detrás del código fuente; los programadores dicen: lea miles de líneas de código fuente y practique miles de formas.

4. La víspera de la entrevista, preguntas rápidas

Una semana antes de la entrevista, puede comenzar a correr. Tenga en cuenta que al responder preguntas, la tecnología es la primera prioridad y el algoritmo es básico, como la clasificación, etc., y las preguntas intelectuales, a menos que sean reclutas de la escuela, generalmente no se hacen.

Con respecto a las preguntas de la entrevista, personalmente preparé un conjunto de preguntas de entrevista sistemáticas para ayudarlos a aprender unos de otros:

El contenido anterior es gratuito para compartir con todos, amigos que necesitan la versión completa, haga clic aquí para ver todo el contenido .

Supongo que te gusta

Origin blog.csdn.net/weixin_44339238/article/details/112845623
Recomendado
Clasificación