Experiencia y experiencia en desarrollo back-end de Meituan

Inserte la descripción de la imagen aquí

1h de un lado

Auto-introducción
Principales lenguajes utilizados: Golang, C ++ o Java
La diferencia entre Golang y C ++ (GC, compilación rápida)
¿Por qué el análisis de dependencias de golang es simple? (De manera similar a la clasificación topológica, cada archivo solo necesita empaquetarse una vez)
¿Cómo administra Golang la memoria? (Caché de subprocesos, busque tcmalloc)
¿Cómo la recuperación de memoria encuentra basura y cómo reciclarla? (Recolección generacional, marca-barrido, etc.)

Mapa de Java

La estructura subyacente (método de cremallera, árbol rojo-negro
al expandirse ) map ¿Cuándo será la expansión? ¿Cuál es el factor de carga?
¿La implementación segura de subprocesos del mapa de Java (bloqueos, bloqueos de segmento, contadores)
tiene problemas de seguridad en sí mismos? El principio de volátil

¿Cómo se bloquea la capa inferior de la cerradura segmentada?

Hay muchas formas de bloquear, ¿entiendes? (No entiendo)
¿Conoce el reordenamiento de instrucciones? (
Canal de CPU a nivel de hardware, nivel de lenguaje Java) ¿Golang tendrá pérdidas de memoria? ¿por qué? ¿Cómo solucionar si ocurre este tipo de problema? (Sí, por ejemplo, continúe solicitando espacio para una herramienta de perfil de matriz)

¿Redis será un problema si la memoria está llena? ¿Entiendes el algoritmo de eliminación de memoria? (LRU, LFU, FIFO, RANDOM)
La idea de realización de LRU (tabla hash + lista doblemente enlazada)
La idea de realización de LFU (tabla hash + múltiples listas doblemente enlazadas, busque directamente el artículo de la cuenta pública labuladong aquí)

¿Cuáles son los estados de los hilos?

Introducción al grupo de subprocesos, escenarios de aplicación (Crear / destruir subprocesos es costoso. Usar el grupo de subprocesos para reutilizar los recursos del subproceso es lo mismo que el grupo de conexiones).
¿Alguna vez ha iniciado sesión en la máquina y leído el registro? awk entiendes? (Este comando se solicita a menudo, el tema común es "Encuentre las 10 direcciones IP más visitadas en los registros de nginx")

Además, he recopilado más de 20 años de puntos de conocimiento de entrevistas de empresas, así como varios puntos de conocimiento básicos de Java para compartir con ustedes de forma gratuita.Si desea información, haga clic en: 215301149 código secreto CSDN.Inserte la descripción de la imagen aquí

MySQL

Estructura del índice?

¿Por qué es el árbol B +?
¿Un índice no agrupado es un árbol B o un árbol B +? (Los índices son todos árboles B +)
Consulta de regreso a la tabla (el índice InnoDB almacena la clave primaria. MyISAM no la necesita, porque su índice almacena directamente la dirección de los datos)
Índice conjunto, la
consulta de base de datos de prefijo coincidente más a la izquierda cuando el desplazamiento es muy grande Habrá un problema

¿Patrones de diseño? Combinando la experiencia del proyecto anterior, por ejemplo
, la diferencia entre HTTP y HTTPS en el escenario de la aplicación . La diferencia entre
RPC y HTTP
thrift ¿Por qué se puede hacer una
pregunta de algoritmo en varios idiomas : un número decimal, convertirlo en un formato de lectura, como 1010.0023, generar "mil diez puntos" Cero cero dos tres ". Detalles de esta pregunta:
Obtenga la parte entera y la parte decimal del número de punto flotante num: int integer = int (num); doble decimal = num-integer;
genere cada parte decimal, mi idea es dividir la parte decimal por 0.1 para obtener El primer dígito; luego multiplique la parte decimal por 10, manteniendo la parte decimal. Repita esto hasta que la parte fraccionaria sea 0. Un problema aquí es que no es posible determinar directamente si la parte decimal es 0, porque los números en coma flotante son una notación imprecisa, un * 100-int (a) no es necesariamente 0. Elijo compararlo con un número muy pequeño 1e-6. Si es menor que este número, se considera 0

