¡Casi salté! Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Prefacio

La cosa es así. A principios de este año, recibí un libro de entrevistas de Java de un gran bloguero, y luego estaba tumbado en el plato y comiendo cenizas. Hasta mayo, cuando tenía un plan y un plan para cambiar de trabajo, pensé Iba a repasar las preguntas de la entrevista, así que saqué este conjunto de colecciones de entrevistas de "acumulación de cenizas" y las miré. Me tomó más de un mes verlas como una comprensión completa. Comencé a entrevistar a Meituan a mediados de julio. Parecían cinco lados. Pensé que era inútil. Cuando recibí la oferta el 29 del mes, me notificaron para informar a la compañía el 3 de agosto y casi me sobresalto cuando vi el correo electrónico.

Permítanme hablar sobre mi situación personal. Los estudiantes universitarios en el sur de China, no 985 y 211, han trabajado en una pequeña empresa después de graduarse. No ganaron mucho dinero, pero al menos no 996. Han pasado casi tres años desde entonces, de repente pensando en su futuro. Quiero cambiar el status quo, así que estoy decidido a revisar con detenimiento y prepararme para cambiar de trabajo. Por supuesto, además de las preguntas de la entrevista, también revisé una ola en la etapa inicial.

El contenido de este artículo consta de dos capítulos: (1) 999 páginas de Java Interview Collection; (2) Mi intercambio de experiencias de entrevistas en Meituan, incluidas las preguntas y respuestas de las entrevistas. Sin embargo, debido al espacio limitado, no se puede mostrar en su totalidad. Se requiere la versión completa en pdf, que se puede obtener haciendo clic aquí.

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

El folleto de entrevistas de Java de 999 páginas me ha engañado durante un mes y medio completo

1. Base de Java (Tomcat + Mysql + patrón de diseño + concurrencia + Netty + JVM)

Tome las preguntas de la entrevista de JVM como ejemplo:

  • ¿Proceso de carga de clases de Java?
  • Describa el mecanismo principal de la JVM para cargar archivos de clase.
  • Asignación de memoria Java
  • ¿Qué es GC? ¿Por qué es GC?
  • ¿Cómo juzgar si un objeto está vivo? (O cómo determinar el objeto GC)
  • Las ventajas y principios de la recolección de basura. Y considere 2 mecanismos de reciclaje
  • ¿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?
  • ¿Habrá una pérdida de memoria en Java? Descríbala brevemente
  • ...

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Preguntas principales de la entrevista de JVM (respuesta + análisis)

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Puntos de conocimiento básicos de JVM

2. Distribuido (límite actual + caché + comunicación)

Límite de corriente distribuido: Zookeeper + Nginx

Caché distribuido: mongoDB + memcached + Redis

Comunicación distribuida: RabbitMQ + Kafka

Tome Redis como ejemplo:

  • ¿Cuál es la diferencia entre redis y memcached? ¿Por qué a veces el redis de un solo subproceso es más eficiente que memcached de subprocesos múltiples con alta concurrencia?
  • ¿Cómo funciona la replicación maestro-esclavo de redis? ¿Cómo realizar el modo cluster de redis? ¿Cómo se abordan las claves de redis?
  • ¿Cómo diseñar cerraduras distribuidas usando redis? ¿Hablar de la idea de realización? ¿Puedo usar zk? ¿Como alcanzar? ¿Cuál es la diferencia entre estos dos?
  • ¿Conoces la persistencia de redis? ¿Cómo se implementa la capa inferior? ¿Cuáles son las ventajas y desventajas?
  • ¿Cuáles son las estrategias de vencimiento de redis? ¿Lo sabe el algoritmo LRU? ¿Escribir una implementación de código java?
  • ¿Soluciones de penetración de caché, desglose de caché y avalancha de caché?
  • Al elegir una caché, cuándo elegir redis y cuándo elegir memcached
  • ¿Qué pasa si la caché no es coherente con la base de datos?
  • ¿Cómo resolver la inconsistencia de las bases de datos maestra y esclava?
  • ¿Problemas y soluciones comunes de rendimiento de Redis?
  • ¿Cuáles son las estrategias de eliminación de datos de Redis?
  • ¿Cuáles son las estructuras de datos en Redis?
  • Suponga que hay 100 millones de claves en Redis, y 10w de ellas comienzan con un prefijo conocido fijo. ¿Qué pasa si puede encontrarlas todas?
  • ¿Ha utilizado Redis como una cola asincrónica y cómo lo logró?
  • ¿Cómo implementa Redis las colas retrasadas?
  • ...

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Preguntas principales de la entrevista de Redis (respuesta + análisis)

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Puntos de conocimiento básicos de Redis

