En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Tabla de contenido

Lado técnico (23 preguntas)

Técnica de dos lados (3 bloques grandes)

Optimización del rendimiento (21 puntos)

Proyecto de combate real (34 bloques)

Punto de inspección de tecnología de dirección JAVA (15 puntos)

Preguntas que se pueden hacer en la entrevista técnica de desarrollo de JAVA (17 preguntas)

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Entrevista técnica de Ali 1

  • 1.¿La estructura jerárquica del flujo de IO de Java?
  • 2. Indíquenos los tipos de excepción que se utilizan habitualmente.
  • 3. ¿Cuál es el nombre completo de SKU y la diferencia y relación entre SKU y SPU?
  • 4. Después de usar FileInputStream, sin cerrar la secuencia, ¿qué puedo hacer si quiero volver a usarlo?
  • 5. ¿Diseñar un sistema de inicio de sesión distribuido?
  • 6. ¿Proceso de carga por resorte?
  • 7. ¿Ha escrito alguna vez transacciones AOP como Spring?
  • 8. ¿Cuál es el azúcar sintáctico de try ... catch para cerrar la secuencia en Java?
  • 9. ¿Cómo diseñar un sistema de picos? ¿Qué considerar?
  • 10. ¿Se ha encontrado con un GC en línea? ¿Cuáles son los síntomas y cómo solucionarlo?
  • 11Proceso de carga del resorte?
  • 12. ¿Cuál es la diferencia entre atómico y volátil?
  • 13. ¿Cuál es la diferencia entre notificar () y notificar a todos () de Thread?
  • 14. ¿Qué subproceso se notifiy () despertado?
  • 15. ¿Es necesario que Thread.sleep () vuelva a competir después de despertarse?
  • 16. ¿Cuántas formas hay de escribir singleton? ¿Cuáles son las diferencias? ¿Qué singleton usa con frecuencia y por qué lo usa?
  • 17.¿Hacer una pregunta relacionada con Thread.join ()?
  • 18. ¿Cómo diseñar un modelo de datos para el sistema de módulos relacionados con los productos básicos?
  • 19. ¿Escribe un ejemplo de interbloqueo de JAVA?
  • 20. ¿Cómo solucionar el estancamiento?
  • 21. ¿Algoritmo de recuperación de GC y principio de implementación?
  • 22. ¿Estructura de almacenamiento de datos HashMap? ¿Qué debo hacer si se repite la clave? ¿Cómo solucionarlo?
  • 23. El principio de realización de Spring AOP, ¿cuál es la realización subyacente?

Entrevista técnica de Ali 2

La entrevista telefónica examina principalmente 3 piezas de contenido:

Conocimientos básicos de Java, el principio de marco de código abierto, JVM, multiproceso, alta concurrencia, middleware, etc .;

Experiencia previa en proyectos, la tecnología utilizada, los problemas encontrados, cómo resolverlos, cuáles son las ganancias y el crecimiento personal;

Pasión por la tecnología (ya sea que lea habitualmente algunos libros técnicos, visite foros, escriba blogs, escriba código fuente o programas, etc.);

¿Preguntas que se pueden hacer en la entrevista técnica de desarrollo de JAVA?

Nuestra principal evaluación es el big data de alta concurrencia de la base de datos distribuida de la red nio

¿Implementación de tablas personalizadas?

¿Diseño de formulario dinámico?

¿Cómo sintonizar in-jvm (obligatorio) y el modelo de caché de jmm?

Marco RPC de uso común

nio sum io

Programación concurrente, patrón de diseño

Componente de mapa?

¿Qué vulnerabilidades en hashmap harán que se ralentice?

¿Cómo diseñar un código hash para el objeto clave del mapa hash?

Comodines genéricos, ¿en qué circunstancias?

Aspecto de back-end: ¿redis? ¿Marco distribuido dubbo (marco de código abierto de Alibaba)? ¿Patrón de diseño?

Pregunta de escenario: seckill, ¿puede enumerar el impacto de las colas comunes, los códigos de verificación y los métodos de deducción de inventario en la alta concurrencia del sistema?

Puede crear una estructura de caché de acuerdo con las necesidades reales para mejorar la velocidad de acceso al sitio web, usar ehcache, oscache y comprender Memcache de manera competente.

Comprenda el equilibrio de carga basado en el sondeo dns y sea competente en la configuración de servidores web para lograr el equilibrio de carga. El nivel de programa puede utilizar de manera integral métodos basados ​​en hash o en módulos para lograr una carga suave.

Familiarizado con el diseño de bases de datos distribuidas y la tecnología de optimización, familiarizado con las bases de datos convencionales como mysql, oracle y SqlServer, familiarizado con hadoop hbase mangodb redis ehcache, oscache memcache. Para el procesamiento de bases de datos con una gran cantidad de datos, se utilizan métodos como la subbase de datos de la tabla, la separación de lectura y escritura de la base de datos y el establecimiento de caché para optimizar el rendimiento.

