La última entrevista/guía de estudio de Java para gigantes de Internet en 2023, con un total de más de 1200 preguntas y un análisis completo

Tan pronto como un programador entra en la mediana edad, se verá abrumado por la abrumadora sensación de "crisis" sin saberlo. El niño que solía ser ya no está allí, y el tiempo es justo. Incluso si puedes inventar el lenguaje Java, con el paso del tiempo, estás condenado a convertirte en una berenjena que se marchita lentamente o en una uva negra que se vuelve lenta.

Al ver la noticia de que el Oro, Septiembre y el Octubre de Plata llegarán pronto, me asusté tanto que saqué rápidamente los materiales de la entrevista el fin de semana. Después de leer solo una pequeña parte, descubrí un hecho. Efectivamente, hay muchos conocimientos. puntos que son ambiguos.Creo que mucha gente me seguirá.La misma sensación de crisis. ¿Cómo hacerlo? ? ?

Hoy, me gustaría compartir con ustedes el "Paquete de regalo de recursos de entrevistas de Java" , el trabajo principal en el campo de backend de Java recomendado por el arquitecto de Ali P9. Después de leer este PDF, cambié por completo mi comprensión de Java.

Habilidades requeridas para arquitectos: (La entrevista de Ali debe preguntar)

Preguntas de la entrevista de subprocesos múltiples y concurrencia:

Base de conocimiento de simultaneidad JAVA:

  • Hay varias formas de implementar subprocesos múltiples en Java

  • Heredar la clase Thread

  • Implementar la interfaz Runnable.

  • ExecutorSenvice.Callable.Future tiene valor de retorno Subproceso

  • Basado en el grupo de subprocesos

  • Grupos de 4 hilos

  • Cómo detener un hilo en ejecución

  • ¿Cuál es la diferencia entre notificar0 y notificarTodos0?

  • ¿Cuál es la diferencia entre sleep0 y wait0?

  • ¿Qué es volátil?¿Se puede garantizar el orden?

  • ¿Cuál es la diferencia entre los métodos start0 y run0 en la clase Thread?

  • ¿Por qué los métodos de esperar, notificar y nfifAllI no están en la clase de hilo?

  • ¿Por qué se llaman los métodos de espera y notificación en un bloque sincronizado?

  • ¿Diferencia entre los métodos interrumpidos e isInterruptedd en Java?

  • ¿Cuál es la diferencia entre sincronizado y ReentrantLock en Java?

  • Hay tres subprocesos T1, T2, T3, ¿cómo garantizar la ejecución secuencial?

  • ¿Cuál es la diferencia entre SynchronizedMap y ConcurrentHashMap?

  • ¿Qué es la seguridad de subprocesos?

  • ¿Qué hace el método yield en la clase Thread?

  • ¿Cuál es la diferencia entre los métodos de envío y ejecución en el grupo de subprocesos de Java?

  • Cuéntame sobre tu comprensión de la palabra clave sincronizada

  • Dime cómo usas la palabra clave sincronizada. ¿La has usado en tu proyecto? ¿Cuáles son las tres formas principales de usar la palabra clave sincronizada?

  • ¿Qué es la seguridad de subprocesos?¿Vector es una clase segura para subprocesos?

  • ¿Qué hace la palabra clave volátil?

  • Describa brevemente su comprensión del grupo de subprocesos

  • Ciclo de vida del subproceso (estado)

Preguntas de la entrevista JVM:

  • Recolector de basura en serie (hilo único, algoritmo de copia)

  • Recolector de basura ParNew (Serial+ multithreading)

  • Recopilador paralelo Scavenge (algoritmo de copia de subprocesos múltiples, eficiente)

  • Colector Serial Old (algoritmo de marcado de subproceso único)

  • Colector antiguo paralelo (algoritmo de marcado de subprocesos múltiples)

  • Colector CMS (algoritmo de barrido de marcas multiproceso)

  • colector G1

  • Mecanismo de carga de clase JVM

  • cargador de clases

  • delegación de padres

  • OSGI (Sistema de Modelado Dinámico)

  • Cambiar dinámicamente la estructura

  • Programación modular y hot swap

  • modelo de memoria JVM

  • pila de métodos nativos

  • contador de programa

  • montón

  • área de método

  • reciclaje generacional

  • La diferencia entre montón y pila.

  • ¿Cuándo se activará FullGC?

  • ¿Qué es la máquina virtual de Java?¿Por qué se llama a Java un "lenguaje de programación independiente de la plataforma"?

  • Reglas de asignación de objetos

  • Describa el mecanismo principal de JM cargando archivos de clase.

  • Proceso de creación de objetos Java

