Después de experimentar entrevistas técnicas de Java con Alibaba, Tencent y Ant Financial, resumí los siguientes puntos

Prefacio

Hoy, compartiré con ustedes la experiencia de la entrevista del grupo de amigos en Dachang y resumiré las reglas de la entrevista de Dachang para todos.

Inserte la descripción de la imagen aquí

Trabajo de Alibaba Java (tres aspectos de la tecnología)

un lado

1. Preséntese, hable sobre su intención y habilidades de búsqueda de empleo

2. ¿Cuál es la arquitectura básica de Tomcat?

3. Ajuste de JVM, cómo usarlo en el trabajo, cuáles son los algoritmos de GC y las estrategias de reciclaje

4. ¿Cómo se implementa el grupo de subprocesos en Java? ¿Cuáles son los parámetros de construcción básicos para crear un grupo de subprocesos?

5. ¿Cuál es la diferencia entre Volatile y Synchronize?

6. ¿Cuál es el mecanismo de GC? ¿El principio básico del recolector de basura sigue hablando de eso? ¿Se puede recuperar la memoria inmediatamente? ¿Cómo notificar activamente a la JVM para la recolección de basura?

7. ¿El mecanismo de modelo de delegación padre del cargador de clases?

8. Tipos y diferencias de colecciones, ¿cómo implementar la capa inferior de HashMap (con cambios en JDK1.8) y la diferencia entre HashMap y ConcurrentHashMap?

9. ¿Cómo gestiona Spring IOC las dependencias entre Beans y cómo evitar las dependencias circulares?

10. ¿Cuáles son los patrones de diseño en la creación de SpringBean?

Dos lados

1. Auto presentación,

2. ¿Cuáles son los nombres de los cuatro niveles de aislamiento de transacciones admitidos por InnoDB? ¿Cuál es la diferencia entre?

3. Hablar sobre las características del negocio.

4. ¿Qué es el nivel de aislamiento de MySQL?

5. ¿Cómo entender el mecanismo BTree?

6. ¿Hablar del análisis de consultas lentas? ¿Cuáles son los métodos de optimización que se utilizan comúnmente en MySQL?

7. Hablar sobre la realización del bloqueo pesimista y el bloqueo optimista y SQL

8. Describa brevemente el proceso de apretón de manos de tres vías y de apretón de manos de cuatro vías.

9. ¿Cuál es la diferencia entre el índice de árbol B + y el índice Hash?

Tres lados

1. Introducción

2. ¿Bloqueo de concurrencia de MySQL?

3. ¿Cómo evitar el bloqueo y garantizar la coherencia de los datos en escenarios de alta concurrencia?

4. ¿Algoritmo e implementación de agrupamiento y balanceo de carga?

5. Describa brevemente el diseño de la sub-biblioteca y el sub-medidor.

6. ¿Cuáles son los dilemas distribuidos que presentan las sub-bases de datos y sub-tablas y las estrategias correspondientes?

7. ¿Qué es el mecanismo de bloqueo?

8. ¿Cómo implementan los comandos Redis y Setnx bloqueos distribuidos? ¿Cómo usar Redis para la cola asincrónica? ¿Cuales son las desventajas?

Trabajo de Tencent Java (cuatro lados técnicos)

un lado

1. Cuénteme sobre su comprensión de JVM.

2. ¿La diferencia entre treemap y HashMap?

3. ¿Los cinco estados del multihilo?

4. ¿Cuál es la diferencia entre la clave primaria y el índice de MySQL?

5. Habla sobre algunos proyectos realizados

6. ¿Cómo realizar la sesión compartida? ¿Cómo lograr esto con Redis?

7. ¿El concepto y la solución de la avería de la caché?

8. Hablar sobre microservicios y cómo se administran.

Dos lados

1. ¿Cuál es la diferencia entre nio e io en Java? ¿Cuáles son las clases de uso común?

2. ¿Entiende los bloqueos de sincronización en Java? ¿Cuál es la diferencia entre CountDownLaunch y Cylicbarrior y en qué escenarios?

3. ¿Cuáles de las estructuras de memoria de JVM se comparten y cuáles son privadas de subprocesos? ¿Cuáles son las pilas almacenadas en la máquina virtual Java?

4. ¿Cómo implementar un grupo de subprocesos?

5. ¿En qué circunstancias se activará la carga de clases de Java?

6. Código escrito a mano: clasificación rápida, modo de interés simple, dibujar un diagrama de clase UML del modo de fábrica y el modo de decorador

7. El principio de realización de AOP

8. ¿Cómo optimizar las consultas lentas?

