Tencent Java intermedio y de alta frecuencia 136 preguntas de la entrevista real, la gran fábrica de entrevistas toma 45Koffer sin problema!

1. Estructura de datos y base de algoritmos

  1. · Hablar sobre varios algoritmos de clasificación comunes y su respectiva complejidad.
  2. · Escribe un algoritmo de clasificación de burbujas en Java
  3. · Describe la estructura de almacenamiento en cadena.
  4. · ¿Cómo atravesar un árbol binario?
  5. · Invertir una LinkedList.
  6. · Utilice Java para escribir un recorrido recursivo de todos los archivos del directorio.

Dos, conceptos básicos de Java

  1. · ¿Cuál es la diferencia entre una interfaz y una clase abstracta?
  2. · ¿Cuáles son los tipos de excepciones en Java? ¿Cómo usar cada uno?
  3. · ¿Cuáles son las clases de recolección de uso común? Por ejemplo, ¿cómo ordenar la lista?
  4. · ¿Qué tal la implementación interna de ArrayList y LinkedList? ¿La diferencia entre ellos y sus ventajas y desventajas?
  5. · ¿Qué es el desbordamiento de la memoria? Por favor, dé un ejemplo.
  6. · ¿Cuál es la diferencia entre == y es igual a?
  7. · ¿Qué hace el método hashCode?
  8. · ¿Qué es NIO? ¿Para qué tipo de escena es adecuada?
  9. · Principio de implementación de HashMap, ¿cómo garantizar la seguridad de los subprocesos de HashMap?
  10. · Estructura de la memoria JVM, ¿por qué necesitamos GC?
  11. · Modelo NIO, la diferencia entre select / epoll, el principio de multiplexación
  12. · Cuántos bytes ocupa un carácter en Java, pregunte cuántos bytes int, long, double ocupa después de la extensión
  13. · ¿Cuáles son las formas de crear una instancia de una clase?
  14. · ¿La diferencia entre final / finalmente / finalizar?
  15. · ¿La diferencia entre Sesión / Cookie?
  16. · ¿La diferencia entre String / StringBuffer / StringBuilder, expandir y pedir su realización?
  17. · ¿Ciclo de vida del servlet?
  18. · ¿Cómo asignar un espacio de memoria 1G continuo con Java? ¿Qué necesita atención?
  19. · Java tiene su propio mecanismo de recuperación de memoria, pero ¿por qué sigue habiendo un problema de pérdida de memoria?
  20. · ¿Qué es la serialización de Java y cómo implementar la serialización de Java? (Escriba un ejemplo)?
  21. · String s = new String ("abc"); ¿Cuántos objetos String se han creado?

Tres, JVM

  1. · La estructura básica del montón de JVM.
  2. · ¿Cuáles son los algoritmos basura de JVM? ¿El proceso básico de recolección de basura CMS?
  3. · ¿Cuáles son los parámetros de inicio comunes de JVM que se pueden ajustar y cuántos se describen?
  4. · ¿Cómo comprobar el uso de memoria de JVM?
  5. · ¿Los programas Java se desbordarán o se filtrarán? Dé algunos ejemplos.
  6. · ¿Cuáles son los parámetros de ajuste y configuración de JVM que utiliza habitualmente? ¿Cuál es el papel de cada uno?
  7. · ¿Estructura de la memoria JVM?
  8. · Estrategia de GC comúnmente utilizada, ¿cuándo se activará YGC y cuándo se activará FGC?

