¡Nunca te incrimine! ¡Lo juro, esta es probablemente la "Colección de análisis de preguntas de entrevistas de alta frecuencia de Java" más completa en 2020!

Los fines de semana, el tiempo estaba despejado y me lo pasaba bien jugando. Después de eso, me senté en el alféizar de la ventana como de costumbre y miré el ordenador "aturdido", para no compartir los productos técnicos secos con todo el mundo. Haré un resumen de la lista de entrevistas para todos, todas son preguntas básicas. A las empresas de TI les gusta probar estas cosas básicas, así que para poder ingresar a una gran empresa, revisaré el examen final. Pasé mucho tiempo organizándome y aprendí mucho en el proceso de organización, ¡por favor, tomen todas las preguntas en serio!

 

Introducción al módulo de preguntas de la entrevista:

 

Uno, conceptos básicos de Java

  • ¿Cuál es la diferencia entre JDK y JRE?
  • ¿Cuál es la diferencia entre == y es igual a?
  • Si el hashCode () de dos objetos es el mismo, equals () también debe ser verdadero, ¿verdad?
  • ¿Cuál es el papel de final en java?
  • ¿Cuánto es Math.round (-1.5) en Java?
  • ¿Es String un tipo de datos básico?
  • ¿Cuáles son las clases para manipular cadenas en java? ¿Cuál es la diferencia entre ellos?
  • ¿Es String str = "i" lo mismo que String str = new String ("i")?
  • ¿Cómo invertir la cuerda?
  • ¿Cuáles son los métodos comunes de la clase String?
  • ¿Las clases abstractas tienen que tener métodos abstractos?
  • ¿Cuál es la diferencia entre clases ordinarias y abstractas?
  • ¿Pueden las clases abstractas utilizar la modificación final?
  • ¿Cuál es la diferencia entre una interfaz y una clase abstracta?
  • ¿Cuántos tipos de flujos de E / S hay en Java?
  • ¿Cuál es la diferencia entre BIO, NIO y AIO?
  • ¿Cuáles son los métodos habituales de archivos?

En segundo lugar, el contenedor

  • ¿Qué son los contenedores de Java?
  • ¿Cuál es la diferencia entre colección y colecciones?
  • ¿Cuál es la diferencia entre Lista, Conjunto y Mapa?
  • ¿Cuál es la diferencia entre HashMap y Hashtable?
  • ¿Cómo decidir utilizar HashMap o TreeMap?
  • ¿Cuéntame sobre el principio de implementación de HashMap?
  • ¿Hablar sobre el principio de implementación de HashSet?
  • ¿Cuál es la diferencia entre ArrayList y LinkedList?
  • ¿Cómo convertir entre matriz y lista?
  • ¿Cuál es la diferencia entre ArrayList y Vector?
  • ¿Cuál es la diferencia entre Array y ArrayList?
  • ¿Cuál es la diferencia entre poll () y remove () en Queue?
  • ¿Qué clases de colección son seguras para subprocesos?
  • ¿Qué es Iterator?
  • ¿Cómo usar Iterator? Cuales son las caracteristicas?
  • ¿Cuál es la diferencia entre Iterator y ListIterator?
  • ¿Cómo asegurarse de que una colección no se pueda modificar?