9. ¿Qué son los bloqueos en Java? ¿La diferencia entre el bloqueo reentrante y el bloqueo no reentrante?

10. ¿Cuál es la diferencia entre Lock y Synchronized? ¿Son todas cerraduras reentrantes? ¿Cuál es más eficiente?

11. ¿La realización general del SpringMVC DispatcherServlet escrito a mano?

Tres lados

1. Hable sobre la experiencia habitual de simultaneidad de proyectos

2. ¿Estructura de datos de Redis? Modelo de hilo? ¿El mecanismo de eliminación de datos de Redis?

3. ¿Ha leído el código fuente de Redis?

4. El principio de implementación de transacciones de MySQL

5. ¿La realización de los principios subyacentes de MQ?

6, ácido de transacción de base de datos, operación de transacción, ¿cómo bloquear? ¿Bloqueo del sistema distribuido?

7. ¿En qué circunstancias se producirán las avalanchas? ¿Cómo resolver?

Todos los lados

1. Presenta algunos proyectos simultáneos

2. Para proyectos con alto contenido técnico, volví a preguntar desde el diseño de la arquitectura hasta la implementación.

3. Ideas de diseño para arquitectura de alta concurrencia

Posición de Ant Financial en Java (tres aspectos técnicos)

un lado

1 、 HashMap 和 ConcurrentHashMap

2. Hablar sobre el algoritmo de consenso de Hash

3. Bloqueo optimista y pesimista

4. Bloqueo reentrante y sincronizado

5. ¿Cuatro características del negocio?

6. ¿El mecanismo de compromiso de dos etapas de la transacción?

7, índice agrupado y índice no agrupado

8. Por ejemplo, ¿cuáles son los escenarios de aplicación y las precauciones de indexación?

9. Lectura actual e instantánea leída

10. ¿Hablas del proceso de carga de clases?

11. ¿Mecanismo de delegación de los padres y motivos de su uso?

12. ¿Hablas del algoritmo GC?

13. ¿Cuál es la diferencia entre Http y Https? Y la forma del cifrado Https

14. ¿Los parámetros centrales y los principios básicos del grupo de subprocesos? Estrategia de ajuste del grupo de subprocesos

15. Hablar sobre la planificación personal de la carrera.

Dos lados

1. Hable de los proyectos que ha realizado, ¿qué dificultades ha encontrado?

2. ¿Cómo ordenar la parte inferior de Collections.sort?

3. Estabilidad de clasificación y estrategias de clasificación en diferentes escenarios.

4. Proceso de solicitud Http, proceso de resolución de DNS

5. Apretón de manos de tres vías y apretón de manos de cuatro vías

6. Describe brevemente los grupos de subprocesos y las herramientas de simultaneidad.

7, el índice y principio de la base de datos

8. ¿Cómo analizar y solucionar el reciclaje frecuente de la vejez?

9. Conocimientos relacionados con el COI / AOP de primavera

10. Hábleme de algunas aplicaciones de SpringBoot y SpringCloud.

11. ¿Cómo implementar la cola de bloqueo sin Java?

12. ¿El principio del equilibrio de carga?

13. Problemas de coherencia de datos de Redis, descritos por separado en entornos distribuidos de varios nodos y de un solo nodo

14. Habla sobre los contenedores Docker

15. ¿Cómo lograr una reducción de picos y una limitación de corriente en un entorno de alta concurrencia?

Tres lados

1. Hable sobre el middleware utilizado en el proyecto (Dubbo / MQ / Zookeeper / Redis / Kafka)

2. ¿En qué circunstancias se producirán las avalanchas? Cómo evitar esta situación

3. Ideas de diseño para arquitectura de alta concurrencia

4. Hablar sobre los problemas encontrados en proyectos y soluciones anteriores.

5. ¿Qué contratiempos ha encontrado en su vida? Cómo solucionarlo al final

6. ¿La cosa más satisfactoria que ha encontrado en la vida?

para resumir:

A través de estas experiencias de entrevistas, no es difícil encontrar que las empresas de Internet de primera línea presten más atención a la capacidad de resolver problemas en proyectos reales . Además, los puntos de conocimiento de la entrevista giran principalmente en torno a JVM , multiproceso , conocimiento básico de los principios subyacentes , ajuste de rendimiento , capacidad de lectura del código fuente , Capacidad para manejar alta concurrencia .

A continuación, el editor preparó las respuestas a las preguntas de la entrevista anteriores para todos, así como los materiales correspondientes a las preguntas de la entrevista para recibir: haga clic aquí para recibirlo gratis, contraseña: CSDN

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Lubanjava/article/details/108720651
Recomendado
Clasificación