Otra
experiencia de pasantía previa para brindarle qué hacer crecer
fortalezas y debilidades individuales de
lo que se espera que funcione después de
lo habitual cómo aprender
Actualmente hay otras empresas que ofrecen el
enlace solicitado

1h a ambos lados

Autointroducción Introducción a la
experiencia de la pasantía, dónde están los desafíos, los detalles del trabajo (unos 20 minutos), la
estabilidad del servicio, ¿en qué trabajo participó?

¿Cómo mejorar la estabilidad del servicio?

¿Cuál es la diferencia entre el marco RPC (como el ahorro) y el marco de servicio? (Este último agrega servicios a algunas tareas, como registro de servicio, descubrimiento, etc .; el primero es solo para realizar llamadas a procedimientos remotos como llamar a un método local)
La diferencia entre matrices y listas vinculadas

Cola circular, ¿cómo juzgar que la cola está llena?

¿Cuáles son las formas de proporcionar un hilo en Java (sincronizado, ejecutable, no)?

¿Entiende el grupo de subprocesos de Java? ¿Cuáles son los parámetros básicos? (No lo sé) ¿Cuáles son los
cuatro niveles de aislamiento de mysql.
¿Cuáles son los problemas de la lectura no repetible y la lectura fantasma?
El principio del principio de coincidencia más a la izquierda del índice conjunto de mysql.
Cuando se usa el índice conjunto, ¿hay algún requisito para el orden de las columnas en donde (no)
qué es MVCC? ? El principio de implementación específico (número de versión)
cuándo se cambiará este número de versión (no sé)
bloqueo de espacio bloqueo de espacio ¿Ha oído hablar de él (no) ¿Qué métodos proporcionan
las estructuras de datos comunes de redis
zset y string? (Nunca lo usé, no entiendo la api básica de redis)

¿Qué capa es HTTP y TCP? ¿Cuál es el papel de estas dos capas?

El contenido del encabezado de solicitud HTTP
GET y POST distingue
la diferencia entre una cookie y una sesión
sobre cómo compartir la sesión (sesión distribuida, clústeres redis) entre múltiples servidores parámetros
comunes de comandos de Linux
grep, cómo verificar que la línea no contiene la palabra clave (-v )
El significado de los permisos de archivos de Linux (permisos de usuario, permisos de grupo y otros permisos de usuario; r leer, w escribir, x ejecutar, -sin permisos correspondientes)
planificación / dirección de carrera de seguimiento
¿cree que necesita mejorar las
preguntas del algoritmo: Hay varias formas de ir desde la esquina superior izquierda a la esquina inferior derecha de la matriz M * N (esta pregunta corresponde a las diferentes rutas de LeetCode 62, que en realidad es la fórmula numérica de combinación C_ {m + n} ^ m. Me hicieron una prueba para esta pregunta 3 veces, frecuencia relativamente alta)
Enlace retórico

para resumir

Meituan tiene un total de 2 rondas técnicas y 1 ronda de HR; también he cumplido 3 rondas técnicas. No sé mucho sobre lo que significa el número de rondas de entrevistas.

Los problemas de recursos humanos son más convencionales. El RR.HH. que está a cargo de la entrevista y el RR.HH. que habla por última vez sobre el salario no son la misma persona, así que recuerde no preguntar por el salario durante la entrevista, primero obtenga la carta de intención antes de hablar.

Después de tantas entrevistas, descubrí que solo había unas pocas preguntas y había una alta probabilidad de repetición. Lo más probable es que esto se deba a que el entrevistador seleccionará las preguntas en función de la experiencia y el nivel del candidato y, al final, siempre habrá convergencia.

Por eso, creo que la revisión posterior a la entrevista es muy importante, la primera es revisar las preguntas que no conocerás en la entrevista, y luego mirar las preguntas en Internet. Si no recuerda qué preguntas se hicieron en la entrevista, puede grabar la pantalla o grabar.

Finalmente, te deseo todas las ofertas que quieras ~

Supongo que te gusta

Origin blog.csdn.net/a3961401/article/details/108549161
Recomendado
Clasificación