3. Marco de código abierto (Spring + SpringMVC + MyBatis)

Tome Spring como ejemplo:

  • ¿Qué es el marco Spring? ¿Cuáles son los módulos principales del marco Spring?
  • ¿Cuáles son los beneficios de usar el marco Spring?
  • ¿Qué es la inversión de control (IOC)? ¿Qué es la inyección de dependencia?
  • Explique el IoC en el marco de Spring.
  • ¿Cuál es la diferencia entre BeanFactory y ApplicationContext?
  • ¿Cuántas formas de configurar Spring?
  • ¿Cómo configurar Spring basado en la configuración XML?
  • ¿Cómo configurar Spring basado en la configuración de Java?
  • ¿Cómo configurar Spring con anotaciones?
  • Por favor, explique el ciclo de vida de Spring Bean.
  • ¿Cuál es la diferencia entre el alcance de Spring Bean?
  • ¿Qué son los frijoles internos de Spring?
  • ¿Son los beans singleton en el marco Spring seguros para subprocesos?
  • Por favor, dé un ejemplo de cómo inyectar una colección Java en Spring.
  • ¿Cómo inyectar un Java.util.Properties en Spring Bean?
  • Por favor, explique el cableado automático de Spring Bean.
  • Explique la diferencia en el modo de montaje automático.
  • ¿Cómo habilitar el ensamblaje automático basado en anotaciones?
  • ...

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Preguntas de la entrevista de primavera (respuesta + análisis)

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Puntos de conocimiento básicos de Spring

4. Arquitectura de microservicio (Dubbo + SpringBoot + SpringCloud)

Tome SpringBoot como ejemplo:

  • ¿Qué es Spring Boot?
  • ¿Cuáles son las ventajas de Spring Boot?
  • ¿Qué es JavaConfig?
  • ¿Cómo recargar los cambios en Spring Boot sin reiniciar el servidor?
  • ¿Qué es el monitor en Spring Boot?
  • ¿Cómo deshabilitar la seguridad del punto final del actuador en Spring Boot?
  • ¿Cómo ejecutar aplicaciones Spring Boot en puertos personalizados?
  • ¿Qué es YAML?
  • ¿Cómo realizar la seguridad de la aplicación Spring Boot?
  • ¿Cómo integrar Spring Boot y ActiveMQ?
  • ¿Cómo usar Spring Boot para implementar paginación y clasificación?
  • ¿Qué es Swagger? ¿Lo ha implementado con Spring Boot?
  • ¿Qué es Spring Profiles?
  • ¿Qué es Spring Batch?
  • ¿Qué es una plantilla FreeMarker?
  • ¿Cómo usar Spring Boot para implementar el manejo de excepciones?
  • ¿Qué dependencias de starter maven usaste?
  • ...

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Preguntas de la entrevista de primavera (respuesta + análisis)

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Puntos de conocimiento básicos de Spring

5. Preguntas de entrevistas reales para empresas de Internet de primera línea a lo largo de los años (Ali + ByteDance + Meituan + NetEase + Pinduoduo + Jingdong + Station B, etc.)

Tome Meituan como ejemplo (parcial):

  • La diferencia entre List y Set
  • ¿Cómo garantiza HashSet la no repetición?
  • ¿Es seguro el hilo de HashMap? ¿Por qué no es seguro para subprocesos? (Es mejor hacer un dibujo para ilustrar que no es seguro en un entorno de subprocesos múltiples)
  • Proceso de expansión de HashMap
  • La diferencia entre HashMap 1.7 y 1.8, explica qué optimizaciones se han realizado en 1.8 y cómo.
  • Cuatro referencias a objetos
  • Tres formas de reflexionar en Java
  • Mecanismo de reflexión de Java
  • ¿El principio de realización y la diferencia entre Arrays.sort y Collections.sort?
  • Aplicación de LinkedHashMap
  • Principio de implementación de interfaz clonable
  • ¿Cuál es la diferencia entre esperar y dormir?
  • ¿Cuéntame cómo se asignan las matrices en la memoria?
  • ...

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

Preguntas reales de entrevistas para empresas de Internet de primera línea (versión de respuesta detallada)

Intercambio de preguntas de la entrevista de Meituan (5 rondas de presión)