IO vs NIO en Java Preguntas de la entrevista:

  • 10 flujos en Java?

  • Diferencias entre Java 10 y NIO

  • ¿Cuáles son las clases io de uso común?

  • La diferencia entre flujo de bytes y flujo de caracteres

  • Bloque 10 modelo

  • Modelo 10 sin bloqueo

  • Multiplexación de 10 modelos

  • 10 modelos accionados por señal

  • Modelo asíncrono 10

  • JAVA NIÑO

  • Búfer de NIO

  • No bloqueante de NIO

  • Canal

  • Buffer

Preguntas de la entrevista MySQL:

  • Cómo lidiar con la clave principal d después de la subtabla de la subbase de datos

  • Procedimientos almacenados (conjuntos de sentencias SQL para funciones específicas)

  • Ideas de optimización de procedimientos almacenados

  • Trigger (un programa que se puede ejecutar automáticamente)

  • estrategia de concurrencia de base de datos

  • ¿Qué tipos de bloqueos hay en MySQL?

  • ¿Cuáles son las diferentes tablas en MySQL?

  • Describa brevemente la diferencia entre MyISAM e InnoDB en la base de datos MySQL

  • ¿Cuáles son los nombres de los cuatro niveles de aislamiento de transacciones admitidos por InnoDB en MySQL y las diferencias entre ellos paso a paso?

  • ¿Cuál es la diferencia entre CHAR y VARCHAR?

  • ¿Cuál es la diferencia entre clave primaria y clave candidata?

  • ¿Para qué se utiliza myisamchk?

  • ¿Cuál es la diferencia entre MyISAM Static y MyISAM Dynamic?

  • ¿Qué sucede si una tabla tiene una columna definida como TIMESTAMP?

  • ¿Cómo ves todos los índices definidos para la tabla?

  • ¿Qué significan el % y _ en la instrucción LIKE?

  • ¿Qué es el operador de comparación de columnas?

  • ¿Cuál es la diferencia entre BLOB y TEXTO?

  • ¿Cuál es la diferencia entre MySQL fetch.array y MySQL fetch object?

  • ¿Dónde se almacenarán las tablas MyISAM y también en qué formato se almacenarán?

  • ¿Cómo optimiza MySQL DISTINCT?

  • ¿Cómo mostrar los 50 mejores?

  • ¿Cuántas columnas se pueden usar para crear un índice?

  • ¿Cuál es la diferencia entre NOW () y CURRENT_DATE ()?

  • ¿Qué es un tipo de cadena no estándar?

  • ¿Qué son las funciones SQL genéricas?

  • ¿MySQL admite transacciones?

