Experiencia de entrevista de Adobe | Conjunto 40 (en el campus para MTS-1)

Prueba en línea:
Codificación: Tiempo: 90 minutos
Había tres preguntas de codificación de la siguiente manera:

  1. Un hombre sale de su casa con unos panqueques. que sean N. Ahora visita K lugares antes de llegar a casa. En cada lugar puede comprar un pastel, vender un pastel o no hacer nada. Pero debe vender L pasteles antes de llegar a casa. Encuentre el número máximo de pasteles que puede tener en cualquier punto de su viaje. N, K, L se dan como entrada,
    por ejemplo: para 5 3 1, salida: 7
  2. La pregunta exacta no la recuerdo. Tienes que encontrar el subarreglo contiguo máximo en un arreglo. Básicamente una pregunta sobre el algoritmo de Kadane
    Solución : GeeksforGeeks Link
  3. Hay un texto. Hay un patrón. El patrón contiene un símbolo * y puede ser reemplazado por 0 o más letras (cualquier letra). Por ejemplo, si el patrón en aa*b, aaab, aab, aaccb, etc., todos son patrones válidos. Debe encontrar el número de ocurrencias del patrón en el texto.

MCQ: 50 minutos
Fueron 45 preguntas basadas en razonamiento lógico, interpretación de datos y matemáticas elementales. Un consejo es que empieces por el final, son mucho más fáciles que las del principio.

Se seleccionaron alrededor de 16 estudiantes para las entrevistas.


La ronda 1

    El entrevistador miró mi currículum. Luego pasó directamente a Estructuras de datos y algoritmos.

  1. Me preguntó acerca de los algoritmos de clasificación. Luego me preguntó cuál es la diferencia entre la clasificación rápida y la clasificación combinada y cuándo usar qué.
    Le dije que la ordenación por combinación es estable y que la ordenación rápida tiene una complejidad en el peor de los casos de o(n^2), pero en la ordenación rápida no necesitamos combinar la array ordenada. En el caso de arrays usamos Quicksort y para listas enlazadas usamos merge sort
  2. Escriba el código para fusionar una especie de lista vinculada que contenga flotantes
    Solución : GeeksforGeeks Link
  3. Luego me contó sobre la clasificación de burbujas en las listas vinculadas mediante el intercambio de datos en los Nodes y me preguntó cuál es el problema aquí además de la complejidad.
    Le dije que las listas buscadas generalmente contienen fragmentos de datos, por lo que el intercambio de datos puede causar gastos generales considerables y degradar el rendimiento. Parecía feliz con la respuesta.
  4. ¿Cómo se representa internamente en la CPU un flotante como 5.7?
    Tenía que hablar sobre las notaciones IEEE. No los recordaba, así que no pude responder.
  5. Algunas preguntas sobre sistemas operativos, subprocesos, procesos, sus diferencias, paginación, etc.
  6. Debe escribir una función de comparación genérica para ordenar. Por ejemplo, supongamos que hay una clase de Estudiante que contiene marcas de Materias X,Y,Z. debe escribir una función de comparación para ordenar en función de cualquier campo que desee el usuario.
    Sugerencia: use el puntero de función
  7. Se dan dos números, tiene que multiplicarlos sin usar el operador * y también decir el número mínimo de adiciones requeridas para hacerlo. También di una pero no pude decir el número mínimo de adiciones requeridas.
    Solución : Enlace GeeksforGeeks


Ronda 2

Una vez más, el entrevistador miró mi currículum y me dijo que había realizado una buena cantidad de proyectos. Pero de nuevo no hay preguntas sobre mis proyectos.

  1. Diseñe un caché para almacenar cualquier tipo de datos.
    Como no sabemos qué datos se almacenarán, debemos devolver punteros vacíos. Ahora primero implementé con una array. Luego, para el reemplazo de la página, usé LRU. Para realizar un seguimiento del elemento utilizado menos recientemente, utilicé un montón. Me dijeron que lo optimizara aún más. Entonces, primero representó el caché como un montón y finalmente siguió adelante con una lista doblemente vinculada con las direcciones de los Nodes almacenados en un HashMap. Escribió códigos para establecer y obtener funciones para el caché y el reemplazo también.
    El entrevistador me ayudó mucho y me empujó hacia la solución correcta.
  2. Se proporcionó el código de CA y se me pidió que encontrara el error. Fue difícil involucrar punteros y alineación de caracteres dentro del espacio de memoria y fallas de segmentación.
  3. Algunas preguntas sobre la sobrecarga de funciones
    Solución : GeeksforGeeks Link
  4. Se dan las horas de llegada y salida de los trenes, debe encontrar el número mínimo de plataformas requeridas para los trenes.
    Solución : Enlace GeeksforGeeks


Ronda 3

En esta ronda, se discutió en detalle mi proyecto de pasantía. Luego se hicieron las siguientes preguntas:

  1. ¿Qué sucede cuando a menudo asignamos y desasignamos memoria?
    Hubo una larga discusión sobre cómo el sistema operativo asigna memoria, fragmentaciones, cómo evitarlas (compactación).
  2. ¿Cómo funciona la compactación? estaba pidiendo algo
    . Le dije que los bloques de memoria se pueden representar con 0 (libre) y 1 (ocupado). La compactación significaría entonces mover todos los 0 al final. Le dije el algoritmo respectivo para array y lista enlazada.
  3. ¿Cómo ocurre la desasignación y de qué cosas se debe ocuparse durante la desasignación?
    Le dije que en lugar de asignar y desasignar memoria con frecuencia, podemos reutilizarla usando realloc(). Hubo algunas preguntas sobre realloc().
  4. ¿Por qué el recorrido principal de fila de una array muy grande es más rápido que el recorrido principal de columna?
    Le conté los beneficios que puede tener el almacenamiento en caché interno.
  5. Tienes que recorrer una distancia N. Puedes dar 1,2 o 3 pasos. Encuentre el número de formas de hacer s0.
    Dio tanto la solución recursiva como la dp.
    Solución : Enlace GeeksforGeeks


Ronda 4 (Ronda final de recursos humanos)

  1. Esta fue básicamente una ronda de recursos humanos y preguntas como ¿Por qué Adobe?
  2. Si consigue otro trabajo, ¿cómo decidirá cuál aceptar?
  3. ¿Cuál es su preferencia de ubicación? etc.

Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *