Resumen e intercambio de preguntas de la entrevista de JAVA para Alibaba, Baidu y muchas grandes empresas

¡Presta atención, no te pierdas! Si este artículo es útil para ti, ¡no olvides dar me gusta y apoyar!

He entrevistado a casi diez empresas y he recibido algunas ofertas. Ahora que la entrevista ha terminado, resumiré brevemente mi experiencia en la entrevista.

Mi dirección principal ahora es el desarrollo del lado del servidor de Java. Compartiré con ustedes los problemas que he encontrado y también hablaré sobre cómo el personal técnico puede mejorarse a sí mismo de una manera específica.

Problemas encontrados en la entrevista

Baidu

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

Baidu se ha entrevistado dos veces, a saber, Baidu Nuomi y la División de Finanzas. En la actualidad, Baidu solo tiene puestos de contratación en estos dos departamentos que me corresponden. Las entrevistas son todas en la nueva sede de Baidu en Xierqi. El parque aún está en construcción y está lejos del metro, por lo que se requiere un taxi.

El entrevistador trae su propia computadora y se graba todo el proceso de la entrevista. Primero, preguntó en detalle sobre la estructura y el contenido del trabajo de un proyecto de trabajo reciente. La entrevista se expandió principalmente en torno a los componentes y la tecnología de middleware utilizados en el trabajo para examinar el grado de dominio.

Estructura de archivos del almacenamiento MySQL InnoDB

¿Cómo se mantiene el árbol de índices?

Posibles problemas con la clave principal de incremento automático de la base de datos

Cómo resolver el problema de la competencia concurrente en Redis

Conozca la operación CAS de la transacción de Redis

Analizar el principio de realización del grupo de subprocesos y el proceso de programación de subprocesos

Varias formas de proxy dinámico

Implementación de Spring AOP y IOC

¿Por qué CGlib puede implementar proxy para interfaces? Modo RMI y proxy

Principio y mecanismo de implementación subyacente de Dubbo

Describir el proceso detallado de un servicio desde que se publica hasta que se consume

En términos de algoritmo, se examinó un simple problema de deduplicación in situ de una matriz y se implementó descartando los elementos de cola de la matriz.

La entrevista de Baidu Finance se concertó el sábado. Por un lado, el entrevistador fue muy bueno y tenía una actitud seria. Algunas preguntas no tenían ideas y te daban consejos. La comunicación fue buena. Por
otro lado, me dijeron que no tenía antecedentes de pago financiero, pero trabajé menos de dos años. Para los recién llegados, creo que la razón principal para ser aprobados debería ser que tienen relativamente poca experiencia laboral y una educación pobre.

Preguntas en la entrevista:

Cómo hacer gobernanza de servicios en sistemas distribuidos

El concepto de idempotencia de interfaz

Cómo resolver conflictos de versiones en Maven

Mecanismo de recolección de basura JVM, cuándo activar MinorGC y otras operaciones

La estrategia de recuperación de la memoria de las generaciones jóvenes y mayores

La distribución proporcional de Eden y Survivor, etc.

La diferencia entre Synchronized y Lock

Dos entrevistas, creo que el proceso de Baidu es relativamente estricto y los entrevistadores son bastante buenos, simples y confiables

Alibaba

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

La entrevista de Ali se organizó muy rápidamente, y esta vez se detuvo de dos maneras: ambas rondas de entrevistas fueron todas llamadas telefónicas. Escuché de amigos que Ali tiene cinco rondas de entrevistas, cuatro rondas de técnicos y una ronda de RR.HH. Las entrevistas técnicas son entrevistas cruzadas de varios colegas del departamento, y también he aprendido.

Por un lado, todavía se centra en la arquitectura del proyecto, la base de Java, la JVM, la programación concurrente, las operaciones de bases de datos, la tecnología de middleware y el marco de gobierno de servicios de Dubbo. Puede deberse al departamento de seguridad en la nube, la mitad del tiempo investiga la JVM y algunas preguntas sobre la optimización de la compilación. Después de completar el conocimiento, los dos lados se organizaron poco después de completar el primer lado. Por otro lado, los problemas del segundo lado eran más profundos, los problemas eran más completos y se prestó más atención a la comprensión y comprensión de algunos detalles técnicos.

Por ejemplo, para las operaciones de la base de datos, el entrevistador le preguntará en detalle cómo se realiza el proceso de insertar y eliminar un dato en la base de datos en la parte inferior. El proyecto está configurado con separación de lectura y escritura, y también discutirá el método de implementación y la lógica subyacente con más profundidad.


Espero que sea de ayuda para todos. Si es útil, ¡por favor bríndeme su apoyo!