Tres, multihilo

  • ¿Cuál es la diferencia entre paralelo y concurrencia?
  • ¿La diferencia entre hilo y proceso?
  • ¿Qué es un hilo de demonio?
  • ¿Cuáles son las formas de crear hilos?
  • ¿Cuál es la diferencia entre ejecutable y invocable?
  • ¿Cuáles son los estados de los hilos?
  • ¿Cuál es la diferencia entre dormir () y esperar ()?
  • ¿Cuál es la diferencia entre notificar () y notificar a todos ()?
  • ¿Cuál es la diferencia entre thread run () y start ()?
  • ¿Cuáles son las formas de crear un grupo de subprocesos?
  • ¿Cuáles son los estados del grupo de subprocesos?
  • ¿Cuál es la diferencia entre los métodos submit () y execute () en el grupo de subprocesos?
  • ¿Cómo garantizar el funcionamiento seguro de varios subprocesos en un programa java?
  • ¿Cuál es el principio de actualización de las cerraduras multiproceso?
  • ¿Qué es un punto muerto?
  • ¿Cómo prevenir el estancamiento?
  • ¿Qué es ThreadLocal? ¿Cuáles son los escenarios de uso?
  • Hable sobre el principio de implementación subyacente de sincronizado?
  • ¿Cuál es la diferencia entre sincronizado y volátil?
  • ¿Cuál es la diferencia entre sincronizado y bloqueo?
  • ¿Cuál es la diferencia entre sincronizado y ReentrantLock?
  • ¿Cuéntame sobre el principio atómico?

Cuatro, reflejo

  • ¿Qué es la reflexión?
  • ¿Qué es la serialización de Java? ¿En qué circunstancias necesita la serialización?
  • ¿Qué es un proxy dinámico? Cuales son las aplicaciones?
  • ¿Cómo implementar un proxy dinámico?

Cinco, copia de objeto

  • ¿Por qué utilizar la clonación?
  • ¿Cómo implementar la clonación de objetos?
  • ¿Cuál es la diferencia entre copia profunda y copia superficial?

Seis, Java Web

  • ¿Cuál es la diferencia entre jsp y servlet?
  • ¿Qué objetos integrados tiene jsp? Cuales son los roles?
  • ¿Cuéntame sobre los 4 ámbitos de jsp?
  • ¿Cuál es la diferencia entre sesión y cookie?
  • ¿Cuéntame sobre el principio de funcionamiento de la sesión?
  • ¿Se puede utilizar la sesión si el cliente prohíbe las cookies?
  • ¿Cuál es la diferencia entre spring mvc y struts?
  • ¿Cómo evitar la inyección de sql?
  • ¿Qué es el ataque XSS y cómo evitarlo?
  • ¿Qué es un ataque CSRF y cómo evitarlo?

Siete, anormal

  • ¿Cuál es la diferencia entre hrow y throws?
  • ¿Cuál es la diferencia entre final, finalmente, finalizar?
  • ¿Qué parte de try-catch-finalmente se puede omitir?
  • En try-catch-finalmente, si se devuelve la captura, ¿finalmente se ejecutará?
  • ¿Cuáles son las clases de excepción comunes?

8. Red

  • ¿Qué representan los códigos de respuesta http 301 y 302? ¿Cual es la diferencia?
  • ¿La diferencia entre reenviar y redireccionar?
  • Describa brevemente la diferencia entre tcp y udp.
  • ¿Por qué el tcp necesita darse la mano tres veces? ¿por qué?
  • Hable sobre cómo se generan los paquetes adhesivos tcp.
  • ¿Cuáles son los modelos de siete capas de OSI?
  • ¿Cuál es la diferencia entre obtener y publicar solicitudes?
  • ¿Cómo lograr un dominio cruzado?
  • Cuéntame sobre el principio de implementación de JSONP.

Nueve, patrones de diseño

  • Hábleme de los patrones de diseño con los que está familiarizado.
  • ¿Cuál es la diferencia entre una fábrica simple y una fábrica abstracta?

