Recientemente me entrevisté en Media.net para el papel de SDE. Dado que fue un proceso fuera del campus, todo el proceso de entrevista se realizó en Google Hangouts Chat. El proceso habitual de contratación de Media.net FTE consta de: 1 ronda de codificación, 2 entrevistas algorítmicas, una ronda de entrevista final. Todas las rondas son eliminatorias. Todo el proceso tardó 2 meses en completarse.
Ronda 1 (Codificación): Me salté la ronda de codificación. Media.net preselecciona a algunos candidatos que han estado en las regionales de ACM-ICPC y para esos candidatos, se saltan la ronda de codificación. Yo era uno de esos candidatos.
Ronda 2 (1ra entrevista algorítmica – 1 hora): En esta ronda se hizo 1 pregunta de programación.
Dada una array desordenada de tamaño N que contiene N enteros distintos. Encuentre el recuento de elementos en la array que se pueden buscar de forma binaria. Un elemento de búsqueda binario es el elemento que puede encontrar en la array dada a través del algoritmo de búsqueda binaria tradicional (que asume que la array está ordenada).
Por ejemplo:
norte = 7
array = 1 5 3 2 6 7 4
Elementos de búsqueda binarios = 0, 3, 4, 5 (0 array indexada)
Respuesta = 4
Complejidad del tiempo esperado – O(n)
Ronda 3 (2da entrevista algorítmica – 1 hora): También se hizo 1 pregunta de programación en esta ronda.
Dada una gráfica en la que cada Node representa una ciudad. Algunas ciudades están conectadas entre sí a través de carreteras bidireccionales. También se da la longitud de cada camino. Algunas de las ciudades tienen hoteles. Dada una ciudad de partida y una ciudad de destino y un valor K que representa la distancia máxima que puede recorrer una persona en un día, encuentre el número mínimo de días en los que la persona puede llegar a su destino (o diga si es imposible que la K dada). ( Nota: Si la distancia recorrida en un día es superior a K, la persona puede descansar en la ciudad que tiene un hotel, si no hay hotel en esa ciudad, esto implica que debe elegir otro camino. Al día siguiente, la persona puede comenzar desde esa ciudad y la distancia recorrida se restablece a 0).
Ronda 4 (Entrevista final – 1 hora): Esta ronda consistió en 1 problema de programación, os, dbms, preguntas sobre redes y muchas otras preguntas.
Q1: dada una array bidimensional de 0 y 1. Encuentre el número de celdas en la array para las cuales la fila y la columna correspondientes contienen solo ceros.
Respuesta: le dije el siguiente enfoque para resolverlo: para cada fila y columna, busque si contiene todos los ceros o no. Almacene esta información en 2 arrays booleanas de tamaño n y m respectivamente. Este paso requería una complejidad de tiempo de O(n*m). Luego, para cada celda, verifique si su fila y columna correspondientes contienen todos ceros o no. Complejidad de tiempo para este paso – O(n*m).
El entrevistador pidió mejorar tc para el segundo paso. Lo quería en O(1). Después de un poco de discusión, llegué a la solución de que solo necesitamos devolver el producto del conteo de filas y columnas que contiene solo ceros.
Q2: complejidad de tiempo y estructura de datos utilizada para implementar hashmap. Técnicas de resolución de colisiones en hashing. Suponga que está utilizando la técnica de sondeo lineal. Tiene una array hash de tamaño 10. La función hash es – mod 10. Almacene los números en el siguiente orden 5 15 25 6. Eliminar 5. Ahora, ¿cómo encontrará la clave para el valor 15 en la menor complejidad de tiempo?
P3: estructura de datos para crear un índice para una base de datos de gran tamaño. (Respuesta: árbol B+) ¿Por qué se usa el árbol B+? ¿Por qué no se puede utilizar BST? ¿Por qué no se puede usar BST balanceado?
P4: ¿Qué es la paliza en el sistema operativo?
P5: ¿Qué es el hambre en el sistema operativo? ¿Cómo prevenirlo? (Respuesta – Envejecimiento) ¿Qué es el envejecimiento?
P6 – ¿En qué esquemas de programación puede ocurrir la inanición? ¿Qué esquemas lo evitan?
P7 – ¿Qué es un punto muerto? ¿Cómo detectar un interbloqueo? ¿Condiciones necesarias para el interbloqueo?
P8: ¿Qué algoritmos de reemplazo de página conoce? ¿Qué es el algoritmo de reemplazo de página LRU?
P9 – ¿Diferencia entre TCP y UDP? Aplicaciones de cada uno.
P10 – ¿Cómo se realiza el control de congestión en TCP? Importancia de cada paso en el protocolo de enlace de 3 vías en TCP en detalle.
P11 – Capas en el modelo OSI de redes.
Q12 – Estructura de datos para implementar deshacer y rehacer en un editor de texto. (Respondí que podemos usar 2 pilas para lo mismo). El entrevistador quedó satisfecho con él, pero luego me preguntó si me puede decir alguna estructura de datos que no sean 2 pilas, a lo que respondí que no.
Q13 – Preguntas relacionadas con 2-3 proyectos mencionados en el currículum.
El resultado se comunicó después de 10 días. Recibí la oferta 🙂
Algunos consejos –
- Pasa bien por todos los proyectos que has mencionado en el currículum.
- Repasar todos los temas de teoría a fondo.
- Piensa en voz alta. Los entrevistadores son muy amables. Ellos te guiarán hacia la solución. Así que pide pistas donde sea que te quedes atascado. Aclare bien el enunciado del problema y las restricciones. Es posible que el entrevistador no les diga implícitamente y espera que usted les pregunte.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA