Las últimas preguntas 178 de la entrevista de Ali y el resumen del análisis: Taobao + Ant + Alipay + novato

Cada año, el Double 11 es un lugar de ensayo para la nueva tecnología de Ali, y también es un espectáculo anual para los técnicos de Ali.

Como representante típico de la tecnología de Internet nacional, la tecnología de Alibaba siempre ha atraído la atención de todos. Ser capaz de trabajar en Alibaba es el objetivo y el sueño de muchos desarrolladores. Con el fin de ayudar a los desarrolladores a mejorar sus habilidades de entrevista y despejar de manera eficiente las entrevistas de las empresas de Internet de primera línea, visitamos a varios expertos técnicos de Alibaba y a candidatos de Java de Alibaba para refinar Resuma las preguntas reales de la entrevista y entréguelas a todo el mundo.

Vea cuánto puede responder correctamente. Si puede responder el 70% de las preguntas, vaya a Alibaba y a varias empresas de Internet para probar sus habilidades.

Se recomienda que todos recopilen y reserven este artículo ~

[Preguntas de la entrevista de Alipay, Tmall, Ant]

Cubre: código abierto, colección Java, JVM, NIO, Dubbo, spike system, alta concurrencia, distribuido, lock, redis, MySQL, Linux, hashMap, middleware, etc.

  1. Autointroducción y experiencia laboral
  2. Cuáles son las ventajas de la tecnología (Dingding)
  3. Qué middleware se ha utilizado.
  4. No he hecho un motor de flujo de trabajo.
  5. La implementación subyacente de NIO.
  6. Conceptos básicos de JVM (debe preguntar), principio de JVM GC, cómo recuperar memoria por JVM.
  7. Principio de Thread Pool (Tmall, Ant)
  8. Mecanismo de bloqueo arriba / abajo (Tmall, Ant)
  9. Principio de Dubbo, problemas relacionados con la serialización.
  10. ¿Cómo Dubbo realiza múltiples llamadas simultáneamente con un enlace?
  11. Consistencia de transacciones distribuidas.
  12. Considerando desde el nivel del sistema, desde qué latitudes se distribuyen consideraciones (Tmall)
  13. Cómo realizar los sobres rojos de WeChat.
  14. Análisis de datos masivos.
  15. La diferencia entre la interfaz API y la interfaz SDI (API es una interfaz proporcionada a otros).
  16. Cómo realizar la capa inferior de Hadoop (Tmall)
  17. threadLocal, grupo de subprocesos, hashMap / hashTable / coccurentHashMap, etc. (Tmall)
  18. Diseño de sistema de picos (Tmall)
  19. Máquina virtual, puntos de conocimiento relacionados con IO (Tmall)
  20. Comandos de Linux (Tmall)
  21. Una matriz entera, dado un número, encuentra la suma de dos números en la matriz igual a este número e imprímelo. La complejidad de tiempo que escribí es alta y requiere O (n). (Pequeño)
  22. n enteros, encuentre la suma máxima de m números consecutivos. (Pequeño)
  23. Preste más atención a la tecnología de código abierto (Ant Financial Shanghai)
  24. Se ejecutan 1000 hilos al mismo tiempo, cómo evitar que no se atasque (viaje aéreo)
  25. Problema de consumo concurrente paralelo (viajes aéreos)
  26. Cómo lidiar con puntos de acceso y datos con alta concurrencia (Ant Financial)
  27. Cómo conseguir un puerto disponible en un servidor local
  28. Problemas relacionados con el control de flujo (Ant Financial)
  29. ¿Qué es el TPS de la base de datos y si ha sido probado (Tmall)?
  30. Principios de bloqueo de bases de datos (Ant Financial Service)
  31. Bloqueo distribuido, caché redis, spring aop, diagrama de arquitectura del sistema, características de MySQL (plataforma de información)
  32. ¿Cuáles son las soluciones para la avería de la caché (Tmall)?
  33. Java cómo extraer los principios relevantes del coleccionista (fortuna)
  34. Que son las colecciones de Java y cuales son sus características (plataforma de información)
  35. Escenario, pagar 100.000 personas al mismo tiempo, cómo diseñar un plan de concurrencia, puede asegurar que todos se envíen en 1 minuto, por ejemplo, se propondrá un escenario similar (plataforma de información)