十 、 Primavera / Primavera MVC

  • ¿Qué es la primavera?
  • Dos conceptos centrales de Spring
  • ¿Cuál es el objetivo de diseño, la filosofía de diseño y el núcleo del marco de Spring?
  • ¿En qué módulos consiste Spring?
  • ¿Qué patrones de diseño se utilizan en el marco de Spring?
  • ¿Cuáles son las formas de usar Spring?
  • ¿Qué alcance de frijoles admite Spring?
  • ¿Cuáles son las formas de ensamblar frijoles automáticamente en primavera?
  • ¿Cuáles son los métodos de implementación de transacciones de primavera?
  • ¿Qué es Spring MVC? ¿Presenta brevemente su comprensión de Spring MVC?
  • ¿Los principales componentes de Spring MVC?
  • ¿Qué es el controlador del marco Spring MVC?
  • ¿Qué es MVC? ¿Cuáles son los beneficios del patrón de diseño MVC?
  • ¿Cuáles son las anotaciones comunes en Spring MVC?
  • Diferencia entre Spring MVC y Struts2
  • ¿Cómo Spring MVC configura la redirección y el reenvío?
  • Manejo de excepciones en Spring MVC?
  • ¿Qué es el controlador del marco Spring MVC?
  • ¿Hablar sobre el proceso de ejecución de Spring MVC?
  • ¿Cuáles son los componentes de Spring MVC?
  • ¿Cuál es el papel de @RequestMapping?
  • ¿Cuál es el papel de @Autowired?

十一 、 Spring Boot / Spring Cloud

  • ¿Qué es la bota de primavera?
  • ¿Por qué usar Spring Boot?
  • ¿Qué es el archivo de configuración principal de Spring Boot?
  • ¿Qué tipos de archivos de configuración de Spring Boot existen? ¿Cuál es la diferencia entre ellos?
  • ¿Qué métodos pueden implementar Spring Boot la implementación en caliente?
  • ¿Cuál es la diferencia entre jpa e hibernate?
  • ¿Qué es la nube de primavera?
  • ¿Cuál es la función del disyuntor de nube de resorte?
  • ¿Cuáles son los componentes centrales de la nube de primavera?

Doce, hibernar

  • ¿Por qué utilizar hibernación?
  • ¿Qué es el marco ORM?
  • ¿Cómo ver la declaración SQL impresa en la consola en hibernación?
  • ¿Cuántos métodos de consulta tiene Hibernate?
  • ¿Se pueden definir las clases de entidad de hibernación como finales?
  • ¿Cuál es la diferencia entre usar Integer e int para mapear en hibernación?
  • ¿Cómo funciona la hibernación?
  • ¿Cuál es la diferencia entre get () y load ()?
  • ¿Hablar sobre el mecanismo de almacenamiento en caché de Hibernate?
  • ¿Cuáles son los estados de los objetos de hibernación?
  • ¿Cuál es la diferencia entre getCurrentSession y openSession en hibernate?
  • ¿Las clases de entidad de hibernación tienen que tener constructores sin parámetros? ¿por qué?

13. Mybatis

  • ¿Qué es MyBatis?
  • Ventajas y desventajas de mybatis
  • La diferencia entre Hibernate y MyBatis
  • ¿Por qué Mybatis es una herramienta de mapeo ORM semiautomática? ¿Cuál es la diferencia entre esto y completamente automático?
  • ¿Cuáles son los problemas con el desarrollo tradicional de JDBC?
  • ¿Cuáles son las deficiencias de la programación JDBC y cómo las resuelve MyBatis?
  • ¿Cuáles son los escenarios aplicables de MyBatis e Hibernate?
  • ¿Cuáles son los pasos de programación de MyBatis?
  • Por favor, dime el principio de funcionamiento de MyBatis.
  • ¿Cuál es la arquitectura funcional de MyBatis?
  • ¿Cuál es el diseño del framework de MyBatis?
  • Que es DBMS
  • ¿Qué ejecutores ejecutores tiene Mybatis? ¿Cuál es la diferencia entre ellos?
  • ¿Cómo especificar qué tipo de Ejecutor usar en Mybatis?
  • ¿Mybatis admite la carga diferida? Si es así, ¿cuál es su principio de implementación?
  • ¿Cómo realiza Mybatis las operaciones por lotes?
  • Qué hacer cuando el nombre del atributo en la clase de entidad es diferente del nombre del campo en la tabla
  • ¿De cuántas formas hay de escribir Mapper?
  • ¿Cuál es el enlace de interfaz de MyBatis? ¿Cuáles son las formas de lograrlo?
  • ¿Cuáles son los requisitos para utilizar la interfaz del mapeador de MyBatis?
  • ¿Cómo encapsula Mybatis el resultado de la ejecución de SQL como un objeto de destino y lo devuelve? ¿Cuáles son las formas de mapeo?
  • Describa brevemente la relación de mapeo entre el archivo de mapeo Xml de Mybatis y la estructura de datos interna de Mybatis.
  • En el archivo de mapeo Xml, además de las etiquetas comunes select | insert | Updae | delete, ¿qué otras etiquetas hay?
  • ¿Puede Mybatis mapear la clase de enumeración Enum?
  • Describa brevemente el principio de funcionamiento del complemento Mybatis y cómo escribir un complemento.
  • Caché primario y secundario de Mybatis

