Red de conocimiento informático - Espacio del host - Mi experiencia de entrevista en Baidu (***8 experiencias de entrevista)

Mi experiencia de entrevista en Baidu (***8 experiencias de entrevista)

Departamento de bases de datos en la nube inteligente de Baidu

Un lado:

1. Transacciones de bases de datos, hablemos de las cuatro propiedades, cuáles son sus usos y cómo implementarlas . La consistencia no es buena.

2. Hablé sobre los registros de rehacer y los registros de deshacer, y me preguntaron para qué se usaban y dije que los registros de rehacer eran incorrectos.

3 Pregunte cómo se garantiza el aislamiento de la base de datos, cuál es la diferencia entre usar bloqueo pesimista y bloqueo optimista, cuál es el propósito de diseño de MVCC y cómo usar números de versión para determinar la visibilidad de los datos.

4 Pregunte a un algoritmo cómo imprimir todos los números del 1 al N en orden lexicográfico.

Hablé sobre el uso de la clasificación de matrices y pregunté sobre la complejidad durante mucho tiempo.

Cómo optimizar, imprimir en el orden de las funciones digitales y preguntar a qué estructura se parecen más estas cosas. El mensaje fue que era un árbol, y luego se dijo que era un árbol de múltiples bifurcaciones. Me preguntó cómo implementarlo y finalmente usé dfs para atravesar cada rama del árbol.

5 Implementación de sincronización concurrente de subprocesos múltiples, hay dos métodos, cada método tiene un código de parte a y un código de parte b. Quiero que dos subprocesos ejecuten estos dos métodos respectivamente y dejen que se ejecuten hasta su finalización. Cómo implementar. cuando se arma parte del código.

6 Dije que usáramos la barrera cíclica para implementarlo y luego nos esperáramos unos a otros.

Luego me preguntó cómo hacerlo con señales y me sugirió que se podía hacer con otro hilo.

Entonces conté una escena.

7 Se le preguntó sobre la situación del proyecto

8 Cómo cambiar el código recursivo optimizado

a recursión de cola o bucle.

El entrevistador dijo que no y la guía dijo que usara una 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.

Lado dos:

1 Autopresentación, han pasado 10 minutos desde el proyecto

2 Cómo equilibrar la carga del servidor, qué algoritmo se utiliza, cuál uno es mejor, hash Basado en el principio de coherencia, cómo evitar ataques DDOS solicitando atacar varias máquinas.

3 protocolo de enlace de tres vías y cuatro ondas en la conexión TCP, cuál es el papel del último reconocimiento entre las cuatro ondas, por qué lleva tiempo esperar y por qué necesita 2 msl

4 Base de datos Cómo se implementan la copia de seguridad y la recuperación, cómo se completa la replicación maestro-esclavo, cuándo ocurre una inconsistencia en los datos y cómo resolverla.

5 Hoy hubo tantas entrevistas que no puedo recordarlas todas.

6 He visto y utilizado tecnología de código abierto y he aprendido sobre almacenamiento distribuido.

7. ¿Qué dirección quieres desarrollar?

8 Verifique el proceso de uso elevado de CPU en Linux

9 Verifique el proceso de ocupación de un puerto y un puerto de escucha de proceso

10 Cómo consultar el registro archivo Todas las IP, expresiones regulares

Tres lados (actualizado en 8.3):

El departamento de bases de datos es realmente estricto y las preguntas son bastante difíciles.

1 Hablar de proyectos

2 Generalmente, sepa qué es el sistema operativo Linux y hable sobre comandos comunes para la resolució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 era un algoritmo de reemplazo de página, dijo que sí. Mencionó a lru y fifo, y me preguntó cuáles eran las deficiencias de lru, pero no respondió.

4 Aprenda sobre el sistema de archivos de Linux y hable sobre los principios de los nodos, archivos y directorios de inodo. Me preguntó si conocía los dos sistemas de archivos especiales ext2 y ext3, pero no lo sabía.

5 procesos.

5. ¿Cuáles son los métodos de comunicación de procesos? Pregúntame cómo utilizarlos. ¿Qué tipos de tuberías existen y cuáles son sus ventajas y desventajas?

6 Pregúntame sobre el hardware del servidor. Estaba confundido y me preguntó si entendía a Raid. Después de unas pocas palabras, dije que no entendía.

6 Pregúntame sobre el hardware del servidor.

7 Shell, no escribí mucho sobre ello.

8 Escuché que conoces Java, cuéntame un poco sobre el modelo de memoria JVM, cuáles son las áreas y qué hacen.

9 Hablemos del algoritmo gc y Reciclaje generacional.

Aprendamos sobre 10 patrones de diseño. Mencioné siete de ellos. Pregúntame cómo usarlos y aplicarlos en la práctica.

11 Hable sobre el motor MySQL, cuáles son las diferencias y utilícelo en el sitio.

12 Consulta los 10 datos más recientes. Después de pensarlo durante mucho tiempo, ordena por id desc limit 10