[Preguntas de la entrevista de Alibaba]

Cubre: algoritmo hash consistente, CAP, sesión, grupo de subprocesos, mecanismo de reflexión, protocolo http, máquina virtual Java, sistema distribuido, TCP / IP, OSI, pila, montón, diseño de sistema distribuido, etc.

  1. ¿Cuáles son las tres partes del mecanismo de eventos de Java? Preséntelos por separado.
  2. ¿Por qué utilizar el grupo de subprocesos?
  3. ¿Cuáles son las funciones del grupo de subprocesos?
  4. ¿Cuáles son los diversos grupos de subprocesos comunes y sus respectivos escenarios de uso?
  5. ¿Qué tipos de colas de trabajo están disponibles en los grupos de subprocesos?
  6. ¿Cómo entender la cola ilimitada y la cola limitada?
  7. Varios parámetros importantes y descripciones de procesos en el grupo de subprocesos.
  8. ¿Qué es el mecanismo de reflexión?
  9. Hable sobre el papel del mecanismo de reflexión.
  10. ¿El mecanismo de reflexión tendrá problemas de rendimiento?
  11. ¿Cómo entiendes el protocolo http?
  12. Hable sobre el flujo de trabajo del protocolo http.
  13. ¿Cuáles son los métodos de envío de solicitudes http?
  14. ¿Qué estado representan los 200,302,403,404,500,503 en http?
  15. ¿Cuál es la diferencia entre http get y post?
  16. ¿Cómo entiendes las cookies y la sesión, y cuáles son las diferencias?
  17. ¿Qué es el almacenamiento en caché web? ¿Cuáles son las ventajas?
  18. ¿Qué es https y cómo funciona?
  19. ¿Qué es un servidor proxy http y para qué sirve?
  20. ¿Qué es un host virtual y su principio de implementación?
  21. ¿Qué es la máquina virtual Java y por qué debería usarla?
  22. Hable sobre el ciclo de vida y la arquitectura de la máquina virtual Java.
  23. Habla sobre el área de memoria de Java.
  24. ¿Qué es un sistema distribuido?
  25. ¿Qué aspectos consideraría para los sistemas distribuidos?
  26. ¿Por qué el protocolo TCP / IP no es confiable?
  27. ¿Cuáles son los modelos de siete capas de OSI? ¿Qué modelo de cuatro capas es TCP / IP?
  28. Permítanme hablar sobre el proceso de enlace de tres vías y el proceso de onda de cuatro vías del protocolo TCP.
  29. ¿Por qué TCP es un protocolo de enlace de tres vías para establecer una conexión, pero un protocolo de enlace de cuatro vías para cerrar una conexión? ¿Por qué no puedo conectarme con dos apretones de manos?
  30. ¿Por qué el estado TCP TIME_WAIT necesita esperar 2MSL antes de volver al estado CERRADO?
  31. ¿Qué son los ataques DoS, DDoS, DRDoS? ¿Cómo defender?
  32. Describe la jerarquía de excepciones de Java.
  33. ¿Qué son las excepciones marcadas, las excepciones no marcadas, las excepciones en tiempo de ejecución? Y dar ejemplos para ilustrar.
  34. ¿Se ejecutará el bloque finalmente?
  35. En circunstancias normales, cuando se encuentra una instrucción de retorno en un bloque try o un bloque catch, ¿se ejecutará el bloque de instrucción finalmente antes o después de que el método regrese?
  36. El orden de ejecución de intentar, atrapar y finalmente bloquear.
  37. En la máquina virtual Java, ¿en qué tipos de datos se pueden dividir?
  38. ¿Cómo entender la pila y el montón? ¿Qué hay en el montón? ¿Qué se almacena en la pila?
  39. ¿Por qué distinguir entre montón y pila? ¿No es posible almacenar datos en la pila?
  40. En Java, ¿cuál es el punto de partida de la pila, que también es el punto de partida del programa?
  41. ¿Por qué no poner los tipos básicos en la pila?
  42. ¿Qué hay de pasar valores al pasar parámetros en Java? ¿O pasar por referencia?
  43. ¿Existe un concepto de punteros en Java?
  44. En Java, ¿qué parámetro se usa para establecer el tamaño de la pila?
  45. ¿Cuánto espacio ocupa un objeto Object vacío?
  46. ¿Cuáles son los tipos de tipos de referencia de objeto?
  47. Hable sobre el algoritmo de recolección de basura.
  48. ¿Cómo solucionar el problema de la fragmentación de la memoria?
  49. ¿Cómo resolver el problema de la creación y el reciclaje de objetos al mismo tiempo?
  50. Habla sobre la generación de memoria y el ciclo de vida.
  51. ¿En qué circunstancias desencadenan la recolección de basura?
  52. ¿Cómo elegir un algoritmo de recolección de basura adecuado?
  53. ¿Cuáles son los tres recolectores de basura para JVM?
  54. ¿Existe un límite para el tamaño máximo de almacenamiento dinámico en JVM?
  55. ¿Cómo ajustar la JVM? Cuales son los metodos?
  56. ¿Qué parámetros se utilizan para establecer el tamaño del montón?
  57. ¿Qué recolector de basura se prefiere para el rendimiento? ¿Es el tiempo de respuesta una prioridad?
  58. ¿Cómo entender el problema de la pérdida de memoria? ¿Cuáles son las circunstancias que pueden provocar pérdidas de memoria? ¿Cómo resolver?
  59. Desde la perspectiva de la implementación de sistemas distribuidos, ¿cuáles son las capas?
  60. ¿Cómo solucionar el problema del acceso a los datos en la capa empresarial?
  61. Para resolver la carga del servidor de la base de datos, ¿cómo hacer la distribución de la base de datos?
  62. ¿Cuál es el famoso problema de los generales bizantinos?
  63. Hablar del concepto CAP.
  64. ¿Cómo entender la coherencia fuerte, la coherencia monótona y la coherencia final?
  65. ¿Qué estrategias consideraría para el diseño de sistemas distribuidos?
  66. ¿Cuál es el método de distribución de datos más común?
  67. Hable sobre el algoritmo hash consistente.
  68. ¿Qué son los paxos?
  69. ¿Qué es el mecanismo de arrendamiento?
  70. ¿Cómo entender el algoritmo de selección principal?