Familiarizado con Lucene, puede desarrollar grandes motores de búsqueda basados ​​en Lucene y puede usar Lucene para mejorar y optimizar consultas de bases de datos.

Punto de inspección técnica de dirección JAVA (Suplemento):

  • Dominar el lenguaje de programación Java, incluido el uso de io / nio / socket / multi threads / collection / concurrency y otras funciones;
  • Familiarizado con el modelo de memoria jvm (sun hotspot e ibm j9), ajuste de recolección de basura gc y otras habilidades;
  • Competente en arquitectura JVM, JMM, MVC y competente en el uso de struts2.
  • Competencia en el uso de muelles, puntales, ibatis para construir sistemas de aplicación.
  • Familiarizado con tecnologías front-end como Servlet, jsp y freemark.
  • Competencia en el uso de axis para crear una interfaz de servicio WebService basada en el protocolo SOAP.
  • Competencia en el uso de MAVEN para construir ingeniería de proyectos.
  • Competencia en el uso de servicios web como tomcat.
  • Familiarizado con mysql y otras bases de datos relacionales, familiarizado con la construcción de clústeres de mysql.
  • Competente en el uso de tecnologías NOSQL como redis.
  • Familiarizado con los protocolos tcp y http.
  • Familiarizado con nginx, haproxy y otras configuraciones.
  • Familiarizado con javascript, ajax y otras tecnologías.
  • Familiarizado con el sistema de archivos distribuido principal FastDFS, etc.
  • Familiarizado con JMS, puede utilizar ActiveMQ con soltura.

Se requiere que el líder en tecnología Java sea capaz de saber cuál es el proyecto en sí, no solo tiene habilidades técnicas profundas, sino que también tiene capacidades comerciales sólidas, tiene una buena idea y sentido comercial, y está lleno de interés y deseo por la tecnología. Don No le pida a un entrevistador que responda una pregunta. Uno, con una expresión aburrida que no puede ver ninguno de sus propios pensamientos en absoluto.

Describe cada proyecto que hiciste en la entrevista: ¿Qué hiciste? ¿Qué problemas resolviste con estas tareas? ¿Qué dificultades quedan sin resolver? ¿Cómo optimizar estas dificultades en el futuro? ¿Qué funciones se pueden lograr después de la optimización? ¿Cómo se relacionan estas funciones con el middleware y los sistemas paralelos distribuidos? ? Método de transmisión de mensajes de dirección de middleware de Java conexión larga mq conexión corta

¿Cuáles son las optimizaciones para la máquina virtual Java?

La computadora subyacente comprende el sistema de administración de memoria / minería de datos

Cómo entender la confiabilidad y la disponibilidad ~

Comparación de jsp y sever lap

Base de datos a interfaz, conversión de juego de caracteres

Pila base

Cómo analizar y monitorear la optimización de jvm cuando la taza está alta

java curb destaca detalles

Cómo distribuir documentos en caché distribuida

Partición vertical de la base de datos de migración

Cómo lidiar con la capa de aplicación de front-end de alta concurrencia

Equilibrio de carga de diseño LB

Balanceo de carga

Anti-ataque cibernético

Notificación después de la supervisión de eventos de registro de datos

El mecanismo subyacente de la realización de transacciones de bases de datos

Ataque cibernético en la entrada de espacio de cadena

El principio subyacente del marco Quartz

Sincronice los datos en la sincronización de la base de datos sin leer directamente el registro a través del motor de la base de datos

El método transversal de árbol binario, pedido anticipado, orden medio, pedido posterior y orden de capas

palabra clave volátil

sincronizado

concurrentHashMap

Bloquear estrategia de optimización

Sistema operativo

Parte del proyecto

El uso de caché, si necesita implementar un caché simple para la solicitud asincrónica ajax en el cuadro de búsqueda, ¿qué estructura se utiliza?

La caché en la memoria no siempre puede existir ¿Qué algoritmo se utiliza para eliminar periódicamente las entradas con pesos de búsqueda más bajos?

¿Cómo garantiza TCP la seguridad?

Problema del árbol rojo-negro, número B +

La mejora de HashMap en JDK1.8, si hay demasiados nodos en un depósito, la estructura de lista vinculada + matriz se convertirá en un árbol rojo-negro.

¿Si el servidor independiente utilizado en el proyecto se implementa como servidor distribuido?

Método de optimización común de MySQL, configurado como consulta lenta

Escribir a mano un patrón singleton seguro para subprocesos

Debes conocer conocimientos al ingresar a Ali:

Arreglos de algoritmos y estructuras de datos, listas enlazadas, árboles binarios, colas, pilas de varias operaciones (rendimiento, escenarios)

Búsqueda binaria y diversas variantes de búsqueda binaria

Varios algoritmos de clasificación y análisis de complejidad (clasificación rápida, fusión, montón)