13 ¿Cuál es la diferencia entre union all y union? con él, y debería estar mal.

14 ¿Cuáles son los métodos de unión en MySQL y cuáles son los principios básicos? La respuesta es no, solo conozco expresiones.

15 ¿Qué sabes sobre Redis, incluida la estructura de datos y los principios básicos? Me preguntaron cómo crear un clúster con Redis y respondí centinela maestro-esclavo y clúster. Cómo lograr persistencia en Redis, cuáles son las diferencias entre aof y rdb y cuáles son sus ventajas y desventajas.

16 ¿Cuáles son los problemas con el uso de la implementación Sentinel de Redis? Me refiero si es necesario ampliar la capacidad o se debe implementar en un clúster.

17. Aprenda sobre sistemas distribuidos, como lo que sabe sobre Hadoop. Me refiero a un poco de comprensión de los componentes básicos y un entorno de construcción simple.

18 ¿Qué hace el combinador MapReduce? Dije que es fusionar los resultados. Cuando me preguntaron cuándo lo usaría, no lo sabía.

19 tareas de distribución de Hadoop, un trabajo falló, cómo lo manejó Hadoop, no lo sé, supongo que continuará ejecutándose.

20. Cuando Hadoop asigna tareas, ¿qué debo hacer si un nodo es particularmente lento y reduce la velocidad general? Supongo que esto podría evitarse si Yarn asignara el mismo recurso a cada tarea, pero no parece muy contento con eso.

21 hadoop respondió mal. Me preguntó cómo comparar dos archivos de 10 g, memoria de 2 g, alta tasa de repetición y filtrar las diferencias. Dije que lo dividiera en diez hashes y comparara los conjuntos de resultados de hash en pares. Parece que lo que dijo está bien.

22. ¿Qué necesitas saber sobre el algoritmo de clasificación, 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 con una gran cantidad de datos, cómo consultar rápidamente si un determinado valor está en la colección, dije filtro Bloom.

25 Sigue siendo la misma pregunta que antes, diciendo que es posible que sea necesario agregar, eliminar y cambiar dinámicamente esta lista negra. Cómo diseñarla para evitar una respuesta de acceso demasiado lenta. No tenía ninguna idea, balbuceé sobre agregar hardware y usar almacenamiento de memoria, pero me lo negaron. Luego dijo: olvídalo.

26 La última pregunta es, ¿qué debo hacer si se distribuye la lista negra? Se dice que es un corte de programa. El nodo donde se encuentra el corte se determina en función del valor hash de la dirección.

27 Con respecto a la comprensión de las bases de datos distribuidas, no entiendo muy bien lo que está preguntando. No entiendo que lo que debería preguntar es el programa distribuido de la base de datos.

28 ¿Qué quieres preguntar? Según él, hay 2-3 rondas de entrevistas, lo cual es sorprendente.

¿Se puede decir que los 50 minutos completos son los más difíciles hasta ahora?

Departamento de Información y Contabilidad de la Nube Inteligente de Baidu

Un lado:

1 Proyecto

2 Hablemos de AOP

3 ¿Cuál es la diferencia entre cifrado dinámico y cifrado estático?

4. Si los paquetes TCP e IP se fragmentarán y qué sucederá respectivamente. Estará fragmentado y en qué circunstancias estará fragmentado.

¿Se producirá la fragmentación de IP después de la fragmentación del paquete TCP?

5 Haz una pregunta

Pista infinitamente larga. Dos autos van en la misma dirección y los autos gotean agua. Cómo hacer que se encuentren. Esta pregunta es casi un desafío para la mente.

6 Escribe una secuencia de Fibonacci

Recursión, requiere mejora

Método dp, requiere optimización del espacio

dp usa tres Variables en su lugar de matrices, se requieren mejoras

Dije fórmulas matemáticas, está bien

7 Hablemos de la estructura de memoria de Linux Le dije que solo conozco JVM y me pidió que hablara. al respecto.

¿Cómo se mapean estos dos recuerdos? ¿Cuál es la relación?

8 Ninguno

Lado 2:

1 tema del que hablar y quedan más de 10 minutos.

2 algoritmos de clasificación, complejidad, comparación. La complejidad espacial de la cola rápida es logn

3 Cuando hablé del modelo OSI de siete capas, hablé del modelo de 5 capas, y luego me pidió que agregara más, preguntando sobre el papel de cada una. capa y dónde pertenece la capa wifi.

4. ¿Cuál es el método de sincronización entre subprocesos? Se dice que es un método de objeto.

Pregúntame qué dos métodos se cubren al usar hashmap, por qué, bla, bla, en qué escenario.

5. ¿Qué estructuras de datos utilizas habitualmente y cuáles son las diferencias con las listas?

6 ioc y aop en primavera. ¿Cuáles son las anotaciones del COI?

¿Cuál es la diferencia entre autowired y resources, y cuáles son sus alcances?

¿Cómo configura autowired una de estas dos clases?