14. RabbitMQ

  • Que es MQ
  • Ventajas de MQ
  • ¿Qué son el desacoplamiento, la asincronía y el recorte de picos? .
  • ¿Cuáles son las desventajas de las colas de mensajes?
  • ¿Qué middleware de mensajería utiliza su empresa en el entorno de producción?
  • ¿Cuáles son los méritos y desventajas de Kafka, ActiveMQ, RabbitMQ, RocketMQ?
  • ¿Cuáles son los problemas comunes con MQ? ¿Cómo solucionar estos problemas?
  • ¿Qué es RabbitMQ?
  • Escenarios de uso de Rabbitmq
  • Modo de trabajo RabbitMQ
  • ¿Cómo asegurar el orden de los mensajes de RabbitMQ?
  • ¿Cómo se distribuye el mensaje?
  • ¿En qué transmisión se basa el mensaje?
  • ¿Cómo garantizar que los mensajes no se vuelvan a consumir? En otras palabras, ¿cómo asegurar la idempotencia del consumo de mensajes?
  • ¿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?
  • ¿Cómo asegurar la transmisión confiable de mensajes RabbitMQ?
  • ¿Por qué no debería utilizar un mecanismo de persistencia para todos los mensajes?
  • ¿Cómo asegurar una alta disponibilidad? Clúster RabbitMQ
  • ¿Cómo solucionar el retraso y caducidad de la cola de mensajes? ¿Qué debo hacer cuando la cola de mensajes está llena? Hay millones de noticias acumuladas durante varias horas, ¿qué debo hacer?
  • ¿Diseñar ideas MQ?

15. Kafka

  • ¿Se puede utilizar Kafka por separado del zookeeper? ¿por qué?
  • ¿Cuántas estrategias de retención de datos tiene Kafka?
  • Kafka ha configurado 7 días y 10G para borrar los datos al mismo tiempo. Para el quinto día, el mensaje llega a 10G. ¿Cómo manejará esto Kafka?
  • ¿Qué puede hacer que Kafka se ralentice?
  • ¿A qué debo prestar atención al utilizar el clúster de Kafka?

16. Guardián del zoológico

  • ¿Qué es el guardián del zoológico?
  • ¿Qué proporciona ZooKeeper?
  • ¿Cómo asegura Zookeeper la sincronización de los nodos maestro y esclavo?
  • ¿Cómo asegura zookeeper la coherencia secuencial de las transacciones?
  • Notificación de cambio de datos del mecanismo de Zookeeper Watcher
  • ¿Por qué hay un nodo maestro en el clúster?
  • Hay 3 servidores en el clúster y uno de los nodos está inactivo. ¿Se puede seguir usando Zookeeper en este momento?
  • ¿Cuéntame sobre el mecanismo de notificación del cuidador del zoológico?
  • Resumen de funciones de Watcher
  • Implementación de Watcher de registro de clientes
  • Implementación de Watcher de procesamiento del lado del servidor
  • Estado de funcionamiento del servidor en Zookeeper
  • ¿Cómo asegura zookeeper la coherencia secuencial de las transacciones?
  • ¿Por qué hay un nodo maestro en un clúster distribuido?
  • La diferencia entre el equilibrio de carga de zookeeper y el equilibrio de carga de nginx
  • ¿Cuántos modos de implementación tiene Zookeeper?
  • ¿El clúster admite máquinas sumadoras dinámicas?
  • ¿Es permanente la notificación de supervisión del reloj de Zookeeper al nodo? ¿Por qué no es permanente?
  • ¿Cuáles son los clientes java de Zookeeper?
  • ¿Qué es gordito y cómo se compara con el cuidador del zoológico?
  • ¿Cuáles son las funciones de Zookeeper?
  • ¿Cuéntame sobre el mecanismo de notificación de Zookeeper?
  • ¿La relación entre Zookeeper y Dubbo?