[Preguntas de la entrevista de Alibaba con respuestas]

1. ¿Cuáles son los tres motores principales de mysql?

Los motores de mysql más utilizados son InnoDB, MyISAM, Memory y el predeterminado es InnoDB

InnoDB: tablas de disco, transacciones de soporte, bloqueos de nivel de fila de soporte, índice de árbol B +

ps: Ventajas: Tiene buenas características ACID. Es adecuado para tablas con alta concurrencia y más operaciones de actualización. Necesita usar la tabla de transacciones. Tablas que requieren recuperación automática ante desastres.

Desventajas: La eficiencia de lectura y escritura es relativamente baja en comparación con MYISAM. El espacio en disco ocupado es relativamente grande.

4 características principales de mysql + 4 niveles de aislamiento:

MyISAM: tabla de disco, no admite transacciones, admite bloqueos a nivel de tabla, índice de árbol B +

ps: Ventajas: tamaño reducido y velocidad de procesamiento rápida (en relación con InnoDB)

Desventajas: no admite la integridad y la concurrencia de transacciones

MEMORIA (montón): tabla de memoria, no admite transacciones, bloqueos a nivel de tabla, índice hash, no admite Blob, tipos de texto grandes

ps: Ventajas: velocidad rápida, datos temporales

Desventajas: Después de la pérdida, cuando hay poco o ningún impacto negativo en el proyecto en su conjunto.

2. ¿Cuál es el algoritmo hash de redis utilizado?

Redis debe usar un algoritmo hash consistente --- algoritmo MurmurHash3, que tiene la ventaja de una baja tasa de colisión. La versión mejorada de cityhash de Google es también el algoritmo hash usado en redis.