Cuatro, multiproceso / concurrencia

  1. · ¿Cómo crear hilos? ¿Cómo garantizar la seguridad de los hilos?
  2. · Cómo implementar una estructura de datos segura para subprocesos
  3. · Cómo evitar el estancamiento
  4. · ¿Cuál es el papel de las palabras clave volátiles?
  5. · ¿A qué debo prestar atención cuando utilizo HashMap en un entorno de subprocesos múltiples? ¿Por qué?
  6. · ¿Utiliza ejecutar o comenzar para iniciar un hilo en un programa Java?
  7. · ¿Qué es un hilo de demonio? ¿Cuál es el uso?
  8. · ¿Qué es un punto muerto? Como evitar
  9. · ¿Cuál es la diferencia entre hilos y procesos?
  10. · ¿Cómo se implementa Threadlocal en Java?
  11. · ¿Cuál es el principio de realización de ConcurrentHashMap?
  12. · La diferencia entre dormir y esperar
  13. · La diferencia entre notificar y notificar a todos
  14. · El papel de la palabra clave volátil
  15. · El rol y la implementación de ThreadLocal
  16. · Cómo se ejecutan en serie dos subprocesos
  17. · ¿Cuál es el significado del cambio de contexto?
  18. · ¿Se puede matar un hilo en tiempo de ejecución?
  19. · ¿Qué son los bloqueos condicionales, los bloqueos de lectura y escritura, los bloqueos de giro y los bloqueos de reentrada?
  20. · ¿El principio de realización del grupo de subprocesos ThreadPoolExecutor?

Cinco, uso de Linux y análisis de problemas y resolución de problemas.

  1. · ¿Usa dos comandos para crear un archivo?
  2. · ¿Cuál es la diferencia entre un enlace físico y un enlace flexible?
  3. · ¿Cuáles son los comandos de Linux más utilizados?
  4. · ¿Cómo ver el consumo de recursos de un hilo de Java?
  5. · ¿Cuáles son las posibilidades de una carga demasiado alta?
  6. · ¿Qué hace el archivo / etc / hosts?
  7. · ¿Cómo reemplazar rápidamente todos los "abc" en un texto con "xyz"?
  8. · ¿Cómo buscar el archivo de registro para encontrar el registro de errores?
  9. · Descubrió que el espacio en disco no es suficiente, ¿cómo encontrar rápidamente el archivo que ocupa el mayor espacio?
  10. · Solución de problemas del servidor Java (OOM, CPU alta, carga alta, conflictos de clases)
  11. · Herramientas de resolución de problemas y uso de Java (top, iostat, vmstat, sar, tcpdump, jvisualvm, jmap, jconsole)
  12. · Cómo analizar el archivo de volcado de subprocesos (ejecutable, bloqueo, pila de códigos, correlación de ID de subproceso del sistema operativo)
  13. · ¿Cómo ver la información de los hilos de las aplicaciones Java?

Seis, uso del marco

  1. · Describe los tres estados de hibernación.
  2. · Ciclo de vida del frijol en primavera.
  3. · Procesamiento de solicitudes de proceso SpringMVC o Struts.
  4. · ¿Qué problema resuelve Spring AOP? ¿Como paso?
  5. · ¿Cuál es la propiedad de propagación de la transacción Spring? ¿Qué afectará?
  6. · ¿Cuál es la diferencia entre BeanFactory y FactoryBean en Spring?
  7. · ¿Cuál es el principio de la COI en el marco de Spring?
  8. · ¿Cuáles son las formas de inyección de dependencia en primavera?
  9. · Flujo de trabajo de Struts
  10. · ¿Cómo implementar un aspecto con Spring?
  11. · ¿Cómo implementa Spring las transacciones de la base de datos?
  12. · Uso de cachés primarios y secundarios de Hibernate, comprensión de carga diferida;
  13. · ¿Cómo realiza mybatis el envío de lotes?

Siete, relacionado con la base de datos

  1. · ¿Cuáles son las características de MySQL InnoDB y Mysaim?
  2. · ¿Cuál es la diferencia entre bloqueo optimista y bloqueo pesimista?
  3. · ¿Cuál es el nivel de aislamiento de la base de datos? cual es el efecto?
  4. · El principio básico de la sincronización maestro-esclavo de MySQL.
  5. · Seleccione * de la tabla t donde tamaño> 10 agrupe por tamaño orden por tamaño orden de ejecución de instrucción SQL?
  6. · Cómo optimizar el rendimiento de la base de datos (índice, subtabla de subbase de datos, operación por lotes, algoritmo de paginación, actualización de SSD del disco duro, optimización comercial, implementación maestro-esclavo)
  7. · SQL bajo qué circunstancias no usará el índice (excluir, no igual a, función)
  8. · En qué campo se indexa generalmente (el campo con la mayor cantidad de datos filtrados)
  9. · ¿Cómo encontrar todas las filas cuyo campo de nombre no contiene "XYZ" de una tabla?
  10. · MySQL, implementación de índice B +, implementación de bloqueo de filas, optimización de SQL
  11. · Redis, RDB y AOF, cómo hacer alta disponibilidad, clúster
  12. · Cómo resolver el problema de alta concurrencia y reducción de inventario
  13. · Mecanismo de implementación de índices en motor de almacenamiento mysql;
  14. · Varias granularidades de transacciones de bases de datos;
  15. · Cerraduras de fila, cerraduras de mesa; cerraduras optimistas, cerraduras pesimistas