Diecisiete, MySql

  • ¿Por qué utilizar una base de datos?
  • ¿Qué es MySQL?
  • La diferencia entre MySql, Oracle y Sql Service
  • ¿Cuáles son las tablas mysql sobre permisos?
  • ¿Cuántos formatos de entrada tiene MySQL binlog? ¿Cuál es la diferencia?
  • Funciones de uso frecuente en bases de datos
  • ¿Qué tipos de datos tiene mysql?
  • La diferencia entre el motor de almacenamiento MySQL MyISAM e InnoDB
  • ¿Cuál es la diferencia entre el índice MyISAM y el índice InnoDB?
  • ¿Qué es un índice? ¿Cuáles son las ventajas y desventajas de los índices?
  • Cómo crear un índice, cuáles son los beneficios, cuáles son las clasificaciones
  • ¿Cuáles son los tipos de índices?
  • Estructura de datos del índice (árbol b, hash)
  • ¿Qué son los algoritmos de indexación?
  • Tres formas de crear un índice
  • Cómo eliminar millones de datos o más
  • La diferencia entre el árbol B y el árbol B +
  • ¿Cuáles son las cuatro características de las cosas (ACID)?
  • ¿Cuál es el nivel de aislamiento de una transacción? ¿Cuál es el nivel de aislamiento predeterminado de MySQL?
  • ¿Qué bloqueos tiene MySQL en términos de categorías de bloqueo?
  • ¿Cómo se implementa el bloqueo de fila del motor InnoDB en MySQL?
  • ¿Qué es un procedimiento almacenado? ¿Cuáles son las ventajas y desventajas?
  • ¿Qué es un disparador? ¿Cuáles son los escenarios de uso de los disparadores?
  • ¿Cuáles son los principales tipos de sentencias SQL?
  • Cómo optimizar las declaraciones de consulta SQL
  • ¿Cómo localizar y optimizar el rendimiento de las sentencias SQL? ¿Se ha utilizado el índice creado o cómo podemos saber la razón por la que esta declaración se ejecuta lentamente?
  • ¿El ciclo de vida de SQL?
  • ¿Qué debería hacer si la CPU de la base de datos MySQL se eleva al 500%?
  • Plan de respaldo, el principio de realización de mysqldump y xtranbackup

18. Redis

  • ¿Qué es Redis?
  • ¿Cuáles son las ventajas y desventajas de Redis?
  • ¿Cuáles son los beneficios de usar redis?
  • Por qué usar Redis / Por qué usar caché
  • ¿Por qué usar Redis en lugar de map / guava para el almacenamiento en caché?
  • ¿Por qué Redis es tan rápido?
  • Que tipos de datos tiene Redis
  • Escenarios de aplicación de Redis
  • ¿Cuál es el mecanismo de persistencia de Redis? ¿Sus ventajas y desventajas?
  • Cómo elegir el método de persistencia adecuado
  • ¿Cómo expandir la caché y los datos persistentes de Redis?
  • Estrategia de eliminación de claves caducadas de Redis
  • ¿Cómo establecer el tiempo de vencimiento y la validez permanente de la clave de Redis?
  • Sabemos que el tiempo de caducidad de la clave se establece hasta caducar, entonces, ¿cómo lidiar con los datos caducados?
  • Hay datos de 2000w en MySQL y solo 20w en redis. Cómo asegurarse de que los datos en redis son datos calientes
  • ¿Qué recursos físicos consume Redis?
  • ¿Qué sucede cuando Redis se queda sin memoria?
  • ¿Cómo optimiza Redis la memoria?
  • El concepto de transacciones de Redis
  • ¿La transacción de Redis admite el aislamiento?
  • ¿Puedes hablar sobre el principio de funcionamiento del modo de clúster de redis?
  • En el modo de clúster, ¿cómo se abordan las claves de redis?
  • ¿Cuáles son los algoritmos para el direccionamiento distribuido?
  • ¿Conoce el algoritmo hash consistente?
  • ¿Cuál es el modelo de replicación maestro-esclavo del clúster de Redis?
  • ¿Cómo se implementa redis en el entorno de producción?
  • ¿Se perderán operaciones de escritura en el clúster de Redis? ¿por qué?
  • Redis es de un solo subproceso, ¿cómo mejorar la utilización de la CPU de múltiples núcleos?
  • ¿Sabes qué esquemas de implementación de particiones de Redis existen?
  • Cómo resolver el problema clave de competencia concurrente de Redis
  • ¿Se debe distribuir Redis en la etapa inicial o en la etapa posterior? ¿por qué?
  • ¿Cuál es la relación entre Redis y Redisson?

