Mi entrevista con Baidu (8 entrevistas en total)
Un lado:
1 transacción de base de datos, cuatro atributos, cuáles son sus usos y cómo implementarlos. La coherencia no es buena.
Hablando de registros de rehacer y deshacer, me preguntó cuáles eran sus usos respectivos y dijo que los registros de rehacer eran incorrectos.
3 Cómo garantizar el aislamiento de la base de datos y cuál es la diferencia entre usar bloqueo pesimista y bloqueo optimista. Para qué está diseñado MVCC y cómo utilizar los números de versión para determinar la visibilidad de los datos.
4 preguntó acerca de un algoritmo que imprime todos los números del 1 al N en el orden del diccionario. Cómo hacerlo.
Hablé sobre ordenar por matrices y pregunté sobre la complejidad. Charlé durante mucho tiempo.
Cómo optimizar, imprimir en el orden de las funciones digitales y preguntar a qué estructura se parece esto. El mensaje era un árbol, y luego mencioné un árbol de múltiples bifurcaciones y me pregunté cómo implementarlo. Al final, utilicé dfs para recorrer cada rama del árbol.
5. Existen dos métodos para lograr la sincronización y la concurrencia de múltiples subprocesos. Cada método tiene un código de parte A y un código de parte B. Quiero que dos subprocesos ejecuten los dos métodos por separado, que ejecuten parte del código A y luego los ejecuten juntos. ¿Cómo lograrlo?
Dije que deberíamos usar barreras de bucle para implementar la espera.
Luego me preguntó cómo usar un semáforo y sugirió que se podría usar otro hilo.
Entonces me dije un plan.
7Pregunta sobre este proyecto
8Cómo optimizar el código recursivo
Cambiar a recursión de cola o bucle.
El entrevistador dijo que no y el facilitador dijo que usáramos la pila para implementar la recursividad.
Pregúnteme qué datos deben insertarse en la pila. Dijo que deberían ser los parámetros del método, el valor de retorno y la dirección de retorno.
Ambas partes:
1 Preséntate, el proyecto finalizará en 10 minutos.
Cómo equilibrar la carga de los servidores, qué algoritmos están disponibles, qué algoritmos son mejores, los principios del hash consistente y cómo evitar que las solicitudes de ataques DDOS lleguen a una pequeña cantidad de máquinas.
¿Cuál es el papel del protocolo de enlace de tres vías en la conexión TCP y las cuatro ondas? ¿Cuál es el último reconocimiento de las cuatro ondas? ¿Por qué el tiempo espera? ¿Por qué 2 msl?
Cómo implementar la copia de seguridad y recuperación de bases de datos, cómo hacer copias maestro-esclavo, cuándo ocurrirán inconsistencias en los datos y cómo resolverlas.
Hoy hubo tantas entrevistas que no puedo recordarlas todas. . .
¿Has visto y utilizado alguna vez tecnología de código abierto? ¿Entiendes el almacenamiento distribuido?
7 ¿En qué dirección quieres desarrollarte?
8 Linux para visualizar procesos con alto uso de CPU.
9 Verifique el proceso que ocupa el puerto y el puerto en el que escucha el proceso.
10¿Cómo consultar todas las IP y expresiones regulares en el archivo de registro?
Tres lados (actualizado el 3 de agosto):
El departamento de bases de datos es realmente estricto y las preguntas son bastante difíciles.
1Háblame de este proyecto.
2 ¿Qué sistema operativo conoces de Linux? Hablemos de los comandos más utilizados en la solución de problemas de Linux, como ps, top, netstat, free, du, etc.
3 Algoritmo de administración de memoria de Linux. Cuando se le preguntó si es un algoritmo de reemplazo de página, dijo que sí. Hablando de LRU y FIFO, me pregunté cuáles eran las deficiencias de LRU, pero no respondí.
¿Conoces el sistema de archivos de Linux? Cuénteme sobre los principios de los nodos, archivos y directorios de inodo. Me preguntó si no conocía los sistemas de archivos específicos ext2 y ext3, y la respuesta fue no.
5. ¿Cuáles son los métodos de comunicación de procesos? Pregúntame cómo utilizarlas, qué tipos de tuberías hay y cuáles son sus ventajas y desventajas.
Pregúntame si sé algo sobre hardware de servidor. . Parecía confundido y me preguntó si conocía a Raid. Dijo algunas tonterías, pero no pude entenderlas.
¿7 Shell lo sabe? No he escrito mucho.
He oído que conoces Java. Cuéntame sobre el modelo de memoria JVM, qué áreas tiene y qué hace.
9 Habla sobre el algoritmo gc y el reciclaje generacional.
¿Conoces el patrón de diseño del 10? Mencioné siete tipos y me pregunté cómo usarlos respectivamente. ¿Realmente los aplicas? Tiré.
11 ¿Cuáles son las diferencias y escenarios de uso del motor MySQL?
12 consulta los últimos 10 datos y, después de pensar durante mucho tiempo, restringe el orden de 10 a través de id desc.
13 ¿Cuál es la diferencia entre union all y union en MySQL? Lo inventé, debe estar mal.
14 ¿Cuáles son las formas de unirse a MySQL? ¿Cuál es la razón detrás de esto? No, sólo conozco la manifestación.
15 Qué sabe Redis, estructura de datos y principios básicos. Pregúnteme cómo hace Redis la agrupación en clústeres y responda centinela maestro-esclavo y clúster. ¿Cómo hacer que Redis sea persistente? ¿Cuál es la diferencia entre aof y rdb? ¿Cuáles son los pros y los contras?
16 ¿Cuáles son los problemas con el uso de la implementación de Sentinel para Redis? Dije que si necesita escalar, todavía necesita una implementación en clúster.
¿Entiendes 17 sistemas distribuidos? Dime qué sabe Hadoop. Dije que sabía un poco sobre los componentes básicos y simplemente construí el entorno.
18 ¿Qué hace el combinador MapReduce? Yo digo que esto es el resultado de una fusión. Pregunté cuándo lo usaría pero no lo sabía.
Cuando hadoop distribuyó 19 tareas, un trabajo falló. ¿Qué hará Hadoop? No lo sé, pero supongo que seguirá así. .
20 tareas de distribución de Hadoop, ¿qué pasa si un nodo es particularmente lento y reduce la velocidad general? Supongo que Yarn puede evitar esto asignando los mismos recursos a cada tarea. Parecía insatisfecho.
21 Hadoop tiene una mala respuesta. Permítanme comparar dos archivos de 10 g, memoria de 2 g, alta tasa de repetición y filtrar contenido diferente. Yo digo dividirlo en diez hashes y comparar el conjunto de resultados para cada hash. Parece que tenía razón.
Qué saben los algoritmos de clasificación, bla, bla, bla.
23 Use una cola para calcular la altura del árbol. Dije que use el recorrido jerárquico para registrar la altura del nodo.
24 Una colección de lista negra tiene una gran cantidad de datos. ¿Cómo consultar rápidamente si un determinado valor está en la colección?
25 sigue siendo la última pregunta, que dice que es posible que sea necesario agregar, eliminar y modificar dinámicamente esta lista negra, y cómo diseñarla para evitar una respuesta de acceso lenta. No tengo ni idea. Dudé sobre agregar hardware y almacenarlo en la memoria, pero me lo negaron. Luego dijo, olvídalo.
¿Cómo distribuir la lista negra de la pregunta anterior? Se analiza el esquema de fragmentación y el nodo donde se ubica el fragmento se determina en función del valor hash de la dirección.
¿Conoces las bases de datos distribuidas? No entendí muy bien lo que me estaba preguntando. Cuando dijo que no entendía, pensó que debería preguntar sobre el esquema distribuido de la base de datos.
¿Qué quieres preguntar? Según él, hubo 2 o 3 rondas de entrevistas, lo cual fue impactante.
El recorrido completo dura 50 minutos ¿Se puede decir que es el más difícil hasta el momento?
Departamento de noticias y cuentas en la nube de Baidu AI
Un lado:
1 proyecto
Hablemos de AOP.
3 ¿Cuál es la diferencia entre dinámico * * * y estático * * *
Si los mensajes TCP e IP se fragmentarán y bajo qué circunstancias se fragmentarán?
¿Se producirá fragmentación de IP después de la subcontratación de TCP?
5 Preguntas
Órbita infinitamente larga. Dos autos viajan en la misma dirección y están goteando agua. ¿Cómo pueden encontrarse? Esta pregunta es como un acertijo.
Escribe una secuencia de Fibonacci
Es necesario mejorar la fórmula recursiva
El modelo Dp necesita espacio para optimización.
Es necesario mejorar el uso de tres variables en lugar de una matriz para dp.
Yo digo que las fórmulas matemáticas están bien.
7 Hablemos de la estructura de memoria de Linux. Le dije que solo conocía JVM y me pidió que hablara sobre ello.
¿Cómo se mapean los dos recuerdos y cuál es la relación?
Falta el número 8
Ambos lados:
Hablemos del punto 1. Fueron más de 10 minutos.
2 Algoritmos de clasificación, complejidad, comparación. La complejidad espacial de la clasificación rápida es logarítmica.
3 Permítanme hablarles del modelo OSI de siete capas. Dije modelo de cinco capas, y luego me pidió que lo agregara, me preguntó sobre las funciones de cada capa y me preguntó a qué capa pertenecía el wifi.
4. Cómo se realiza la sincronización entre subprocesos y se mencionan los métodos de objeto.
Pregúnteme qué dos métodos deberían reescribirse cuando se usa hashmap, por qué deberían reescribirse, bla, bla, bajo qué circunstancias.
5 ¿Qué estructuras de datos utilizas habitualmente y cuáles son las diferencias entre ellas y las utilizadas en listas?
Ioc y aop están en 6 Spring. ¿Cuál es el comentario del Comité Olímpico Internacional?
¿Cuál es la diferencia entre cableado automático y recursos, y cuál es su alcance?
¿Cómo configurar una de estas dos clases para cableado automático?
7 Olvidé escribir el patrón singleton. Barabara realizó una doble prueba y fue sustituido varias veces a mitad de camino.
8 ¿Se producirán pérdidas de memoria en Java? ¿En qué circunstancias se producirán pérdidas de memoria en las tres áreas?
Baidu AI Cloud
Este parece ser un puesto básico de ingeniero de I+D.
Parte
1 Proyecto
2 La diferencia entre cola y pila
3 Dos pilas implementan colas y dos pilas implementan pilas mínimas .
4 Transaccionalidad de la base de datos, cómo implementar estas propiedades
5 ¿Cuál es el nivel de aislamiento de transacciones y cuál es el nivel predeterminado?
¿Qué hay de malo en la lectura enviada y para qué escenario se utiliza?
7 Árboles binarios, árboles binarios equilibrados, ¿qué escenarios se utilizan?
¿Qué son los procesos zombies y los procesos huérfanos, y cuáles son sus peligros?
9Cómo implementar la replicación maestro-esclavo.
10 ¿Para qué usas Redis? ¿Por qué no utilizar mq como cola asincrónica?
11 Sistema de archivos distribuido, ya sabes, HDFS, hablemos de los principios.
12 ¿Cuáles son los tipos de precios más utilizados en Java?
13 ¿Cómo convierte Java el tipo de byte en cadena?
¿Por qué 14 el tipo de cadena de Java es inmutable?
¿Qué pasó con el 15?
Baidu Core Search
Un lado:
1 Autopresentación
2 ¿Qué sabes sobre Docker y K8?
¿Qué cursos toman los estudiantes de posgrado?
¿Conoces el sistema operativo? Hablemos de procesos e hilos.
5 Interbloqueo y métodos de procesamiento
6 Memoria, memoria virtual y reemplazo de páginas 7 Comprensión de la red, hable sobre protocolo de enlace de tres vías y onda de cuatro vías.
8¿Cuánto sabes sobre bases de datos? Se tratan los índices, transacciones y bloqueos de MySQL.
9 Redis, habla sobre estructura de datos, modo de persistencia y escenarios de uso.
Qué aprender en 10 modos distribuidos, cómo equilibrar carga, dns, nginx, lvs y hardware, cómo resolver problemas de consistencia, 2pc, 3pc, raft y paxos, zab.
10 Consulta de datos de tablas grandes MySQL, cómo optimizar, separar tablas y bases de datos.
11 El bucle de juicio de una lista enlazada única se resuelve mediante punteros rápidos y lentos.
12 Juicio completo del árbol binario:
Ambos lados:
1 proyecto
2 Principios y comprensión de Docker y Kubenetes
3 ¿Conoce el cgroup de Docker?
4 La estructura de Kubennetes y cómo se completa la expansión.
5 Cuatro referencias de Java
6 Modo de comunicación de subprocesos de Java
7 Modo de comunicación de procesos de Linux
8 Grupo de subprocesos de Java
9 El algoritmo 1-N+1 toma N números de estos números y pregunta cuál queda. . Dije suma y resta y el entrevistador dijo que era muy difícil. Ese no puede ser el caso. Dije comparar subíndices de matrices, pero aun así dijo que era complicado.
Así que le pedí que me lo recordara y me dijo que lo solucionara y lo buscara de nuevo. . Um
Entonces pensé en dos formas de intercambiar espacio por tiempo. Una es utilizar hashmap para atravesar dos matrices. Uno es el número de apariciones de datos estadísticos después de fusionar matrices, que también es un mapa hash.
10Dada una cadena de números, busque todas las combinaciones posibles de direcciones IP, como 192168111, la combinación es 192.168.1.10.
Probablemente sea un problema con LeetCode sobre el que no escribí completamente antes, pero lo mantuve en la escena.
Este código debe ser correcto. El entrevistador lo miró durante 20 minutos antes de decir que sí. Luego nos quedamos en silencio durante 20 minutos, durante los cuales él dijo algunas palabras.
Al final, el entrevistador dijo que su departamento tuvo dos rondas de entrevistas.
¡Hasta la próxima! Cómo obtener la respuesta: dar me gusta, comentar, cerrar~
Fuente original: /discussion/90112? type=post&order=jing&pos=&page=2&ncTraceId=&channel=-1&source_id=search_post_nctrack&gio_id=FD 441016d0b 12571a 898266 fe8d 1c8c 6- 1657195040955