He recopilado las respuestas en las siguientes preguntas de la entrevista en el documento. Las respuestas y el análisis están todos ordenados y resumidos después de la entrevista, incluyendo opiniones y pensamientos personales. No son completamente correctos y tienen un cierto valor de referencia. Si necesita la respuesta, puede compartirla con un mensaje privado [ Preguntas de la entrevista] Obtenga.

Lado Meituan:

  1. Preséntese y hable brevemente sobre su proyecto;
  2. ¿Ha encontrado una pérdida de memoria? ¿Cómo lo resolviste?
  3. ¿Cuáles son los tipos básicos de Java? ¿Es String un tipo básico de Java? ¿Por qué String debería ser final?
  4. ¿Cuál es la implementación subyacente del mecanismo de reflexión? ¿Dinámica? ¿El principio de realización dinámica?
  5. ¿Entiendes hashmap? ¿Hablas de algunas cosas relacionadas con hashmap? ¿Es seguro el hilo de hashmap? ¿Por qué es seguro para subprocesos?
  6. ¿Entiende concureenthashmap? ¿Cómo logra la seguridad de los hilos?
  7. ¿Dijiste que 1.8 se basa en cas? ¿Cómo resolver el problema ABA de cas?
  8. ¿Hablar sobre el modelo de subprocesamiento de JVM? ¿Para qué se utilizan estas áreas?
  9. ¿Cuéntame sobre el mecanismo de trabajo del cargador de clases de Java? ¿En qué zona se realiza la carga de clases?
  10. ¿Hablar sobre el modelo de subprocesamiento de Java?
  11. Violar ¿entiendes? Cual es su principio? ¿Es seguro violar el hilo?
  12. ¿Cuáles son las soluciones para garantizar la seguridad de los hilos? Hable sobre el bloqueo de lectura-escritura, la lectura del bloqueo de lectura-escritura
  13. ¿Qué tipos de índices de bases de datos existen? ¿Por qué utilizar el árbol B + para indexar? ¿Cuál es la diferencia entre un índice compuesto y varios índices individuales? ¿Entiende la optimización de consultas de tablas grandes en la base de datos? ¿Entiendes el mecanismo MVCC? ¿Qué pasa con el mecanismo MVCC? ¿Cómo resolver este problema? ¿Ha realizado un ajuste lento de declaraciones de mysql? Dime como lo haces
  14. ¿Entiende redis? ¿Hablas de cómo usar redis para implementar bloqueos distribuidos?
  15. El alcance de Bean en primavera, ¿es seguro el controlador de springMVC thread? ¿Cómo garantizar la seguridad de los hilos?
  16. ¿Se ha utilizado la cola de mensajes? Dime como lo usas
  17. ¿Entiendes las redes informáticas? Hablemos del protocolo de enlace de tres vías TCP y cuatro manos agitadas
  18. ¿Cuál es el motivo del estado time_wait? , ¿Cuál es el daño? ¿Cómo se puede evitar?
  19. Encuentre el valor más pequeño en una matriz ordenada rotada

Suponga que la matriz ordenada en orden ascendente se rota en un punto desconocido de antemano.

(Por ejemplo, la matriz [0,1,2,4,5,6,7] puede convertirse en [4,5,6,7,0,1,2]).

Encuentre el elemento más pequeño.

Puede asumir que no hay elementos duplicados en la matriz.

Ejemplo 1:

Entrada: [3,4,5,1,2]

Salida: 1

Ejemplo 2:

Entrada: [4,5,6,7,0,1,2]

Salida: 0

Meituan dos lados:

  1. Primero, pregunte al proyecto.
  2. La diferencia entre String, StringBuffer y StringBuilder, por qué String es inmutable, cuál es seguro para subprocesos, StringBuffer y StringBuilder, y para qué escenarios son adecuados.
  3. ¿Qué es el proceso de carga de clases de Java? Hablamos de volatile.
  4. ¿Entiende el paquete concurrente? Si varios subprocesos se esperan entre sí, ¿qué clase de concurrencia se puede usar para lograr esto y cuál es su principio?
  5. ¿Qué sabe acerca de la optimización lenta de consultas de la base de datos?
  6. ¿Hablar del proceso de puesta en marcha del contenedor de primavera?
  7. Hable sobre bloqueos distribuidos. ¿Cuál es la diferencia en el rendimiento según la implementación del guardián del zoológico y la implementación de redis?
  8. ¿Cómo se asegura Kafka de que no se pierdan mensajes ni se consuman repetidamente? ¿Conoce algunas tecnologías relacionadas con big data?
  9. Finalmente escribió la pregunta: juego de saltos;