Ocho, protocolo de red y programación de red.

  1. · El proceso de TCP para establecer una conexión.
  2. · El proceso de desconexión de TCP.
  3. · ¿La lógica detrás del salto 302 del navegador?
  4. · El proceso interactivo del protocolo HTTP. ¿Cuál es la diferencia entre HTTP y HTTPS y cómo interactúa SSL?
  5. · ¿Cuál es la relación entre Rest y Http? Todo el mundo dice que Rest es muy ligero, ¿cómo entiendes el estilo de Rest?
  6. · ¿Cuál es el uso del protocolo de ventana deslizante de TCP? Habla sobre el principio.
  7. · ¿Cuáles son los métodos del protocolo HTTP?
  8. · ¿Cuál es la diferencia entre un conmutador y un enrutador?
  9. · ¿El proceso básico de interacción Socket?
  10. · Protocolo (estructura del mensaje, transmisión reanudable, descarga multiproceso, qué es una conexión larga)
  11. · Protocolo tcp (proceso de establecimiento de conexión, inicio lento, ventana deslizante, modelo de siete capas)
  12. · Protocolo de servicio web (formato wsdl / soap, la diferencia con el protocolo de descanso)
  13. · Los beneficios de NIO, modelo de subprocesamiento de Netty, lo que es copia cero

Nueve, Redis y otros sistemas de almacenamiento en caché / middleware / NoSQL / Hash consistente, etc.

  1. · Enumere un modelo de concurrencia de cliente de Redis de uso común.
  2. · ¿Cómo implementa HBase la consulta difusa?
  3. · Enumerar un middleware de mensajes de uso común, ¿cómo realizar el orden si se va a conservar el mensaje?
  4. · ¿Cómo implementar un Hashtable? ¿Cómo considera su diseño los conflictos de Hash? ¿Cómo optimizar?
  5. · Caché distribuido, hash consistente
  6. · Algoritmo LRU, asignación de bloques, cómo reducir la fragmentación de la memoria
  7. · Cómo resolver el problema del almacenamiento en caché de puntos de acceso de una sola máquina
  8. · ¿Qué es un filtro Bloom y su principio de realización? ¿Qué significa falso positivo?
  9. · La diferencia entre memcache y redis
  10. · ¿Cuáles son las funciones del cuidador del zoológico y cómo se realiza el algoritmo de elección?
  11. · Proceso de mapa / reducción, cómo usar mapa / reducción para lograr estadísticas conjuntas de dos fuentes de datos

10. Patrones de diseño y refactorización

  1. · ¿Puede dar ejemplos de algunos patrones de diseño comunes?
  2. · ¿Qué principios seguirá al diseñar un paquete de fábrica?
  3. · ¿Puede enumerar un proyecto / biblioteca de código abierto que utilice el modelo de visitante / decorador?
  4. · ¿Cuáles son sus patrones de diseño más utilizados al codificar? ¿En qué escenario se utiliza?
  5. · ¿Cómo implementar un singleton?
  6. · Modo de agente (agente dinámico)
  7. · Modo singleton (modo de hombre perezoso, modo de hombre malo, cómo resolver la inicialización concurrente, el uso de volátiles y de bloqueo)
  8. · ¿Cuáles son los patrones de diseño en el código fuente de JDK que te impresionan? ¿Echa un vistazo a un ejemplo?

Once: Microservicios

1. ¿Qué es un microservicio?

2. Cómo comunicarse de forma independiente entre microservicios

3. ¿Cuáles son las diferencias entre springCloud y dubbo?