Redis preguntas de la entrevista:

  • ¿Redis es de un solo proceso y de un solo subproceso?

  • ¿Cuál es la capacidad máxima de un almacenamiento inteligente de tipo cadena?

  • mecanismo de persistencia Redis

  • Avalancha de caché, penetración de caché, calentamiento de caché, actualización de caché, degradación de caché, etc.

  • ¿Qué son los datos calientes y los datos fríos?

  • ¿Por qué redis de un solo subproceso es tan rápido?

  • Los tipos de datos de redis y los escenarios de uso de cada tipo de datos

  • Estrategia de caducidad de Redis y mecanismo de eliminación de memoria

  • Redis problemas comunes de rendimiento y soluciones?

  • ¿Por qué las operaciones de Redis son atómicas y cómo garantizar la atomicidad?

  • Transacciones Redis

  • ¿Cuál es el mecanismo de persistencia de Redis, sus respectivas ventajas y desventajas?

  • Redis problemas comunes de rendimiento y soluciones:

  • ¿Estrategia de eliminación de clave caducada de Redis?

  • Redis estrategia de reciclaje (estrategia de eliminación del mar) ?

  • ¿Por qué edis necesita poner todos los datos en la memoria?

  • ¿Entiendes el mecanismo de sincronización de Redis?

  • ¿Cuáles son los beneficios de Pipeline? ¿Por qué usar Pipeline?

  • ¿Ha utilizado alguna vez un clúster Redis?¿Cuál es el principio del clúster?

  • ¿Bajo qué circunstancias la solución de clúster de Redis hará que todo el clúster no esté disponible?

  • ¿Cuáles son los clientes Java compatibles con Redis?¿Cuál es el recomendado oficialmente?

  • ¿Cuáles son las ventajas y desventajas de Jedis y Redisson?

  • ¿Cómo establece Redis la contraseña y la verifica?

Preguntas de la entrevista MongoDB:

  • ¿Qué sucede cuando se actualiza un documento en un Chunk que se está migrando?

  • MongoDB construye un índice en A:(B,C}, ¿las consultas A:{B,C] y A:{C,B) usarán el índice?

  • ¿Qué sucede si se inicia una consulta cuando un fragmento está detenido o lento?

  • ¿Soporta MongoDB los procedimientos almacenados?, si es así, ¿cómo usarlos?

  • ¿Cómo entender el mecanismo de GridFS en MongoDB? ¿Por qué MongoDB usa GridFS para almacenar archivos?

  • ¿Qué es una base de datos NoSQL?, ¿Cuál es la diferencia entre NoSQL y RDBMS?, ¿En qué situaciones se usan y no se usan las bases de datos NoSQL?

  • ¿Soporta MongoDB los procedimientos almacenados?, si es así, ¿cómo usarlos?

  • ¿Cómo entender el mecanismo de GridFS en MongoDB? ¿Por qué MongoDB usa GridFS para almacenar archivos?

  • ¿Por qué los archivos de datos de MongoDB son tan grandes?

  • ¿Qué sucede cuando se actualiza un documento en un Chunk que se está migrando?

  • MongoDB construye un índice en A:(B,C}, ¿las consultas A:{B,C] y A:{C,B) usarán el índice?

  • Qué sucede cuando un fragmento se detiene o se ralentiza

  • ¿Cuál es el papel de los analizadores en MongoDB?

  • Si un usuario elimina un atributo de un objeto, ¿se elimina ese atributo de la capa de almacenamiento?

  • ¿Se puede usar la función de registro para copias de seguridad seguras?

  • ¿Actualizar las operaciones inmediatamente fsync al disco?

  • ¿Cómo realizar transacciones/bloqueos?

  • ¿Qué es maestro o primario?

  • El papel de getLasterror

  • ¿Cómo funcionan la fragmentación y la replicación?

  • ¿Cuándo se expandirán los datos a múltiples fragmentos?

  • ¿Qué sucede cuando intento actualizar un documento en un fragmento que se está migrando?