Los aspectos destacados de la entrevista de Alibaba 2020 anteriores están organizados en notas de documentos. También hemos recopilado información sobre la entrevista y algunos de los fabricantes de la última colección 2020 de la entrevista Zhenti (ambos documentan una pequeña parte de la captura de pantalla), es necesario hacer clic para ingresar la señal: CSDN .

Algunos problemas que vale la pena registrar:

Generación de memoria JVM,

Mejoras en la generación de memoria de Java 8

Análisis en profundidad de Classloader, mecanismo de delegación de padres

Optimización de la compilación de JVM

Comprensión del modelo de memoria Java y su aplicación en concurrencia

Reordenamiento de instrucciones, barreras de memoria, etc.

Concurrencia de HashMap

Conoce la aplicación de LinkedHashMap

Qué patrones de diseño se han encontrado en el trabajo y cómo se aplican

Dado que el reclutamiento social actual de Ali Hangzhou es P6, existe una brecha entre la autoestima y los requisitos laborales. Por otro lado, me comuniqué con el entrevistador por teléfono y no participé en la entrevista posterior.

En las dos entrevistas, Ali me dejó una buena impresión. Todos los entrevistadores eran grandes vacas. El día después de la entrevista, recibí el rechazo y el elogio de Ali por correo electrónico.

La mayoría de los trabajos de Ali están en Hangzhou. Después de la entrevista, presté especial atención al costo de vida allí. En la actualidad, el precio promedio de una casa en Hangzhou es menos de 20.000. En comparación con el precio de la vivienda en algunos condados y ciudades de Zhejiang, es de más de 20.000. El precio de la vivienda en Hangzhou debería ser relativamente normal.

Si obtiene altos salarios de varias empresas de Internet como Alibaba y NetEase, comprar una casa y la vida es mucho más fácil que en Beijing, y decide decididamente conformarse por un período de tiempo. Dos años después, P7 volverá a pelear.

Youku Tudou

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

Las entrevistas de Youku son de dos a uno, con dos entrevistadores en cada ronda. Un lado es relativamente fluido, principalmente conceptos básicos de Java, principios de Spring, JavaNIO, marcos de concurrencia y colección, etc. Puede deberse al sitio web de videos. Youku tiene mucho conocimiento sobre los principios de red. , Como el protocolo TCP / IP, conexión larga y conexión corta, etc.

Por un lado, mencioné que podría aprender sobre big data y aprendizaje automático en la segunda mitad del año. Por otro lado, tropecé con esto y hice muchas preguntas sobre datos masivos.

Protocolo TCP / IP

Conexiones largas y cortas

mapreduce proceso

Complejidad temporal de la combinación múltiple

Problema masivo de deduplicación de URL

Uso de Java NIO

El principio del índice invertido

Comprensión de la tecnología de segmentación de palabras.

En la entrevista, se brindó un escenario específico para examinar la comprensión del proceso MapReduce, como cómo se realizan la fase Mapa y la fase Reducir. El entrevistador de la fase Reducir espera analizar la complejidad temporal de una fusión multicanal, y el conocimiento de la clasificación externa es simple Después de analizarlo, la respuesta no fue muy buena.

Después de regresar, busqué la optimización del árbol de ganadores y el árbol de perdedores, y descubrí que había bastante contenido adentro, y me di cuenta de que algunos puntos de conocimiento son difíciles de comprender si no son lo suficientemente completos y profundos.

Noticias de Sohu

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

El tiempo de espera de la entrevista de Sohu es relativamente largo.

Hice una prueba escrita. Por un lado, era un entrevistador de mi edad. Hice algunas preguntas básicas sobre el examen escrito y el currículum. La charla fue bastante especulativa. Por otro lado, el gerente técnico estaba más inclinado a la aplicación de arquitectura y middleware, e hizo preguntas sobre el proyecto. El problema del uso de middleware como el gobierno de servicios y las colas de mensajes,

Cómo el middleware de mensajes resuelve el problema de la pérdida de mensajes

Cómo lidiar con la falla de la solicitud de servicio Dubbo

¿El mecanismo de reconexión causará errores?

Comprensión de las transacciones distribuidas

Análisis en profundidad de varios patrones de diseño

Al final de la entrevista, hice una pregunta sobre cómo convertir una cadena de longitud variable en una cadena de longitud fija. Acabo de entrevistar a Youku. Esta simple pregunta fue complicada para mí. No entendí el punto del entrevistador, considerando la singularidad, el desempeño, etc. Mucho.

También les recuerdo a todos que deben permanecer despiertos durante la entrevista y no tener una mentalidad fija. A menos que sea un puesto de I + D de bajo nivel, no es particularmente difícil para el reclutamiento social investigar el algoritmo, y puede resolverlo con el pensamiento normal.

otro

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

Cabe mencionar que el proceso de entrevista de una startup es muy sencillo y grosero.