4. Springboot y springcloud, ¿podría hablar sobre su comprensión de ellos?

5. ¿Qué es un disyuntor de microservicio? ¿Qué es la degradación del servicio?

6. ¿Cuáles son las ventajas y desventajas de los microservicios? Hable sobre los pozos que encontró en el desarrollo del proyecto.

7. ¿Cuáles son las pilas de tecnología de microservicios que conoce? Por favor enumere uno o dos

8. Tanto eureka como zookeeper pueden proporcionar funciones de registro y descubrimiento de servicios, por favor díganos la diferencia entre los dos.

Creo que puede haber experimentado estos:

He estado trabajando durante dos o tres años, y cada proyecto trabajará horas extras y hará todo lo posible para completar, pero el aumento de salario no es satisfactorio.

Escuché que el viejo colega que se fue después del año nuevo acaba de recibir una oferta bien pagada, y el salario anual fue directo a 500.000.

Dado que la empresa actual no tiene acceso a nuevas tecnologías y está extremadamente preocupada por su propia competitividad en el mercado, ¿cómo se tomará la futura trayectoria profesional?

En este crudo invierno, finalmente comprendes que hay pocas oportunidades de trabajo ahora, y es difícil tener un gran aumento en el salario. El salario anual de los ingenieros de Java está determinado por las habilidades. Es hora de mejorar las habilidades y planificar el desarrollo profesional futuro caminos por adelantado.

Como ingeniero de Java, ya está muy ocupado con su trabajo. ¿Cómo puede avanzar y crecer rápidamente?

Comparta algunas de las experiencias de las personas que han venido aquí para su referencia.

Una vez que se convierta en un ingeniero de Java, estará destinado a aprender de por vida.

¿Qué te motiva a seguir aprendiendo? Enumero tres puntos:

1. Siga agregando valor a sí mismo y tenga más opciones

Si comparas la tecnología con un árbol, cada vez que aprendes un idioma, enciendes una fruta en el árbol, cuanto más obtienes, más fruto del árbol tecnológico y mayor es el valor. Cuando los frutos del árbol tecnológico se acumulen hasta cierto nivel, podrá avanzar a la dirección técnica de alto nivel verticalmente y su desarrollo profesional dará un paso adelante.

2. Internet no tiene una zona de confort, y si dejas de moverte, estás retrocediendo.

La tecnología informática se actualiza rápidamente y las nuevas tecnologías están surgiendo en un flujo interminable. Si desea convertirse en un excelente ingeniero de Java, debe estar preparado para aprender en cualquier momento y perseverar para mantenerse al día con el rápido desarrollo de Internet.

3. El aprendizaje es la mejor manera de enfrentar la competencia y sobrevivir a la crisis de la mediana edad.

El ingeniero Java es una profesión muy bien remunerada. Con el rápido desarrollo de Internet en los últimos años, una vez se ha convertido en una profesión popular, por lo que cada vez más personas se involucran en esta profesión. Ingeniero de Java de alto nivel compitiendo por los altos salarios de las empresas de Internet no puedo temer el frío invierno.

En la actualidad, el frío invierno de Internet ha sobrio a mucha gente de Internet. Muchas grandes empresas han despedido empleados y contraído necesidades de contratación, principalmente para los puestos básicos y la ola de gente que hierve ranas en agua tibia. Medio-alto -end Los ingenieros de Java todavía escasean en el mercado.

Preguntas y respuestas de entrevistas de alta frecuencia de Internet Java

Se obtienen las siguientes notas de la entrevista y las respuestas de la entrevista:

Sígueme para agregar VX: MXW5308 puede recibirlo gratis

150 preguntas de la entrevista para la publicación de Java "Meituan": colección + JVM + patrón de diseño + primavera + Redis, etc.

150 preguntas de la entrevista para la publicación de Java "Meituan": colección + JVM + patrón de diseño + primavera + Redis, etc.

Las notas de cepillado de la entrevista anterior y el método de obtención de respuestas de la entrevista:

Sígueme para agregar VX: MXW5308 puede recibirlo gratis

Supongo que te gusta

Origin blog.csdn.net/weixin_45132238/article/details/114264144
Recomendado
Clasificación