Código fuente de bloqueo reentrante
Cuéntame sobre el proceso de entrevista en ese momento. Conseguí la entrevista por mi introversión. Estoy muy agradecido con mi hermano introvertido que me ayudó en ese momento. Ha habido tres rondas de entrevistas, dos rondas de entrevistas técnicas y una ronda de entrevistas de recursos humanos. Las entrevistas terminaron el mismo día.
Llegué a la empresa a las 10:10 y la entrevista comenzó a las 10:30. La primera ronda de entrevistas duró casi una hora. Básicamente respondí todos los puntos del chat y me sentí bien conmigo mismo. Luego el entrevistador me pidió que esperara y fue a ver a su jefe para volver a examinarme. Esperé más de 20 minutos y volví a realizar la prueba durante más de una hora. Esta vez hice una pregunta más profunda, que fue un poco incómoda en algunos lugares. En general, estoy satisfecho. La entrevista de personal es por la tarde. Los entrevistadores en cada ronda se sintieron muy bien durante todo el proceso y mi propia preparación también hizo que mi entrevista se sintiera muy bien.
Reuní todo el contenido relevante que encontré durante la entrevista y lo utilicé en mi propio estudio, para que me fuera más fácil responder y comprobar si había lagunas más adelante:
En primer lugar, la Fundación Java
1.1 Comparación de clases internas estáticas y clases internas no estáticas
1.2 Comprensión y aplicación del polimorfismo
1.3 Comprensión del polimorfismo de métodos java
p>
1.4 La diferencia entre interfaz y herencia en java
1.5 Beneficios del grupo de subprocesos, explicación detallada, ejemplo único (definitivamente fácil de recordar)
1.6 Ventajas y principios del grupo de subprocesos
1.7 Ventajas del grupo de subprocesos (puntos clave)
1.8 ¿Por qué no se recomienda crear un grupo de subprocesos directamente a través del ejecutor?
1.9 Cola de bloqueo y su implementación
1.10 Comprensión profunda de las condiciones y bloqueos reentrantes
1.11 Java multiproceso: bloqueos para comunicación entre subprocesos.
1.12 Principio de palabras clave sincronizadas
1.13 Principio de bloqueo de reentrada
1.14 Resolución de conflictos de hash y mecanismo de expansión de capacidad en HashMap
1.14 Concurrencia de Java
1.15 Máquina virtual Java
1.16 Preguntas comunes de la entrevista JVM
1.17 Estructura de la memoria JVM
1.18 Mecanismo de carga de clases/padre Delegación
2. Conocimientos básicos de Android
2.1 Puntos de conocimiento de la actividad (obligatorio)
2.2 Puntos de conocimiento del fragmento
2.3 Puntos de conocimiento del servicio
2.4 Puntos de conocimiento intencionales
2.5 Almacenamiento de datos
3. Controles de la interfaz de usuario
3.1 Adaptación de la pantalla
3.2 Optimización de controles principales
3.3 Distribución de eventos y desplazamiento anidado
3.4 Plan de construcción dinámica de páginas
4 Artículos de comunicación en Internet
4.1 Red protocolo
Diseño arquitectónico del verbo (abreviatura del verbo)
5.1 Diseño de arquitectura MVP
5.2 Arquitectura de componentes
Sexto, optimización del rendimiento
6.1 Optimización del inicio
6.2 Optimización de la memoria
6.3 Optimización del dibujo
6.4 Optimización del paquete de instalación
7. proceso.
7.1 Análisis del código fuente de bibliotecas de código abierto
7.2 Análisis del código fuente de Glide
7.3 Preguntas de la entrevista del día 20: Preguntas de la entrevista de Glide
7.4 Habla sobre Glide en la entrevista.
7.5 Entrevistador: Si escribe Glide en su currículum, preste atención a los siguientes puntos...
7.6 Resumen de las soluciones a los problemas de Glide OOM
7.7 Análisis del código fuente de LeakCanary
7.8 Análisis del código fuente OkHttp
7.9 Mecanismo de reutilización del grupo de conexiones okhttp
7.10 Implementación y optimización del proceso okhttp
7.11 Permítale beneficiarse del análisis okhttp.
7.12 Entrevista OkHttp: todo el proceso de solicitud asincrónica de OK HTTP
7.13 El método sendRequest de la entrevista OkHttp se explica en detalle en -HttpEngine.
7.14 Resumen del análisis OkHttp
7.15 El principio de funcionamiento de la cola de tareas Okhttp
7.16 Preguntas de entrevistas de alta frecuencia de Android: arquitectura (2) Conocimientos necesarios para las entrevistas okhttp .
7.17 Optimización de red de Android, utilizando HTTPDNS para optimizar DNS, desde los principios hasta la integración de OkHttp.
7.18 Análisis del código fuente de modificación
7.19 Análisis del código fuente de RxJava
7.20 Análisis del principio y código fuente de RxJava
7.21 Cómo cambiar a ¿Hilo de RxJava?
7.22 Solución de prevención de fugas de memoria Rxjava: RxLifecycle, AutoDispose, RX Life framework
7.23 análisis del código fuente del parche
7.24 análisis del código fuente circundante
7.25 Análisis del código fuente de la capa del framework Android
7.26 Diseño de algoritmos
8. Nuevas tecnologías
8.1 Cuestiones prácticas
Nueve. artículos
9.1 Documentos de código abierto
9.2 Documentos de entrevistas
Lo anterior es mi estudio y acumulación de entrevistas. He experimentado personalmente entrevistas y he recopilado algunas preguntas de entrevistas de empresas importantes. Debido al espacio limitado, no mostraré el contenido específico. Los he compilado en archivos.
Como dije al principio, simplemente atiborrar de preguntas durante la entrevista no es una solución a largo plazo para tu propio desarrollo. Desarrolla un plan de promoción a largo plazo, acumula todas las experiencias de aprendizaje y entrevistas y finalmente conviértelas en tus propias cosas. Esto es lo más útil para ti.