7 Me dejé llevar un poco al escribir el modo singleton. Pasé mucho tiempo probándolo y lo cambié muchas veces.

8 Java tendrá pérdidas de memoria y ¿bajo qué circunstancias se producirán pérdidas de memoria en las tres áreas?

Baidu Smart Cloud

Parece ser el básico posición de un ingeniero de I+D

p>

Un lado

Un lado<

1 proyecto

2 La diferencia entre cola y pila

3 Dos pilas implementan una cola y las dos pilas que implementan la pila mínima

4 Propiedades de transacción de la base de datos y cómo implementar estas propiedades

5 ¿Cuál es el nivel de aislamiento de transacciones y cuál es el nivel predeterminado?

6 ¿Cuáles son los problemas con las lecturas comprometidas y para qué escenarios de aplicación se utilizan?

7 ¿Entiendes los árboles binarios y los árboles binarios equilibrados y para qué escenarios de aplicación se utilizan? para.

8 Qué son los procesos zombies y los procesos huérfanos, y cuáles son sus peligros.

9 Cómo implementar la replicación maestro-esclavo.

10 ¿Para qué usas Redis? ¿Por qué no usar mq como cola asíncrona?

11 Aprenda sobre el sistema de archivos distribuido y hable sobre los principios de HDFS

12 Java General Qué tipo usar para representar el precio.

13 ¿Cómo convierte Java los tipos de bytes en cadenas?

14 ¿Por qué el tipo de cadena de Java es inmutable?

15 ¿Cuál es el problema?

Baidu Core Buscar

Un lado:

1 Autopresentación

2 ¿Cuánto sabes sobre Docker y K8s?

3 Tú, qué cursos ¿Has cursado a nivel de posgrado?

4 ¿Cuánto sabes sobre sistemas operativos? Hablemos de procesos y subprocesos

5 Puntos muertos y cómo lidiar con ellos

6 Memoria, memoria virtual y reemplazo de páginas

7 ¿Qué sabes sobre la red? Cuéntame sobre el protocolo de enlace de tres vías y el swing de cuatro direcciones

8 Qué ¿Sabe usted acerca de la base de datos, cómo usarla y qué sabe acerca de la base de datos? ¿Qué piensan? p>

8 ¿Cuánto sabes sobre bases de datos? Una pequeña charla sobre índices, transacciones y bloqueos de mysql

9. Redis, una pequeña charla sobre estructura de datos, persistencia y escenarios de uso

10 ¿Cuánto sabes sobre distribución, qué es el equilibrio de carga, habla sobre dns, nginx, lvs y hardware, cómo resolver el problema de coherencia, habla sobre 2pc, 3pc, raft y paxos, y cómo resolver el problema, hable de 2pc, 3pc, 3pc, 3pc, 3pc, 3pc, 3pc, 3pc. Raft, paxos, zab

10 Consulta de datos de tablas grandes MySQL, cómo optimizar, subtabla, subbase de datos.

11 El bucle de juicio de lista enlazada única se resuelve usando punteros rápidos y lentos

12 Juicio completo del árbol binario:

Segundo lado:

1 Proyecto

2 Principios y comprensión de Docker y Kubenetes

3 Comprensión del cgroup de Docker

4 La arquitectura de Kubenetes y cómo escala.

5 Cuatro referencias a Java

6 Comunicación de subprocesos en Java

7 Comunicación de procesos en Linux

8 Grupo de subprocesos en Java

p>

9 Algoritmo 1 - N + 1 Saca los N números y pregunta ¿cuál queda? Dije sumar, sumar, restar, y el entrevistador dijo que es complicado y no se puede hacer. Le pregunté sobre la comparación de subíndices de matrices, pero aun así dijo que era muy problemático.

Entonces le pedí que me indicara y me dijo clasificar y buscar.

Luego pensé en dos espacios de tiempo. Uno es usar hashmap para atravesar dos matrices. Una es fusionar matrices y contar la cantidad de veces que aparece un número, que también es hashmap

10 Dada una cadena de números, busque todas las combinaciones posibles de direcciones IP, como 192168111, las combinaciones son 192.168.1.11 , 192.168.11.1. Debería ser un problema de LeetCode. Nunca antes lo había escrito todo yo solo, así que lo eliminé en el acto.

Este código debe ser correcto. El entrevistador lo miró durante 20 minutos antes de decir OK. Luego tuvimos un silencio de 20 minutos, durante el cual pronunció algunas palabras.

Finalmente, el entrevistador dijo que uno de sus departamentos tuvo dos rondas de entrevistas.

¡Hasta la próxima! Cómo obtener la respuesta: Me gusta, comentó, cerrado

Fuente original:/discutir/90112? Type = Post & Order = Jing & Pos = & Page = 2 & nctraceID = & Channel = -1 & Source_id = Search_post_nctrack & gio_id = fd4441016d0b12571a82666fe8d1c8c6-165719504504094090909090909090909094090909090909090909090T >