Diecinueve, JVM

  • ¿Cómo el código Java escrito por nuestros desarrolladores permite que la computadora reconozca
  • La diferencia entre Jdk y Jre y JVM
  • Hábleme de esas partes de JVM, ¿cuál es el proceso en ejecución?
  • Hable sobre el área de datos en tiempo de ejecución de JVM
  • ¿Una introducción detallada al contador de programas? (Comprensión clave)
  • ¿Presentar la pila de máquinas virtuales Java en detalle? (Enfóquese en comprender
  • ¿Puede darme una introducción detallada al montón de Java? (Énfasis en la comprensión)
  • ¿Puede explicar la pila de métodos locales?
  • ¿Puede explicar el área del método (énfasis en la comprensión)
  • ¿Qué es el motor de ejecución de código de bytes JVM?
  • ¿Has oído hablar de la memoria directa?
  • ¿Conoce el sistema de recolección de basura?
  • ¿Cuál es la diferencia entre pilas?
  • Copia profunda y copia superficial
  • ¿Habrá una pérdida de memoria en Java? ¿Por favor explique por qué?
  • ¿Cuáles son los tipos de referencia en la JVM?
  • ¿Cómo juzgar si el objeto se puede reciclar?
  • ¿Cuándo puede el recolector de basura reciclar el objeto?
  • ¿Cuáles son los algoritmos de recolección de basura de JVM?
  • ¿Se producirá la recolección de basura en la generación permanente de la JVM?
  • ¿Cuéntame qué recolectores de basura tiene la JVM?
  • Háblame de las herramientas de ajuste de JVM.

Como dice el refrán, los buenos académicos aprenden libros en la piscina, pero para la mayoría de nosotros en la era de Internet, creo que el despertar de la conciencia de aprendizaje es muy importante. Este es el punto de inflexión para comenzar a aprender. Por ejemplo, si ve información útil para tu propia dirección, primero Una ola de recopilación es una ola. Por ejemplo, si crees que mi artículo está bien, dale Me gusta y recógelo primero. De esta manera, cuando realmente se establezca para aprender, no se distraerá buscando información. Tómate tu tiempo, empieza con Me gusta y colecciones, ¡vamos!

Bueno, debido a la extensión del artículo, no mostraré las respuestas detalladas a las preguntas de la entrevista aquí. Si necesita esta versión completa de la información detallada sobre las respuestas a las preguntas de la entrevista

Además, organicé una serie de materiales de entrevistas de estudio para todos:

 

Lo anterior es todo el contenido de este artículo. Espero que sea de ayuda para la entrevista de todos. ¡Les deseo a todos un ascenso y un aumento de salario lo antes posible, casándome con Bai Fumei y embarcándonos en la cima de la vida!

Supongo que te gusta

Origin blog.csdn.net/weixin_47082274/article/details/111642537
Recomendado
Clasificación