Resumen de preguntas de la entrevista avanzada de Java y análisis de respuestas para las principales empresas de Internet en 2021

1. ¿El código hash es igual? ¿Dos clases deben ser iguales? ¿Qué pasa con los iguales? ¿Lo contrario?

2. ¿Qué pasa con el marco de recopilación?

3. ¿Cuál es la diferencia entre la implementación subyacente de hashmap hastable? ¿Qué pasa con hashtable y concurrenthashtable?

4. ¿Cuál es la diferencia entre hashmap y treemap? ¿Cuál es la estructura de datos de bajo nivel?

5. ¿Se utilizan parámetros en el grupo de subprocesos? ¿Cómo se implementa la capa inferior?

6. ¿Cuál es la diferencia entre sincronizar y bloquear ?, ¿cuándo sincronizar es un bloqueo de objeto ?, ¿cuándo es un bloqueo global y por qué?

7. ¿Qué es ThreadLocal y cómo implementarlo? ¿Escribir un ejemplo?

8. ¿Cómo actúa volitile?

9. ¿Cas sabe cómo lograrlo?

10. Escribe un patrón singleton de al menos cuatro formas

JVM

1. Por favor, introduzca el modelo de memoria JVM. ¿Qué recolectores de basura se han utilizado para hablar sobre el canto?

2. ¿Cómo lidiar con el envío frecuente de gc completo en línea? ¿Qué debo hacer si el uso de la CPU es demasiado alto?

¿Cómo localizar el problema? ¿Cómo solucionar el problema y cómo solucionarlo?

3. ¿Conoce el código de bytes? ¿Cuáles son los códigos de bytes? Entero x = 5, int y = 5, ¿qué pasos sigue al comparar x = y?

4. Cuénteme sobre el mecanismo de carga de clases, ¿qué cargadores de clases hay y qué archivos cargan estos cargadores de clases?

Escribe la demostración de carga de clases a mano

5. ¿Conoces a osgi ?, ¿cómo lo logró ???

6. ¿Qué optimizaciones de JVM ha realizado? ¿Qué método utilizó para lograr qué efecto?

7. ¿Cuál es la diferencia entre classforName ("java.lang.String") y String classgetClassLoader () LoadClass ("java.lang.String")?

Primavera

1. ¿Cuáles son los mecanismos de primavera? ¿Cómo se implementa el AOP subyacente? ¿IOC?

2. ¿Sabe cgLib? ¿Cuál es la diferencia entre él y el agente dinámico jdk? ¿Escribir a mano un agente dinámico jdk?

base de datos

1. ¿Cuáles son los principios para usar el índice mysq1? ¿Qué estructura de datos se indexa? ¿Cuál es la diferencia entre el árbol 3 + y el árbol B?

2. ¿Qué motores de almacenamiento tiene mysq1? ¿Cuáles son las diferencias? ¡Para ser detallado!

3. ¿Cómo diseñar el nivel de base de datos de un sistema de alta concurrencia ?, ¿Qué tipos de bloqueos de base de datos existen ?, ¿Cómo lograrlo?

4. ¿Cuáles son las transacciones de la base de datos?

Subbiblioteca y submesa

1. ¿Cómo diseñar una subbase de datos y una solución de subtabla que pueda expandirse y contraerse dinámicamente?

2. ¿Qué middleware de tablas y bases de datos ha utilizado y cuáles son las ventajas y desventajas? ¿Cuénteme sobre el principio de implementación subyacente del middleware de tablas y bases de datos que conoce?

3. Actualmente tengo un sistema que no tiene base de datos ni tablas. En el futuro, el sistema debe dividirse en tablas y tablas. Cómo diseñar para que el sistema que no se ha dividido en bibliotecas y tablas se cambie dinámicamente a el sistema de tablas divididas y tablas ??? TCC? ¿Qué debo hacer si la red no se puede conectar debido a la red ????

4. ¿Conoces las transacciones distribuidas ?, ¿cómo lo resolviste?

5. ¿Por qué necesitamos sub-base de datos y sub-tabla ???

6. ¿Qué algoritmos conocen los métodos de direccionamiento distribuido sobre hash consistente? ¿Escribir el código de implementación de Java a mano? Si toma el ID de usuario y toca los fragmentos, ¿qué debo hacer si quiero verificar los datos en un período de tiempo continuo? ??

7. ¿Cómo resolver el problema de la clave primaria de la sub-base de datos y la sub-tabla? ¿Cuál es el plan de implementación?

Caché distribuida

1. ¿Cuál es la diferencia entre redis y memcheched? ¿Por qué redis de un solo subproceso es más eficiente que memched de múltiples subprocesos?

