¿Las dos escrituras geniales de Ali? Máquina virtual + MySQL + middleware + patrón de diseño + almacenamiento en caché + Spring + concurrencia y otros problemas, todos resueltos

El tiempo de la entrevista fue de casi dos horas (esperé más de media hora mientras esperaba que el segundo entrevistador viniera a recibirme). El entrevistador preguntó muchas cosas y cavó algunos pozos. Un punto técnico fue cubierto por otro punto técnico. Debes estar completamente preparado. Pregunté algunos puntos técnicos en el nivel básico y estaba un poco confundido (la experiencia real de combate aún es insuficiente).

Después de regresar, clasifiqué estas preguntas y resolví las respuestas (las preguntas que me hacía el entrevistador cada vez que iba a la entrevista, tomaba notas después de la entrevista). Se dividieron en Spring + Logic Algorithm + MySQL + Java + Redis + Concurrent Programming + JVM + RabbitMQ Espera, déjame compartir mi sutra hormiga de dos caras + algunas de mis notas de estudio.

Nota: Los amigos que necesiten editar Spring + algoritmo lógico + MySQL + Java + Redis + programación concurrente + JVM + RabbitMQ y otras respuestas de entrevistas, notas de documentos de estudio, mapas mentales (xmind) pueden deslizarse hasta el final del artículo para obtener rápidamente

1. Preguntas de Spring Boot hechas por los entrevistadores de Ali

  1. ¿Qué es Spring Boot?
  2. ¿Por qué usar Spring Boot?
  3. ¿Cuáles son los archivos de configuración principales de Spring Boot? ¿Cuál es la diferencia entre ellos?
  4. ¿Cuáles son los formatos de los archivos de configuración de Spring Boot? ¿Cuál es la diferencia entre ellos?
  5. ¿Cuál es la anotación principal de Spring Boot? ¿De qué anotaciones se componen principalmente?
  6. ¿Cuáles son las formas de habilitar las funciones de Spring Boot?
  7. ¿Spring Boot necesita un contenedor separado para ejecutarse?
  8. ¿Cuáles son las formas de ejecutar Spring Boot?
  9. ¿Cuál es el principio de la configuración automática de Spring Boot?
  10. ¿Cuál es la estructura de directorios de Spring Boot?

1.1 Mis notas de estudio de Spring Boot

  1. ¿Cuál es la diferencia entre Spring Boot, Spring MVC y Spring?
  2. ¿Qué es la configuración automática?
  3. ¿Qué es Spring Boot Stater?
  4. ¿Puede dar un ejemplo para explicar más acerca de Statusers?
  5. ¿Qué otras opciones de proyectos iniciales proporciona Spring Boot?
  6. ¿Cómo crea Spring rápidamente aplicaciones listas para productos?
  7. ¿Cuál es la forma más sencilla de crear un proyecto Spring Boot?
  8. Spring Initializr es el único que creó Spring Boot Projects
  9. ¿Por qué necesitamos spring-boot-maven-plugin?
  10. ¿Cómo usar SpringBoot para reinstalar automáticamente mi aplicación?
  11. ¿Qué es un servidor integrado? ¿Por qué deberíamos utilizar un servidor integrado?
  12. ¿Cómo agregar código JS común en Spring Boot?

1.2 Mapa mental de la ruta de aprendizaje de primavera

2. Preguntas de RabbitMQ hechas por los entrevistadores de Ali

  1. ¿Cuáles son los beneficios de usar RabbitMQ?
  2. ¿Qué es el corredor en RabbitMQ? ¿Qué significa clúster?
  3. ¿Son el canal, el intercambio y la cola en el concepto RabbitMQ conceptos lógicos o corresponden a entidades de proceso? ¿Cuál es el papel de cada uno?
  4. ¿Qué es vhost? ¿Qué papel juega?
  5. ¿En qué transmisión se basa el mensaje?
  6. ¿Cómo se distribuye el mensaje?
  7. ¿Cómo enrutar el mensaje?
  8. ¿Qué son los metadatos? ¿Cuáles son los tipos de metadatos? ¿Que esta incluido? ¿Cuáles son los metadatos relacionados con el clúster? ¿Cómo se almacenan los metadatos? ¿Cómo se distribuyen los metadatos en el clúster?

2.1 Mis notas de estudio de RabbitMQ

  1. Que es rabbitmq
  2. Por que utilizar rabbitmq
  3. Escenarios usando rabbitmq
  4. ¿Cómo asegurarse de que el mensaje se envíe correctamente a RabbitMQ? ¿Cómo asegurarse de que el destinatario del mensaje consuma el mensaje?
  5. ¿Cómo evitar la entrega repetida o el consumo repetido de mensajes?
  6. ¿En qué transmisión se basa el mensaje?
  7. ¿Cómo se distribuye el mensaje?
  8. ¿Cómo enrutar el mensaje?
  9. ¿Cómo asegurarse de que el mensaje no se pierda?
  10. ¿Cuáles son los beneficios de usar RabbitMQ?
  11. Racimo Rabbitmq
  12. Desventajas de mq