Preguntas de la entrevista MyBatis:

  • Por lo general, un archivo de mapeo Xml escribirá una interfaz Dao correspondiente, por favor,

  • ¿Cuál es el principio de funcionamiento de esta interfaz Dao?Cuando el método en la interfaz Dao tiene diferentes parámetros, ¿se puede sobrecargar el método?

  • ¿Cómo obtener el valor de la clave (principal) generada automáticamente?

  • ¿Cómo pasar múltiples parámetros en mapper?

  • ¿Para qué sirve el sql dinámico de Mybatis?¿Principio de ejecución?¿Qué tipo de sql dinámico hay?

  • En el archivo de mapeo Xml, además de la etiqueta común selectlinsertlupdaeldelete, ¿qué otras etiquetas hay?

  • En el archivo de mapeo Xml de Mybatis, ¿se puede repetir el id de diferentes archivos de mapeo Xml?

  • ¿Por qué Mybatis es una herramienta de mapeo ORM semiautomática?¿Cuál es la diferencia entre esta y la completamente automática?

  • ¿Consultas relacionales uno a uno, uno a muchos?

  • ¿De cuántas formas implementa MyBatis el uno a uno?, ¿cómo funciona?

  • Implementación de MyBatis: hay varias formas para muchas, ¿cómo operar?

  • ¿Mybatis admite la carga diferida? Si es así, ¿cuál es su principio de implementación?

  • Caché de primer y segundo nivel de Mybatis

  • ¿Qué es el enlace de interfaz de MyBatis?¿Cuáles son los métodos de implementación?

  • ¿Cuáles son los requisitos a la hora de utilizar la llamada de interfaz de mapeador de MyBatis?

  • ¿Cuáles son las formas de escribir Mapper?

  • Describa brevemente el principio de funcionamiento de los complementos de Mybatis y cómo escribir un complemento.

  • ¿De cuántas formas implementa MyBatis el uno a uno?, ¿cómo funciona?

Preguntas de la entrevista de primavera:

  • ¿Cuál es la diferencia entre Spring AOP y AspectU AOP?

  • ¿Cómo entender el proxy en Spring?

  • ¿Qué es tejer?

  • ¿Cuál es el uso del marco Spring MVC?

  • Describir el flujo de trabajo de DispatcherServlet

  • Introducir WebApplicationContext

  • ¿Qué es la primavera?

  • ¿Cuáles son los beneficios de usar Spring Framework?

  • ¿En qué módulos consiste Spring?

  • Mecanismo IOC y AOP de Spring

  • La diferencia entre las palabras clave Autowired y Resource en Spring

  • Hay varias formas de inyección de dependencia, ¿cuáles son?

  • Dime que es la primavera

  • Proceso Spring MVC

  • ¿Qué es primavera MVC?

  • ¿Cómo establece SpringMVC la redirección y el reenvío?

  • ¿Cuáles son las anotaciones comúnmente utilizadas en SpringMVC?

  • Comprensión de AOP de Spring

  • Comprensión del COI de Spring

  • Explicar el ciclo de vida de los frijoles de primavera.

  • Explicar el alcance de varios beans soportados por Spring.

  • Varias formas para que Spring inyecte beans basados ​​​​en xml

  • Qué patrones de diseño se utilizan en el marco Spring

  • Módulo de contenedor central (contexto de aplicación)

  • BeanFactory - Ejemplo de implementación de BeanFactory.

  • fábrica de frijoles XML

  • Explicar el módulo AOP

Preguntas de la entrevista de Spring Boot:

  • ¿Podemos usar jetty en lugar de tomcat en spring-boot-starter-web?

  • ¿Cómo generar un archivo WAR usando Spring Boot?

  • ¿Cómo implementar en diferentes servidores usando Spring Boot?

  • ¿Cuál es la diferencia entre RequestMapping y GetMapping?

  • ¿Por qué no recomendamos usar Spring Data Rest en aplicaciones reales?

  • En Spring Initializer, ¿cómo cambiar el nombre del paquete de un proyecto?

  • ¿Dónde puedo encontrar la lista completa de propiedades que se pueden configurar en application.propertier?

  • ¿Cuál es la diferencia entre JPA e Hibernate?

  • ¿Qué dependencias se requieren para iniciar una aplicación JPA conectada a una base de datos H2 en memoria usando Spring Boot?

  • ¿Cómo elegir Hibernate como la implementación predeterminada de JPA sin ninguna configuración?

  • ¿Dónde está la información de conexión de la base de datos especificada?¿Cómo sabe que se conecta automáticamente a H2?

  • ¿Cómo nos conectamos a una base de datos externa como MSSQL u orcale?

  • El nombre de la base de datos H2 predeterminada configurada por Spring Boot está arriba ¿Por qué el nombre de la base de datos predeterminada es testdb?

  • Si H2 no está en la ruta de clase, ¿ocurrirá la situación anterior?

  • ¿Puede dar un ejemplo con ReadOnly como gestión de transacciones?

  • ¿Cuál es la mejor manera de publicar la configuración personalizada de la aplicación de usuario de Spring Boot?

  • ¿Cuáles son los requisitos para los archivos de configuración?

  • ¿Cómo usar el archivo de configuración para configurar la configuración de un entorno específico a través de Spring Boot?

  • ¿Cómo podemos configurar una aplicación Spring Boot usando Maven?

  • ¿Cómo deshabilitar una configuración automática específica?

  • ¿Qué configuración externa admite Spring Boot?

  • ¿Cómo probar la aplicación Spring Boot?

  • ¿Cuál es el uso del actuador Spring Boot?

  • ¿Dónde se puede colocar la ubicación predeterminada de la página de inicio estática en SpringBoot?

  • ¿Cuál es la prioridad del mapeo directo de recursos estáticos en SpringBoot?