Varias preguntas algorítmicas (escritas a mano)

Comprender y analizar la complejidad del tiempo y el espacio.

Planificación dinámica (escrita de ida y vuelta ...), codiciosa.

Árbol rojo-negro, árbol AVL, árbol Hash, árbol Tire, árbol B, árbol B +.

Algoritmo gráfico (menos, solo comprenda los dos algoritmos de ruta más corta)

Protocolo de modelo de capa OSI7 de red informática (capa TCP4) para cada capa

El proceso de URL a la página

HTTPhttp / https 1.0、1.1、2.0

get / post e idempotence

Relacionado con el encabezado del protocolo http

Ataques cibernéticos (CSRF, XSS)

Apretón de manos de tres vías TCP / IP, cuatro manos agitadas

Control de congestión (proceso, umbral)

Control de flujo y ventana deslizante

Comparación de TCP y UDP

División en subredes (generalmente solo disponible para pruebas escritas)

Ataque DDos

(B) Los tres principios de IO / NIO / AIO y cómo se implementa cada idioma

Netty

Sondeo de selección de kernel de Linux epoll

Índice de base de datos (principalmente mysql, Nosql tiene redis) (incluidos los métodos de clasificación y optimización, condiciones de falla, estructura subyacente)

sintaxis sql (unirse, unión, subconsulta, tener, agrupar por)

Comparación de motores (InnoDB, MyISAM)

Bloqueos de base de datos (bloqueos de fila, bloqueos de tabla, bloqueos a nivel de página, bloqueos de intención, bloqueos de lectura, bloqueos de escritura, bloqueos pesimistas, bloqueos optimistas y bloqueos SQL seleccionados)

Nivel de aislamiento, los problemas a resolver a su vez (lectura sucia, lectura no repetible, lectura fantasma)

ÁCIDO de la transacción

Árbol B, árbol B +

Optimización (explicar, consultar lento, mostrar perfil)

El paradigma de la base de datos.

Subbase de datos y subtabla, replicación maestro-esclavo, separación de lectura y escritura.

Nosql relacionado (la diferencia entre redis y memcached, si está familiarizado con redis, redis tiene mucho que preguntar)

Sistema operativo: proceso de comunicación IPC (varias formas), diferente de los hilos

Varias estrategias de SO (reemplazo de página, programación de procesos, etc., hay varios algoritmos en cada uno)

Mutex y interbloqueo relacionado

Comandos de uso común de Linux (cuando se me pregunte, daré una escena específica)

Relacionado con el kernel de Linux (select, poll, epoll)

Lenguaje de programación (aquí, solo Java): Después de pasar por mí, Java siente que la cobertura es casi la misma, pero lo siguiente todavía está dividido en categorías.

Conceptos básicos de Java (orientado a objetos, cuatro funciones, sobrecarga y reescritura, estático y final, etc.)

Colección (HashMap, ConcurrentHashMap, varias listas, es mejor mirar el código fuente)

Simultaneidad y subprocesos múltiples (grupo de subprocesos, mecanismo de bloqueo SYNC y bloqueo, comunicación de subprocesos, volátil, ThreadLocal, CyclicBarrier, paquete Atom, CountDownLatch, AQS, principio CAS, etc.)

JVM (modelo de memoria, recolección de basura GC, incluida la generación, algoritmo GC, recopilador, carga de clases y delegación principal, ajuste de JVM, pérdida de memoria y desbordamiento de memoria)

Relacionado con IO / NIO

Reflexión y proxy, excepción, relacionado con Java8, serialización

Modo de diseño (de uso común, algunos en jdk)

Web 相关 (servlet 、 cookie / sesión 、 Spring

Uso del marco y temas de la entrevista

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Respuesta de referencia del marco de código abierto

Temas de la entrevista de primavera

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

respuesta de referencia de primavera

Temas de la entrevista de Spring Boot

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

respuesta de referencia de springboot

Temas de entrevistas de Spring Cloud

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

referencia de springcloud

Temas de la entrevista de Spring MVC

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

respuesta de referencia de springmvc

Temas de entrevistas de programación altamente concurrentes

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Respuesta de referencia de programación de alta concurrencia

Temas de entrevistas de varios subprocesos

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Respuesta de referencia de varios subprocesos

Temas de la entrevista de optimización de MyBatis

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Respuesta de referencia de optimización de MyBatis

Temas de entrevistas de Nginx

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

Temas de entrevistas de Dubbo

En 2020, las últimas preguntas con respuestas de la entrevista del programador Java de Ali lo llevarán al entrevistador

A los amigos que necesiten obtener los documentos del sistema de entrevistas les puede gustar el artículo y seguir al autor, y luego hacer clic aquí para obtener todos los documentos PDF de entrevistas anteriores.

Supongo que te gusta

Origin blog.csdn.net/weixin_47066028/article/details/112603351
Recomendado
Clasificación