Sin auto-presentación, el entrevistador hizo una pregunta de programación de múltiples hilos en la pizarra después de leer el currículum, pasó el MAC y comenzó a codificar. Después de terminar de escribir, dije que el tema tenía poca importancia. Le pregunté a Redis y pedí implementar un LRUCache en quince minutos. Luego escribí el código en el acto nuevamente.

A la mitad de la redacción, el entrevistador interrumpió al ver que no había ningún problema y le preguntó qué quería saber sobre la empresa. Después de un tiempo, volvería. Me acaban de aprobar. La startup es realmente eficiente (aquí / cara de perro).

Manténgase despierto durante la entrevista. Por ejemplo, cuando se le pregunta acerca de la búsqueda de 100.000 segmentos IP, la primera es una pregunta de búsqueda típica. Una vez que sepa esto, puede elegir implementaciones de algoritmos relevantes, como la búsqueda binaria y el árbol de búsqueda binaria. Espere.

Se recomienda dibujar y expresar.

La estructura de los proyectos que se han realizado, el diseño y realización de varios frameworks y middleware se pueden explicar bien mediante dibujos. Puedes llevar papel y bolígrafo contigo. La entrevista es un buen proceso de aprendizaje, y algunas preguntas también se pueden grabar. Baja.

En términos generales, el proceso de entrevista es similar a un algoritmo de orientación. Si se menciona un cierto punto de interés del entrevistador en el proceso de comunicación, comenzará en este punto y luego seguirá haciendo preguntas hasta que no pueda responderlo o sea particularmente hábil en este campo. Mata al entrevistador directamente para que pase una ruta y luego cambia a la siguiente ruta.

Cómo los programadores mejoran sus habilidades

En comparación con los programadores, prefiero el nombre Siege Lion. Los programadores han sido etiquetados con varias etiquetas a los ojos de personas que no conocen la industria, como varias casas y bordes sin cortar. De hecho, escribir código es realmente de alta gama. ¿Es buena la nota?

Todavía se habla de cómo mejorar el nivel técnico de Gong (cheng) Cheng (xu) Lion (yuan) e ingresar a la empresa objetivo.

En términos generales, las principales empresas de Internet están utilizando tecnologías relativamente maduras y populares en la industria. La forma más fácil es observar los requisitos de contratación. Aunque se sospecha que las descripciones de puestos de la mayoría de las empresas son plagio, compare algunas contrataciones más. Todavía es posible comprender la dirección tecnológica de las principales empresas de Internet.

Tomemos el conocido desarrollo empresarial del lado del servidor de Java para ilustrarlo, y encontremos algunas contrataciones en el gancho:

Departamentos comerciales principales de Baidu:

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

Alibaba:

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

División hotelera de Meituan:

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

Al tratarse de una contratación social, es necesaria cierta cantidad de experiencia laboral, más de tres años es lo mejor, y también se refleja en los JD anteriores. Así que si quieres acudir a una gran empresa, asesora personalmente, acumula 2-3 años de experiencia en una pequeña empresa y empieza a cambiar de trabajo.

Sugerir

1. Los conocimientos básicos deben ser sólidos, incluyendo la base del lenguaje, la base informática, el algoritmo y la operación y mantenimiento básicos de Linux. Para
el lenguaje Java, es necesario lidiar con clases de colección, paquetes concurrentes, IO / NIO, JVM, modelo de memoria, genéricos, excepciones y reflexión. Tenga una comprensión más profunda, lo mejor es haber aprendido parte del código fuente.

Estos puntos de conocimiento están interconectados y también pueden reflejarse en entrevistas. Por ejemplo, la colección de HashMap, desde el punto de vista del código fuente, puede profundizar en la realización de la tabla hash, el método para resolver colisiones hash además del método de la cremallera y cómo equilibrar la garantía de la matriz interna El rendimiento de la tabla hash no disminuirá, etc .;

Desde la perspectiva de la seguridad de subprocesos, puede extenderse a otras estructuras de datos como HashTable, ConcurrentHashMap, etc. Puede comparar dos métodos de bloqueo diferentes, la implementación y aplicación de RetreenLock, y continuar investigando el modelo de memoria Java, primitivas Volitale, vallas de memoria, etc .;

La expansión horizontal puede examinar estructuras de mapas ordenadas como TreeMap, LinkedHashMap, y luego examinar el conocimiento de árboles rojo-negro, cachés LRU y ordenación HashMap.

Los puestos intermedios y superiores en la dirección de Java prestarán más atención al dominio de las máquinas virtuales, como el mecanismo de carga de clases, el modelo de memoria, etc., que son muy importantes en la optimización de programas y la programación concurrente.

En términos de algoritmos, algoritmos básicos de clasificación y búsqueda, dominio de ideas como la recursividad, divide y vencerás. Si la base del algoritmo no es muy buena, recomiende "Programming Pearls", etc., cada capítulo es muy clásico.