Todos los sistemas de big data convencionales existentes utilizan MurmurHash en sí o mejoran.

3. ¿Por qué nosql es más rápido que sql?

Nosql es una base de datos no relacional, que es rápida porque no necesita cumplir las complejas características de la coherencia de los datos de la base de datos relacional;

SQL es una base de datos relacional con funciones poderosas, pero existen cuellos de botella en la eficiencia.

4. ¿Qué es un índice y por qué nosql no tiene índice? nosql tiene caídas de índice

Los índices se dividen en índices agrupados y no agrupados. Los índices agrupados se ordenan según la ubicación física del almacenamiento de datos, mientras que los índices no agrupados son diferentes; los índices agrupados pueden mejorar la velocidad de recuperación de varias filas y El índice no agrupado es muy rápido para la recuperación de una sola fila.

Índice agrupado: cuando hay una clave principal, se crea un índice agrupado basado en la clave principal; cuando no hay clave principal, se utilizará una columna de índice única y no vacía como clave principal para convertirse en el índice agrupado de esta tabla; si las dos anteriores no se satisfacen, entonces Innodb crea un índice agrupado virtual por sí mismo

Índices no agrupados: los índices no agrupados son índices auxiliares, como índices compuestos, índices de prefijo e índices únicos.

5. ¿Cuál es la diferencia entre el árbol B + y el árbol B?

El nodo no hoja del árbol B almacena el puntero del registro real, y el nodo hoja del árbol B + almacena el puntero del registro real

Los nodos hoja del árbol B + están conectados por punteros, que son adecuados para el intervalo de exploración y la búsqueda secuencial.

[Resumen de la experiencia de la entrevista con Alibaba]

En resumen, las preguntas de la entrevista de las filiales de Alibaba Group se centran principalmente en:

  1. Java avanzado (máquina virtual, hilo concurrente, NIO, etc.).
  2. El enlace de middleware también es imprescindible. Me gusta especialmente preguntar sobre el almacenamiento de datos de Redis, la persistencia, la agrupación en clústeres, etc.
  3. El enfoque del back-end es el dominio de la base de datos MySQL, comenzando con la optimización del rendimiento como índices, consultas lentas de SQL y transacciones largas.
  4. Los proyectos en los que ha trabajado deben ser revisados ​​con anticipación y deben ser solicitados. Desde el diseño, hasta la codificación y posterior implementación, si puede responder rápidamente, puede dejar una buena impresión en el entrevistador.
  5. Las preguntas de la entrevista que suelen acumular más algoritmos están involucradas principalmente en el ámbito del big data.
  6. También se deben preparar proyectos concurrentes como picos, en los que se evaluará su conocimiento técnico de escenarios de alta concurrencia.
  7. Se recomienda seguir sonriendo durante todo el proceso, incluso si encuentra preguntas que no va a responder con franqueza, se recomienda preguntar al entrevistador con humildad después de la entrevista (dejar una buena impresión de aprendizaje).

Las preguntas anteriores son las últimas 178 preguntas de la entrevista desarrolladas por el Departamento de Java Avanzado de Alibaba. Las preguntas de la entrevista cubren una amplia gama, desde la base técnica hasta la experiencia en proyectos, desde la amplitud técnica hasta la profundidad técnica, y para explorar completamente el nivel de habilidad de los candidatos. Se recomienda que dediques más tiempo a revisar el pasado y a conocer lo nuevo antes de participar en una entrevista con cualquier empresa, para que estés más tranquilo durante el proceso de entrevista y mejore el concepto de conseguir una oferta.

Si lo encuentra útil, por favor, me gusta y apoye, gracias .

Envíe a todo el mundo [ Preguntas y respuestas obligatorias avanzadas de Java de Ali ] como referencia

 

Los amigos que necesitan obtener el resumen de la entrevista anterior se muestran en la siguiente imagen:

 

Supongo que te gusta

Origin blog.csdn.net/bjmsb/article/details/109296553
Recomendado
Clasificación