Preguntas de la entrevista de Spring Cloud:

  • ¿Cuál es la diferencia entre SpringBoot y SpringCloud?

  • ¿Qué es un disyuntor Hystrix?, ¿lo necesitamos?

  • Hable sobre el principio de realización de RPC

  • ¿Ventajas y desventajas de los microservicios?, ¿cuénteme sobre los obstáculos encontrados en el proyecto de desarrollo?

  • ¿Cuál es la diferencia entre spring cloud y dubbo?

  • Comparando REST y RPC

  • ¿Conoces la pila de tecnología de microservicios?

  • ¿Cómo se comunican los microservicios de forma independiente?

  • ¿Cómo implementa springcloud el registro de servicios?

  • La diferencia entre Eureka y Zookeeper

  • ¿Qué es el mecanismo de autoprotección de eureka?

  • ¿Qué es la cinta?

  • ¿Qué es el feigin?¿Cuáles son sus ventajas?

  • ¿Cuál es la diferencia entre Ribbon y Fingir?

  • ¿Qué es Spring Cloud Bus?

  • ¿Papel de disyuntor de Springcloud?

  • ¿Puerta de enlace de la nube de primavera?

  • Como registro de servicios, ¿cómo es Eureka mejor que Zookeeper?

  • ¿Qué es el balanceo de carga de Ribbon?

  • ¿Qué puede hacer el balanceo de carga de Ribbon?

  • ¿Qué es zuu|puerta de enlace de enrutamiento?

  • ¿Qué puede hacer el centro de configuración distribuida?

Preguntas de la entrevista de estructura de datos:

  • pila

  • cola

  • Lista enlazada (Enlace)

  • Tabla de picadillo

  • ordenar árbol binario

  • árbol de la borla delantera

  • árbol negro rojo

  • B-ÁRBOL

  • mapa de bits

Preguntas de la entrevista del algoritmo:

  • Hay {1,2,3,4,5,6,7,8,9} en los datos. Baraje el orden aleatoriamente y genere una nueva matriz (impleméntela con código)

  • Escriba el código para juzgar si un número entero es una potencia de 2 (implemente el código, no llame al método API)

  • Suponiendo que hoy es el 1 de marzo de 2015, domingo, calcule el día de la semana después de 13 meses y 6 días, y la cantidad de días a partir de ahora (utilice el código para implementar, no llame a los métodos API)

  • Hay dos canastas, a saber, A y B. La canasta A contiene huevos y la canasta B contiene manzanas. Utilice el pensamiento orientado a objetos para realizar el intercambio de artículos en las dos canastas (utilice el código para implementar)

  • búsqueda binaria

  • Algoritmo de clasificación de burbujas

  • algoritmo de clasificación por inserción

  • algoritmo de clasificación rápida

  • Algoritmo de clasificación de colinas

  • Algoritmo de clasificación por fusión

  • algoritmo de ordenación de cubos

  • Algoritmo de clasificación Radix

  • algoritmo de poda

  • algoritmo de retroceso

  • algoritmo de ruta más corta

  • Algoritmo de árbol de expansión mínimo

  • AES

  • RSA

  • CDN

  • MD5

  • Más ejercicios de algoritmos

