Adobe Interview Experience (2 años de experiencia)

Me entrevisté con adobe para el perfil de MTS. Hubo un total de 4 rondas.

Ronda 1: Ronda de codificación en línea

compuesto por aptitud, preguntas basadas en resultados y 2 preguntas de codificación. Uno estaba basado en un mapa hash simple y el otro estaba basado en un árbol de sufijos.

Ronda 2: entrevista F2F 

El entrevistador me preguntó sobre mis proyectos. Le dije que no tenía un conocimiento profundo de c ++ ya que solo había trabajado en Android, pero aún así me hizo preguntas. El entrevistador fue muy servicial y genial, pero sonreía mucho con mis respuestas, lo que afectó mucho mi moral de mala manera.

1)

int a = 10;
void * b = &a;
printf("%d", *b);

respuesta: no puede imprimir un puntero vacío sin encasillar. Lamentablemente no sabía eso.

2. ¿Dónde se almacenan las funciones en la memoria? cómo se resuelven los parámetros en tiempo de ejecución.

respuesta: lea sobre la tabla de símbolos.

3. Estructura y Unión. diferencia entre ellos. cómo se almacenan en la memoria. Luego la conversación pasó a little endia / big endian.

4. Herencia virtual, problema del diamante en la herencia múltiple.

5. Cómo hacer que la clase sea final en C

https://www.geeksforgeeks.org/simulating-final-class-in-c/

6. Digamos que tiene una estructura con un directorio raíz con subcarpetas y archivos dentro. Imprime todos los archivos en la estructura.
Di una solución DFS recursiva normal. Me preguntó acerca de los problemas que podrían surgir. Le dije que si la estructura del archivo es demasiado grande, podría ocurrir StackOverflow. Me dio una pista de que la ruta máxima del archivo está limitada en Windows. Tomé una pista y diseñé la solución que usaba una sola pila para hacer el recorrido.

Además me pidió que pudiera almacenar algunos datos en cada Node de esta estructura. ¿Cómo entrenaré mi algoritmo para tomar decisiones inteligentes basadas en fallas y éxitos pasados? Sugerí que tal vez la cantidad de archivos y subcarpetas en una carpeta podría usarse de alguna manera. No estaba satisfecho. No podía pensar en nada. Dejó la pregunta después de esto.

7.
void fun(int x)
void fun(int x, int y=10)
fun(5); 
¿a qué función se llamará?
https://www.geeksforgeeks.org/default-arguments-c/

8. me preguntó acerca de vTables y vPtr.

Ronda 3 (Ronda Gerencial):

Introducción y me preguntó sobre el proyecto.

1- Explicar sobre la comunicación entre procesos

https://www.geeksforgeeks.org/inter-process-communication/

2- Explicar cómo se logra la sincronización en hilo.

Leer mutex y semáforos. También expliqué todo con la implementación subyacente. Estaba impresionado.

3- Genere una imagen especular del árbol.

https://www.geeksforgeeks.org/write-an-eficiente-c-function-to-convert-a-tree-into-its-mirror-tree/

4- Implementar diccionario

Usé  la estructura de datos Trie para implementarlo. Estaba listo con  el árbol de búsqueda ternario pero no preguntó más.

5- Explicar cómo interactúa un proceso en el cliente con un proceso en el servidor.

Tomé un ejemplo del proyecto web que implementé en la universidad y le expliqué cómo se usan las API REST junto con el método GET/POST para enviar datos y cómo se reciben y procesan al final del servidor.

El entrevistador fue muy amable y me motivó constantemente. Una vez que comencé con la explicación, siguió escuchando sin cruzar preguntas. Esto aumentó mucho mi confianza.

Ronda 4 (ronda DS):

Una vez más, el entrevistador fue muy amable.

1- Explique la diferencia entre los paradigmas de algoritmos de programación codiciosos y dinámicos.

Le expliqué sobre paradigmas con un algoritmo de ambos. Fibonacci para DP y algoritmo Splitwise para Greedy.

2- Convierte un árbol en una lista doblemente enlazada.

Dije que tengo varias soluciones en mente a lo que él respondió: «comienza con la más baja». conoces el ejercicio :p”. Discutimos sobre 2-3 soluciones. En una de esas soluciones, usé una variable estática.

3- Dónde se almacenan las variables estáticas. ¿Qué hay de ciclo de vida en un programa?

4- Subsecuencia creciente más grande. y explicarlo con programación dinámica.

https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/

no preguntó más a las soluciones nlogn. pero para las personas que no conocen la solución nlogn.
https://www.geeksforgeeks.org/longest-monotonically-increasing-subsequence-size-n-log-n/

Terminó después de esta pregunta y fue increíble decir al menos.

Ronda 5 (Ronda de directores):

Yo estaba muy nervioso y él vio eso. Me pidió que me relajara y me trajo una taza de café. Me insistió en tenerlo. Me preguntó sobre los días de universidad, no la parte de estudio sino la parte de masti.
Luego me preguntó por qué quiero cambiar y otra pregunta basada en mi CV. Me hizo una pregunta basada en el diseño.

Supongamos que estamos de viaje y hemos hecho clic en muchas fotos. ahora las fotos se clasifican según la fecha en una carpeta diferente. ¿Qué pasa si quiero que se clasifiquen en función de los eventos?

Sugerí que podemos usar varios parámetros basados ​​en datos de redes sociales, ubicación, procesamiento de imágenes de fondo, etc. Luego modificó la pregunta y dijo que solo se me proporcionaría una marca de tiempo. Sugerí que, según la frecuencia (brecha) entre 2 fotos, podemos clasificarlas. Me pidió que pensara este problema en términos de algoritmo y presentara una solución. Dijo que no hará más preguntas si respondo esto correctamente y salió de la oficina porque tenía una pequeña reunión con alguien. Este movimiento ejerció una inmensa presión sobre mí, tal vez solo estaba comprobando eso. Regresó después de 5 min. Estaba listo con una solución. Le dije que, en función de la marca de tiempo, asignaré una identificación a cada foto que será de naturaleza estrictamente creciente y que la brecha entre las identificaciones de las fotos posteriores se basará en la brecha entre su marca de tiempo, También proporcionaré un control deslizante que ayudará al usuario a agrupar fotos, si está en el extremo izquierdo, cada foto se colocará en un grupo diferente y si está en el extremo izquierdo, se incluirán todas las fotos. Parecía satisfecho. Además me preguntó cuál será el valor predeterminado del control deslizante. Sobre esto tuvimos una larga discusión. Hablamos de pros y contras. Estaba satisfecho y me dijo que había terminado.

Recibí una llamada de recursos humanos después de 2 días.

Consejos:
1) Adobe no quiere escuchar las respuestas de GFG en particular. definitivamente le preguntarán sobre detalles internos o soluciones alternativas para evaluar su pensamiento. estar preparado.
2) Lea OS y C++ básico en profundidad.
3) Los entrevistadores son muy amables y te empujarán hacia la solución dándote pistas. NO te rindas y sigue pensando. También siga compartiendo lo que está pensando, es de vital importancia.

Gracias geeksforgeeks por proporcionar una plataforma increíble.

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 *