2. ¿Qué tipos de datos se utilizan redis en qué escenarios?

3. ¿Cómo se implementa la replicación maestro-esclavo de reids? ¿Cómo se implementa el modo cluster de redis? ¿Cómo se aborda la clave de redis?

4. ¿Cómo diseñar cerraduras distribuidas usando redis ?, ¿es posible usar zk ?, ¿cómo lograr cuál de los dos es más eficiente?

5. ¿Conoce las deficiencias y ventajas de la persistencia de redis? ¿Qué pasa con la implementación subyacente específica?

6. ¿Cuáles son las LRU para la estrategia de vencimiento de redis? ¿Escribir la versión java del código?

Marco de servicio distribuido

1. Cuénteme sobre el proceso de implementación de dubbo, ¿puede el centro de registro continuar comunicándose si cuelga?

2. ¿Conoces el principio de zk? ¿Sabes qué puede hacer el algoritmo de Paxos con zk? ¿Cuéntame sobre el principio y la implementación?

3. ¿Qué protocolos de serialización admite dubbo? Hessian Háblame de la estructura de datos de Hessian PB, ¿sabes por qué PB es el más eficiente?

4. ¿Conoce netty ?, ¿qué puede hacer netty ?, ¿qué son NIO, BIO y AIO ?, ¿cuál es la diferencia?

5. ¿Cuáles son la estrategia de equilibrio de replicación dubbo y la estrategia de alta disponibilidad? ¿Cuáles son las estrategias de proxy dinámico?

6. ¿Por qué necesitamos dividir el sistema? ¿Es posible dividir sin dubbo? ¿Cuál es la diferencia entre dubbo y thrift?

Cola de mensajes distribuida

1. ¿Por qué utilizar las colas de mensajes? ¿Cuáles son las ventajas y desventajas de las colas de mensajes?

2. Cómo garantizar la alta disponibilidad de la cola de mensajes Cómo garantizar que los mensajes no se consuman repetidamente

3. ¿Cuáles son las ventajas y desventajas de kafka, activemq, rabbitmq y rocketmq ???

4. Si te piden que escribas una cola de mensajes, ¿cómo diseñar la arquitectura? Cuéntame tus ideas.

Motor de búsqueda distribuido

1. ¿Cómo se realiza el proceso de trabajo de es? ¿Cómo realizar el distribuido

2. ¿Cómo se puede mejorar la eficiencia de las consultas cuando la cantidad de datos es grande (miles de millones de niveles)?

3. ¿Cuál es el proceso de trabajo de la consulta es? La lucence subyacente introduce el índice invertido, ¿sabes? ¿Cuál es la diferencia entre es y mongdb, y en qué escenarios se utilizan?

Diseño de arquitectura de alta concurrencia y alta disponibilidad

1. Cómo diseñar un sistema de alta concurrencia y alta disponibilidad

2. ¿Cómo limitar la corriente? ¿Cómo hacer en el proyecto, hablar sobre la implementación específica

3. Cómo utilizar la caché ¿Cuáles son las consecuencias de un uso inadecuado de la caché?

4. ¿Cómo fusionar? ¿Cuáles son los marcos de fusibles? ¿Conoce el principio de implementación específico?

5. ¿Cómo degradar, cómo dividir el sistema, cómo dividir la base de datos ????

carta de acuerdo

1. Hábleme de TCP'IP de cuatro capas.

2. ¿Cuál es el proceso de trabajo de http ?? http1.0 http1.1http2.0 ¿Cuáles son las diferencias específicas?

3. El proceso de trabajo del protocolo TCP de enlace de tres vías y la ruptura de cuatro capas. Dibuje el diagrama de flujo. ¿Por qué no cuatro, cinco o dos veces?

4. Dibujar el flujo de trabajo de https? ¿Cómo implementarlo? ¿Cómo prevenir la captura de paquetes?

algoritmo

1. Es relativamente simple. Tengo un archivo con 4.5 mil millones de números arábigos. ¿Cómo elimino los duplicados y encuentro el número más grande?

estructura de datos

1. Árboles binarios y árboles rojo-negros, etc.

Ideas de diseño clásico y patrones de diseño comunes utilizados en el código fuente

Sígueme para agregar VX: MXW5308 para obtener respuestas gratis

Resumen de preguntas de la entrevista avanzada de Java y análisis de respuestas para empresas de Internet de primera línea en 2019

Adecuado para que todos los ingenieros de JAVA aprendan

Resumen de preguntas de la entrevista avanzada de Java y análisis de respuestas para empresas de Internet de primera línea en 2019

Parte de la respuesta de la entrevista

Supongo que te gusta

Origin blog.csdn.net/weixin_45132238/article/details/113885365
Recomendado
Clasificación