Experiencia de entrevista de Samsung para pasante de I + D (SRI-Bangalore)

Samsung Research Institute, Bangalore (SRI-B) visitó nuestro campus de NIT-Warangal el 17 de septiembre de 2020 para contratar pasantes para el verano de 2021. Solo los estudiantes de Circuit Branch (CSE, ECE, EEE) podían solicitar este pasante y con CGPA>= 7.0. Hubo en general 3 rondas. Alrededor de 130 estudiantes han solicitado este puesto.

Nota: Todo el proceso fue virtual ya que las universidades no están abiertas durante este tiempo de pandemia.

Prueba en línea: se realizó en cocubes.com con supervisión permitida. Nos dan 3 preguntas de codificación para ser resueltas en 65 minutos. A cada pregunta se le asignan unas puntuaciones. No se permitió STL, que no era necesario para mí. Diferentes personas recibieron diferentes conjuntos de preguntas.

  1. Clasificación por filas en array 2D (3 puntos) -FÁCIL
  2. Suma de primos de un Node dado en un árbol binario (5 puntos) -DURO
  3. Eliminar claves BST fuera del rango dado

    (O)

    https://leetcode.com/problems/trim-a-binary-search-tree/ (5 puntos)- MODERADO

Primero se puede resolver usando una ordenación simple, pero la array de entrada se proporciona como una array INT **, por lo que es un poco complicado usar punteros. El segundo se puede resolver utilizando la búsqueda en amplitud (es necesario tratar los casos de Edge). El tercero se puede resolver usando la recursividad y la propiedad min-max de un BST.

He resuelto las 3 preguntas. Los he resuelto previamente en Geeksforgeeks durante mi preparación.

Muchos han resuelto las 3 preguntas. Por lo tanto, la complejidad del tiempo y el tiempo de presentación fueron importantes para la preselección.

ENTREVISTAS TÉCNICAS: Hubo 2 entrevistas, ambas técnicas. Ambos estaban en skype. He compartido un enlace de par de códigos donde tengo que escribir pseudocódigo o completar el código ejecutable si es necesario.

Ronda 1: La entrevista comenzó con su presentación y me pidió que me presentara. Luego me preguntó sobre mi proyecto DBMS. Luego sobre mi proyecto de desarrollo web. Quedó impresionado con mi base de datos. 

Luego pidió un acertijo simple: si hubiera 10 equipos en IPL y si cada equipo tiene que jugar 3 partidos con todos los demás equipos en la fase de liga, ¿cuántos partidos tendrá la IPL en la fase de liga?

Luego, algunas consultas SQL sobre situaciones de la vida real basadas en agrupar, unir, arriba y ordenar. Luego preguntó por la NORMALIZACIÓN. 

Empezó a hacer preguntas sobre DS y algoritmos. Me pidió que implementara una pila usando una cola. Lo he hecho. Luego hizo algunas preguntas de codificación sobre Listas y árboles enlazados.

  1. Escribe una función para obtener el punto de intersección de dos listas enlazadas . Tengo que escribir el código ejecutable que he hecho. (Un enfoque de 2 punteros). La extensión se encontró en la longitud de la parte de la intersección, lo cual fue muy fácil.

  2. Se le proporciona una Lista de enlaces dobles con un puntero de cada Node apuntando al siguiente Node como en una lista de enlaces únicos. Sin embargo, el segundo puntero PUEDE apuntar a cualquier Node de la lista y no solo al Node anterior. Ahora escribe un programa en tiempo O(n) para duplicar esta lista. Es decir, escriba un programa que cree una copia de esta lista. 

    Ejemplo:

    He explicado su proceso. Quedó bastante impresionado con mi respuesta (no es necesario codificar).

  3. Cómo construir un árbol binario dado preorden y en orden. He respondido un enfoque O (n2). Ha preguntado qué pasaría si fuera un BST. Dije que podemos hacerlo en tiempo O(n) sin la necesidad de en orden usando el método min-max de recorrido de árbol. Quedó muy impresionado con mi enfoque. 

    Escribí un pseudocódigo, estaba bastante satisfecho con mi enfoque.

Esta ronda duró una hora y me preguntó si tenía alguna pregunta para él. El entrevistador fue muy amable. Hice algunas preguntas sobre el trabajo de la empresa y la tecnología. Luego, en 20 minutos, recibí un enlace a mi correo para la ronda 2.

Ronda 2: El entrevistador me pidió que me presentara. También me preguntó sobre mi proyecto DBMS.

Luego me preguntó si estoy familiarizado con los conceptos de programación orientada a objetos. Dije si. Preguntó sobre la herencia y el problema de los diamantes. Preguntó cómo superar este problema. Le dije al operador de alcance y la palabra clave virtual. Luego preguntó acerca de VTABLE y VPTR (polimorfismo en tiempo de ejecución). Luego preguntó sobre la abstracción y las interfaces en Java. Luego, preguntas sobre punteros avanzados como punteros singleton, etc., en C++. Me hicieron preguntas detalladas sobre los OOP en general.

Luego comenzó a hacer preguntas sobre estructuras de datos. 

  1. Orden a nivel de espiral de un árbol binario. Me tomó de 10 a 15 minutos codificarlo por completo.
  2. Combinar ordenación y ordenación rápida. Tengo que escribir un pseudocódigo. Luego relaciones de recurrencia en tiempo-complejidades de ellos. Luego preguntó cuál es mejor entre esos 2. Ser bueno escribiendo pseudocódigos.
  3. Luego me preguntó sobre el hashing. Luego me pidió que explicara diferentes técnicas de hash. Luego, sobre la mejor técnica de hash. Lo he hecho bastante bien en general en esta ronda. Le he explicado todo lo que me ha pedido.

Luego me preguntó si tenía alguna pregunta para él. Esta ronda también duró una hora. Dijo que ha terminado con el proceso y nos pondremos en contacto con usted. Después de una espera de casi 4 horas, he recibido un correo de que estoy seleccionado. Estoy muy emocionado de trabajar allí.

Nota: No te pongas nervioso al principio. Es muy importante hablar con el entrevistador sobre su enfoque mientras codifica.

Gracias, Geeksforgeeks por ayudarme a aprender diferentes técnicas y temas que me han ayudado a lograr esto.

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 *