3. Preguntas de MySQL hechas por los entrevistadores de Ali

  1. Cuatro características de la transacción
  2. Nivel de aislamiento de transacciones de MySQL
  3. Índice de base de datos
  4. Tres paradigmas de base de datos
  5. Lectura sucia y lectura no repetible y lectura fantasma
  6. La diferencia entre el motor de almacenamiento MyISAM e InnoDB
  7. ¿Qué tipo de cerraduras hay en Mysql?
  8. Hablar de procedimientos almacenados

3.1 Mis notas de tortura del alma de MySQL

  1. ¿Cuáles son las características técnicas de Mysql?
  2. ¿Qué es la tabla Heap?
  3. ¿Cuál es el puerto predeterminado del servidor Mysql?
  4. Comparado con Oracle, ¿cuáles son las ventajas de Mysql?
  5. ¿Cómo distinguir FLOAT y DOBLE?
  6. ¿Cómo obtener la versión actual de Mysql?
  7. ¿Qué motor de almacenamiento se utiliza en Mysql?
  8. ¿Qué es el controlador Mysql?
  9. ¿Cuál es la diferencia entre la clave principal y la clave candidata?
  10. ¿Cómo iniciar sesión en Mysql usando el shell de Unix?
  11. ¿Cómo ve todos los índices definidos para la tabla?
  12. ¿Qué es InnoDB?

3.2 Mapa mental de la ruta de aprendizaje de MySQL

4. Preguntas sobre patrones de diseño formuladas por los entrevistadores de Ali

  1. Enumere algunos patrones de diseño de uso común en JDK.
  2. ¿Qué es un patrón de diseño? ¿Ha utilizado algún patrón de diseño en su código?
  3. ¿Cuál es el patrón de diseño singleton en Java? Escriba un patrón singleton seguro para subprocesos en Java
  4. En Java, ¿cuál es el patrón de diseño del observador (patrón de diseño del observador)?
  5. ¿Cuáles son los principales beneficios de utilizar el modelo de fábrica? ¿Dónde se usa?
  6. ¿Dar un patrón de diseño de decorador implementado en Java? ¿Actúa a nivel de objeto o de clase?
  7. En Java, ¿por qué no se permite acceder a variables no estáticas desde métodos estáticos?
  8. Los ejemplos muestran bajo qué circunstancias preferiría usar clases abstractas en lugar de interfaces.

4.1 Puntos de conocimiento de 23 patrones de diseño

  1. Modo singleton
  2. Modo de fábrica
  3. Patrón de fábrica abstracto
  4. Patrón de método de plantilla
  5. Modo constructor
  6. Modelo de agencia
  7. Modo de prototipo
  8. Modelo intermedio
  9. Modo de comando
  10. Modelo de cadena de responsabilidad

4.2 Mapa mental de ruta de aprendizaje de patrones de diseño

5. Preguntas sobre programación simultáneas formuladas por entrevistadores de Ali

  1. ¿Hay varias formas de implementar un hilo en Java?
  2. ¿Cómo detener un hilo en ejecución?
  3. ¿Qué es un hilo de Daemon? ¿Qué sentido tiene eso?
  4. ¿Cómo se da cuenta Ava de la comunicación y colaboración entre múltiples hilos?
  5. La comprensión del bloqueo optimista y el bloqueo pesimista y cómo realizarlo, ¿cuáles son las formas de realizarlo?
  6. ¿Qué es un bloqueo reentrante (ReentrantLock)?
  7. ¿Qué es la seguridad de subprocesos? ¿Es seguro el subproceso de servlet?
  8. ¿Cuántas formas de lograr la sincronización?

5.1 Temas de la entrevista de programación concurrente

  1. La diferencia entre el hilo de demonio y el hilo local en Java
  2. ¿Qué es el cambio de contexto en subprocesos múltiples?
  3. La diferencia entre el punto muerto y el bloqueo activo, la diferencia entre el punto muerto y la inanición
  4. La diferencia entre hilos y procesos
  5. ¿Cuál es el algoritmo de programación de subprocesos utilizado en Java?
  6. ¿Qué es un grupo de subprocesos y por qué no se recomienda en Java?
  7. La diferencia entre ejecutor y ejecutores en Java
  8. ¿Qué son las operaciones atómicas y cuáles son las clases atómicas en la API de concurrencia de Java?
  9. ¿Qué es el marco de Ejecutores?
  10. ¿Qué es una cola de bloqueo, cuál es el principio de implementación de una cola de bloqueo y cómo utilizar una cola de bloqueo para implementar el modelo productor-consumidor?

5.2 Mapa mental de ruta de aprendizaje de programación concurrente