Dada una matriz de enteros no negativos, inicialmente se encuentra en la primera posición de la matriz.

Cada elemento de la matriz representa la longitud máxima que puede saltar en esa posición.

Determina si puedes llegar a la última posición.

Ejemplo 1:

Entrada: [2,3,1,1,4]

Salida: verdadero

Explicación: Podemos saltar 1 paso primero, pasar de la posición 0 a la posición 1 y luego saltar 3 pasos de la posición 1 a la última posición.

Ejemplo 2:

Entrada: [3,2,1,0,4]

Salida: falso

Tres lados de Meituan:

  1. ¿Cómo garantiza redis la seguridad de los subprocesos en modo distribuido?
  2. ¿El camino y la diferencia de persistencia de redis?
  3. ¿Cómo implementa zookeeper bloqueos distribuidos y cómo implementar otros bloqueos distribuidos?
  4. ¿Cómo utilizar Kafka para garantizar el orden de los mensajes?
  5. ¿Qué incluye la optimización de la base de datos? Optimización de MySQL, hable de dos ejemplos de su optimización.
  6. Para los proyectos técnicamente más difíciles, introduzca el proceso de diseño central relevante.
  7. En el trabajo, si se encuentra con un cuello de botella técnico que no se puede resolver, ¿cuál es su solución?
  8. ¿Cuál es su plan de carrera para el futuro?

Meituan cuatro lados:

  1. Auto presentación
  2. Introducción al proyecto
  3. ¿Cómo gestionar los miembros del proyecto?
  4. Cuando hay desacuerdos, ¿cómo comunicar y persuadir a los miembros del desarrollo? por ejemplo
  5. ¿Cómo asegurar el avance del proyecto?
  6. ¿El principio del índice de la base de datos?
  7. ¿Índice no agrupado e índice agrupado?
  8. ¿Precauciones para usar el índice?
  9. Índice conjunto
  10. Explica el principio de coincidencia más a la izquierda desde la parte inferior.
  11. ¿Mysql optimiza el índice conjunto? ¿El pedido se ajustará automáticamente? ¿Qué versión está optimizada?
  12. Aplicación Redis
  13. Método y principio de persistencia de Redis
  14. Selección de tecnología, una nueva tecnología y una tecnología antigua estable, ¿cómo elegiría y cuáles son sus consideraciones?
  15. Los tres blogs del equipo técnico de Meituan Dianping que más te impresionaron
  16. ¿Qué nueva tecnología estás aprendiendo recientemente?
  17. ¿Cómo se puso en contacto con una nueva tecnología?
  18. ¿Qué libros leerás?
  19. ¿Cómo elegir el libro para leer?

Fideos Meituan HR:

  1. ¿Usas habitualmente Meituan? ¿Cómo es la evaluación?
  2. ¿Qué estás haciendo con Meituan?
  3. ¿Qué opinas de la plataforma Meituan?
  4. ¿Algún amigo se entrevista o trabaja para Meituan?
  5. ¿Qué empresas siguen realizando entrevistas?
  6. P. ¿Cuál cree que es su experiencia en entrevistas en diversas empresas?
  7. Expectativas salariales

¡Casi salté!  Gracias a este libro de entrevistas en Java de 999 páginas, acabo de recibir una oferta de Meituan

para resumir

Tengo mucha suerte, pero también creo firmemente que la buena suerte siempre está reservada para quienes están preparados. Por lo tanto, cuando tú y yo tenemos metas, debes seguir trabajando duro, si estás preparado, naturalmente obtendrás lo que deseas y tus metas eventualmente se lograrán. Pero si no tienes pensamientos pero no acciones, estarás ansioso cuando tengas 30 años y serás eliminado por el mercado tarde o temprano.

El contenido anterior, solo espero que todos los compañeros de la misma industria puedan tener una clara conciencia de sí mismos. Si los programadores quieren ser insustituibles, deben mejorar sus habilidades.

Ya sea este Libro de entrevistas de Java de 999 páginas o los otros documentos que tengo a mano, se puede empaquetar y compartir con usted, ¡siempre que me apoye mucho y usted mismo!

Canal de inicio rápido: (haga clic aquí) para descargar! ¡Lleno de sinceridad! ! !

Supongo que te gusta

Origin blog.csdn.net/weixin_45136579/article/details/109294748
Recomendado
Clasificación