Llegó a las preguntas de la entrevista de Java con un salario mensual de 20k

1. Descripción de la escena

Recientemente, un amigo escribió en un mensaje privado, diciendo que la información de la entrevista en Internet estaba un poco dispersa y desactualizada. Le pregunté a Lao Wang si podía ayudarme a resolverlo. Simplemente lo resolví y lo compartí con todos.

2. Solución

2.1 Descripción

(1) La mayoría de las preguntas de la entrevista se encuentran en Internet. El faraón ha filtrado y clasificado algunas poco comunes o conocidas, y ha agregado algunas del propio Faraón. Es más fácil para todos recitar antes de la entrevista. Pasemos el trabajo de "salario mensual 20k".

(2) No hay muchas preguntas sobre springboot y springcloud. El faraón tiene estas dos series de blogs. Puedes consultarlos. Son gratuitos. Solo elegí dos o tres temas. Si tienes alguna pregunta, presta atención a la cuenta pública del faraón. Comuníquese directamente.

(3) Las preguntas de la entrevista son solo lo básico. De hecho, las grandes empresas o las empresas con un pequeño requisito suelen hablar directamente. Principalmente preguntan sobre la experiencia real del proyecto. Las preguntas de la entrevista se utilizan como un complemento. Generalmente, no se harán directamente. Si las hay, puede considerar la siguiente ¿Es necesaria una entrevista?

2.2 Iniciar el tema

1. La relación entre maven, springboot y springcloud

(1) Maven es la base de springboot, y el proyecto springboot en sí es un proyecto maven. El uso de múltiples iniciadores de springboot y algunas convenciones en un proyecto de maven puede convertirse en un proyecto de springboot.

(2) Springboot es la base de springcloud, y springcloud en sí es un proyecto de springboot.

(3) Relación: maven-> springboot-> springcloud

Maven es la base de springboot, springboot es la base de springcloud, maven no depende de springboot y springboot no depende de springcloud.

2. La diferencia entre nacos y eureka

(1) Springcloud eureka es el centro de registro. Es responsable del registro y descubrimiento de microservicios. Desempeña un papel en la vinculación hacia arriba y hacia abajo. Es equivalente al cerebro humano en la arquitectura de microservicios. Es muy importante. Nacos es producido por Alibaba y tiene funciones similares a eureka. Hace viento de nuevo.

(2) El método de implementación de nacos es diferente de springcloud eureka. Euroka necesita crear un proyecto springboot, luego cargar el servidor Euroka a través de gav y luego implementar el proyecto.

(3) Nacos debe descargar el paquete jar directamente desde el sitio web oficial de Alibaba nacos para iniciar el servicio.

3. Describa el principio y el mecanismo de carga de archivos de clase de JVM.

Respuesta: La carga de clases en la JVM es implementada por el cargador de clases (ClassLoader) y sus subclases. El cargador de clases en Java es un componente importante del sistema en tiempo de ejecución de Java, que es responsable de encontrar y cargar clases en tiempo de ejecución La clase en el archivo. La carga de clases se refiere a leer los datos en el archivo .class de la clase en la memoria, generalmente creando una matriz de bytes para leer en el archivo .class

4. ¿Cuáles son las clases de cadenas de manipulación en Java? ¿Cuál es la diferencia entre ellos?

Las clases para manipular cadenas son: String, StringBuffer, StringBuilder.

La diferencia entre String y StringBuffer y StringBuilder es que String declara objetos inmutables. Cada operación genera un nuevo objeto String, y luego apunta el puntero al nuevo objeto String. StringBuffer y StringBuilder pueden operar sobre la base del objeto original. Por lo tanto, es mejor no utilizar String cuando el contenido de una cadena se cambia con frecuencia.

La mayor diferencia entre StringBuffer y StringBuilder es que StringBuffer es seguro para subprocesos, mientras que StringBuilder no es seguro para subprocesos, pero StringBuilder tiene un rendimiento más alto que StringBuffer, por lo que se recomienda StringBuilder en un entorno de un solo subproceso y StringBuffer en un entorno de subprocesos múltiples.

5. ¿Cuál es la diferencia entre BIO, NIO y AIO?

  • BIO: IO de bloque El IO de bloqueo síncrono es el IO tradicional que usamos habitualmente, se caracteriza por su modo simple y cómodo de usar, y su baja capacidad de procesamiento concurrente.
  • NIO: El nuevo IO síncrono sin bloqueo de IO es una actualización del IO tradicional. El cliente y el servidor se comunican a través del canal para lograr la multiplexación.
  • AIO: Asynchronous IO es una actualización de NIO, también llamado NIO2, que realiza IO asincrónico sin bloqueo. El funcionamiento de IO asincrónico se basa en eventos y mecanismos de devolución de llamada.

6. Explique qué es ioc.

IOC es la abreviatura de Inversión de control. La mayoría de los libros se traducen como "Inversión de control". De hecho, es más apropiado llamar "Inyección de dependencia".

Antes de que el sistema de software introduzca el contenedor IOC, el objeto A depende del objeto B, por lo que cuando el objeto A se inicializa o se ejecuta hasta cierto punto, debe crear activamente el objeto B o utilizar el objeto B ya creado. Ya sea que esté creando o usando el Objeto B, usted tiene control sobre él.

Después de la introducción del contenedor IOC en el sistema de software, esta situación ha cambiado por completo. Debido a la adición del contenedor IOC, se pierde la conexión directa entre el objeto A y el objeto B. Por lo tanto, cuando el objeto A corre al objeto B, el contenedor IOC Tomará la iniciativa de crear un objeto B inyectado en el lugar donde el objeto A necesita.

A través de la comparación antes y después, no es difícil ver: el proceso por el cual el objeto A obtiene el objeto dependiente B ha cambiado de comportamiento activo a comportamiento pasivo, y el poder de control se invierte. Este es el origen del nombre "inversión de control".

Descripción:

Hay muchas preguntas de la entrevista, 100 pequeñas preguntas de la entrevista. Si sugieres una entrevista, puedes memorizarla, para que yo sienta un poco en mi corazón, y Lao Wang la puso directamente en el disco de la red.

链接:https://pan.baidu.com/s/1bvzJYPQGnC28WfO_dmzJAg 
提取码:rm55

Bienvenido a seguir la cuenta pública original de WeChat "Software King" para compartir tecnología de software, industria del software y cosas divertidas, incluidos libros java gratuitos, millones de imágenes comerciales de alta definición, etc.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/wjg8209/article/details/108632391
Recomendado
Clasificación