6. Preguntas sobre máquinas virtuales JVM hechas por entrevistadores de hormigas

  1. ¿Qué es la máquina virtual Java? ¿Por qué Java se denomina "lenguaje de programación independiente de la plataforma"?
  2. ¿Qué es la carga de clases?
  3. Describir el principio y el mecanismo de carga de archivos de clase de JVM.
  4. ¿Cómo juzgar que el objeto se puede reciclar?
  5. ¿Cuándo un objeto será GC?
  6. ¿Por qué el objeto debería ser GC en este momento?
  7. ¿Cuáles son las partes de la memoria JVM y qué datos se almacenan en estas partes?
  8. ¿Cómo sobrevive y se transfiere un objeto en estas partes de la creación a la destrucción?

6.1 Temas de la entrevista de la máquina virtual JVM

  1. ¿Proceso de carga de clases de Java?
  2. Describa el mecanismo principal de la JVM para cargar archivos de clase.
  3. Asignación de memoria Java.
  4. ¿Qué es GC? ¿Por qué es GC?
  5. Describa brevemente el mecanismo de recolección de basura de Java.
  6. ¿Cómo juzgar si un objeto está vivo? (O cómo determinar el objeto GC)
  7. Las ventajas y principios de la recolección de basura. Y considere dos mecanismos de reciclaje.
  8. ¿Cuál es el principio básico del recolector de basura? ¿Puede el recolector de basura recuperar memoria inmediatamente? ¿Hay alguna forma de notificar proactivamente a la máquina virtual para la recolección de basura?
  9. ¿Habrá una pérdida de memoria en Java? Descríbala brevemente.
  10. Copia profunda y copia superficial

6.2 Mapa mental de ruta de aprendizaje de máquina virtual JVM

7. Preguntas de Redis hechas por entrevistadores de hormigas

  1. ¿Qué es Redis? ¿Describe brevemente sus ventajas y desventajas?
  2. ¿Cuáles son las ventajas de Redis sobre memcached?
  3. ¿Qué tipos de datos admite Redis?
  4. ¿Qué recursos físicos consume Redis?
  5. ¿Cuál es el nombre completo de Redis?
  6. ¿Qué tipo de estrategias de eliminación de datos tiene Redis?
  7. ¿Por qué Redis no ofrece oficialmente una versión de Windows?
  8. ¿Qué debería hacer la solución de clúster de Redis? ¿Cuales son las opciones?
  9. ¿Por qué Redis necesita poner todos los datos en la memoria?
  10. ¿Cuáles son los escenarios adecuados para Redis?

7.1 Temas de la entrevista de Redis

  1. Por qué usar redis / por qué usar caché
  2. ¿Por qué usar redis en lugar de map / guava para el almacenamiento en caché?
  3. La diferencia entre redis y memcached
  4. Estructura de datos común y análisis de escenarios de uso de Redis
  5. redis establece el tiempo de vencimiento
  6. Mecanismo de eliminación de memoria de Redis (hay datos de 2000w en MySQL y solo 20w en Redis. ¿Cómo asegurarse de que los datos en Redis sean todos datos calientes?)
  7. Mecanismo de persistencia de Redis (cómo garantizar que los datos se puedan restaurar después de que redis se cuelgue y se reinicie)
  8. transacción redis
  9. Soluciones y excepciones comunes de Redis
  10. Escenarios de aplicaciones comunes en un entorno distribuido

7.2 Mapa mental de la ruta de aprendizaje de Redis

8. Mis materiales de estudio de referencia: compilación de puntos de conocimiento básicos de Java

JVM, colección, red HTTP, concurrencia multiproceso, base JAVA, Spring, microservicio, Zookeeper, Kafka, RabbitMQ, Hbase, middleware de mensajes, MongoDB, patrón de diseño, equilibrio de carga, base de datos, hash consistente, algoritmo, estructura de datos , Algoritmo de cifrado, caché distribuida, Netty, Linux, Tomcat, Nginx, Redis, etc.

9. Clasificación de varios libros de aprendizaje

! [] (https://img-service.csdnimg.cn/img_convert/48815cbae8bcc0aa8dbd0f65ce8e7017.png

10. Clasificación de varias preguntas de la entrevista

Al final

Para muchos ingenieros de Java, si quieren mejorar sus habilidades, a menudo crecen solos El efecto de aprendizaje de los sistemas fragmentados es ineficiente, prolongado e indefenso.

Estos materiales están compilados y se espera que tengan alguna referencia a los amigos de desarrollo de Java y evitar desvíos. El enfoque de este artículo es si ha ganado y crecido, y el resto no es importante. Espero que los lectores puedan tener esto en cuenta.

Compartir otra ola de mi entrevista sobre temas de Java preguntas reales + aprendizaje en video detallado + libros de aprendizaje avanzado de Java

¿Cómo liberar a la prostituta? ¡Haga clic aquí!

Supongo que te gusta

Origin blog.csdn.net/weixin_45784983/article/details/108567665
Recomendado
Clasificación