Además, también es necesario el conocimiento de conceptos básicos de computación, como el protocolo TCP / IP y el sistema operativo, cursos básicos para los estudiantes universitarios de computación y cualidades básicas para el desarrollo.

2. Patrones de diseño, capacidad para crear ruedas, diversas aplicaciones de almacenamiento en caché y bases de datos, almacenamiento en caché, tecnología de middleware, diseño de sistemas distribuidos de alta concurrencia y alta disponibilidad.
Las grandes empresas de Internet se enfrentan a una gran cantidad de solicitudes todos los días y examinarán el sistema distribuido Arquitectura y diseño, cómo construir un sistema de alta concurrencia y alta disponibilidad, y debido a que la base de usuarios es relativamente grande, una optimización sutil puede traer grandes beneficios, por lo que el dominio de algunos requisitos de pila de tecnología es relativamente profundo.

Por ejemplo, para la base de datos MySQL, necesita conocer la configuración y la optimización relevantes, cómo dividir la base de datos y las tablas después de que surja el negocio y cómo configurar la caché de manera razonable. Un desarrollador de servidores experimentado también debe ser un DBA competente.

Debe tener una cierta comprensión de los componentes de desarrollo de uso común, como middleware, framework RPC, etc. Aunque no usemos nuestras propias ruedas en nuestro trabajo, seremos útiles si dominamos los principios.

Esta parte del conocimiento se basa principalmente en la acumulación de trabajo. Recomiendo "Arquitectura técnica de sitios web a gran escala y práctica de middleware Java", así como "Arquitectura y práctica de sistemas de sitios web a gran escala" de Zeng Xianjie, que cubre la evolución de sitios web a gran escala, la gobernanza de servicios y el uso de middleware. Explicación muy detallada.

Como desarrollador de negocios, es necesario comprender los indicadores relacionados con las pruebas de estrés, como QPS, tiempo promedio de espera del usuario, etc., que pueden ayudarlo a comprender mejor su sistema.

3. Indicadores blandos, que incluyen aprendizaje rápido, buenas habilidades de comunicación y comprensión de industrias relacionadas.

Las ferias de empleo de las empresas valoran la capacidad de aprendizaje de una persona, si vale la pena capacitarse, y el salario de los graduados contratados por muchas empresas estará al revés para los empleados antiguos que han trabajado durante muchos años.

Los hábitos de comunicación y las habilidades de análisis lógico son poderes blandos, que son difíciles de mejorar en un corto período de tiempo y requieren un desarrollo a largo plazo e inversión continua.

Muchas empresas también valoran su industria y, aunque está haciendo negocios, también es importante comprender el producto y la industria.

Por ejemplo, para puestos en compañías financieras de Internet, si tiene experiencia en el desarrollo de sistemas bancarios y de pagos, definitivamente obtendrá puntos, lo cual está relacionado con la planificación a largo plazo de todos.

 

Registros de entrevistas de Java y resumen de empresas como Ali y Baidu

Una vez que tenga una dirección, el siguiente paso es cómo mejorar y hablar sobre sus propios sentimientos.

En muchos casos, a menos que el contenido de su trabajo sea lidiar con escenarios como alta concurrencia y una gran cantidad de usuarios, en realidad es difícil mejorar mediante horas extras o trabajo repetitivo.

La forma más directa para que el personal técnico mejore es saltar y examinarse a sí mismo fuera del trabajo, como leer libros técnicos extensamente, ir a foros para comunicarse con varios talentos, comprender las pilas de tecnología de las principales empresas de Internet y aprender y aprender de manera específica. Al entendimiento.

Al mismo tiempo, también puede comprender correctamente algunos conocimientos de producto o diseño, y usar un poco para mostrar la superficie. Los talentos compuestos son definitivamente más populares. Cuando se trata de entrevistas, debe mostrar su lado habitual, como salir con una chica.

El código cambia el mundo, y si quieres convertirte en un gran hombre del mañana, la carga para los programadores es muy pesada.

 

¡Este es el final de este artículo sobre!

¡Presta atención, no te pierdas! Si este artículo es útil para ti, ¡no olvides dar me gusta y apoyar!

 

Las respuestas a las preguntas de la entrevista anteriores están organizadas en notas de documentos. También hemos recopilado información sobre la entrevista y algunos de los fabricantes de la última colección 2020 de la entrevista Zhenti (ambos documentan una pequeña parte de la captura de pantalla), es necesario hacer clic para ingresar la señal: CSDN .

Espero que sea de ayuda para todos. Si es útil, ¡por favor bríndeme su apoyo!

Supongo que te gusta

Origin blog.csdn.net/SQY0809/article/details/108578603
Recomendado
Clasificación