Preguntas de la entrevista de Kafka:

  • Grupo de consumidores

  • Cómo obtener una lista de temas temáticos

  • ¿Cuál es la línea de comando para el productor y el consumidor?

  • ¿El consumidor es push o pull?

  • Hable sobre el método de kafka para mantener el seguimiento del estado del consumo

  • Hable acerca de la sincronización maestro-esclavo

  • ¿Por qué necesita un sistema de mensajes, mysql no puede satisfacer la demanda?

  • ¿Cuál es el papel de Zookeeper para Kafka?

  • ¿Cuáles son las dos condiciones para que Kafka juzgue si un nodo todavía está vivo?

  • Hay tres diferencias clave entre Kafka y los sistemas de mensajería MQ tradicionales

  • Charla sobre los tres mecanismos del ack de Kafka |

  • ¿Cómo puede el consumidor no presentar automáticamente la compensación, sino presentarla mediante la aplicación?

  • Fracaso del consumidor, ¿cómo resolver el problema del overlock?

  • Cómo controlar la ubicación del consumo

Preguntas de la entrevista de microservicios:

  • ¿Cuál es el propósito de Container en microservicios?

  • ¿Qué es DRY en la arquitectura de microservicios?

  • ¿Qué es un contrato impulsado por el consumidor (CDC)?

  • ¿Cuál es el rol de Web, RESTful API en Microservicios?

  • ¿Qué sabes sobre el monitoreo semántico en la arquitectura de microservicios?

  • ¿Cómo hacemos pruebas multifuncionales?

  • ¿Cómo podemos eliminar el indeterminismo en las pruebas?

  • ¿Cuál es la diferencia entre Mock o Stub?

  • ¿Cuánto sabes sobre la pirámide de pruebas de Mike Cohn?

  • ¿Cuál es el propósito de Docker?

  • ¿Qué es un lanzamiento canario?

  • ¿Qué es la Integración Continua (CI)?

  • ¿Qué es el Monitoreo Continuo?

  • ¿Cuál es el papel del arquitecto en la arquitectura de microservicios?

  • ¿Podemos crear máquinas de estado con microservicios?

  • ¿Qué es el escalado reactivo en microservicios?

Preguntas de la entrevista de Elasticsearch

  • ¿Cuáles son los métodos de optimización para la configuración de Linux cuando se implementa Elasticsearch?

  • ¿Cuál es la estructura interna de ucence?

  • ¿Cómo realiza Elasticsearch la elección de Maestro?

  • Nodos en Elasticsearch (por ejemplo, un total de 20), 10 de los cuales están seleccionados

  • Un maestro, otros 10 eligen otro maestro, ¿qué debo hacer?

  • Cuando el cliente se conecta al clúster, ¿cómo selecciona un nodo específico para ejecutar la solicitud?

  • Describir en detalle el proceso de indexación de documentos de Elasticsearch.

  • Describir en detalle el proceso de actualización y eliminación de documentos en Elasticsearch.

  • Describir el proceso de búsqueda de Elasticsearch en detalle

  • En Elasticsearch, cómo encontrar el índice invertido correspondiente según una palabra

  • Cuando se implementa Elasticsearch, ¿cuáles son los métodos de optimización para la configuración de Linux?

  • Con respecto a GC, ¿a qué se debe prestar atención al usar Elasticsearch?

  • ¿Cómo implementa Elasticsearch la agregación de grandes volúmenes de datos (cientos de millones)?

  • ¿Cómo garantiza Elasticsearch la consistencia de lectura y escritura en concurrencia?

  • ¿Cómo monitorear el estado del clúster de Elasticsearch?

  • Presentar la arquitectura técnica general de su búsqueda de comercio electrónico

  • ¿Cuéntanos sobre tu solución de búsqueda personalizada?

  • ¿Conoces los árboles de diccionario?

  • ¿Cómo se implementa la corrección de errores ortográficos?

Supongo que te gusta

Origin blog.csdn.net/qq13321123/article/details/132098781
Recomendado
Clasificación