Salesforce vino a nuestro campus para contratar pasantes. Las preguntas realizadas en cada ronda fueron las siguientes.
Ronda de codificación: esta ronda tenía 3 preguntas para completar en 90 minutos.
- Se proporcionó una cuadrícula n*m de bombillas. Algunos estaban encendidos (indicados por ‘O’) y otros estaban apagados (indicados por ‘X’). Cuando cambia el estado de una bombilla, también cambia el estado de las bombillas adyacentes. Devuelve el número mínimo de alternancias necesarias para apagar todas las bombillas o -1 si no es posible. Las restricciones en n, m eran 18. Hice el problema usando BFS, donde dos estados estaban conectados si estaban separados por uno. Esto pasó 5 de los 6 casos de prueba y dio un TLE.
- Se dio una array color[] donde color[i] representaba el color con el que se tenía que colorear un lápiz. Había un pincel correspondiente a cada color y teníamos que esperar b segundos antes de volver a usar el mismo pincel. Forgiven b y color[] encuentran el tiempo mínimo que toma colorear todos los lápices. Una solución codiciosa básica basada en contar las veces que se requiere cada color fue suficiente para pasar todos los casos de prueba. Una cantidad de lápices, una cantidad de colores distintos, y todos fueron menos de 100.
- Se dio un precio objetivo. Se dieron dos arreglos con precios de la corteza y precios de los aderezos. La misma cobertura se puede utilizar como máximo tres veces. Teníamos que crear una pizza con el precio más cercano posible al precio objetivo. El precio podría ser más que el precio objetivo también. Pero si hay empate, teníamos que devolver el precio más bajo. Reiteré los precios de la corteza y encontré el valor más cercano a la cantidad restante mediante el rastreo. Esto fue suficiente para pasar todos los casos de prueba. El número de cortezas fue inferior a 10 y el número de coberturas fue inferior a 18.
Los estudiantes que pudieron resolver 2 problemas fueron llamados a entrevistas. 20 estudiantes fueron llamados para la entrevista.
Primera entrevista: El entrevistador primero se presentó y luego me pidió que me presentara. Esta parte terminó en 5 minutos. Entonces me dio la pregunta. Antes de darme la pregunta, me dijo que lo que importa es el enfoque, discutiremos diferentes enfoques y los compararemos. La cuestión era generar todas las permutaciones de una string dada que no tuviera caracteres repetidos. Inmediatamente le di un enfoque y escribí un pseudocódigo. Luego me pidió que probara un pequeño ejemplo, lo cual hice. Luego presentó un enfoque alternativo, sobre el cual discutimos. Luego le dije por qué su enfoque fue ligeramente mejor que mi primer enfoque y quedó impresionado. Luego me pidió que implementara su enfoque, lo cual hice. Ejecutó el código y funcionó al primer intento.
Luego procedió a hacer algunas otras preguntas. Me preguntó cuándo usarías una clase abstracta y cuándo usarías una interfaz. Le di algunos puntos genéricos de diferenciación y quedó satisfecho. Luego me preguntó si sabía sobre patrones de diseño. Dije que he trabajado con Spring, así que he oído hablar de la inyección de dependencia, pero no soy un experto. La siguiente pregunta fue sobre los índices de las bases de datos y le dije que no habíamos abordado el tema en la universidad. Él sonrió y terminó la entrevista.
En 20 minutos me llamaron para la siguiente entrevista. 17 estudiantes fueron llamados para la segunda entrevista.
Segunda entrevista:Cosas de introducción similares. Esta fue únicamente una entrevista de codificación. Me hizo dos preguntas. Al primero se le dio una array de lados, construya un triángulo con el perímetro más grande. Esto fue bastante fácil. Le dije que ordenaría la array y comenzaría a verificar en grupos de tres desde el último elemento. Le dije que solo necesitamos verificar tres elementos consecutivos. Como A[i] <= A[i+1] <= A[i+2], la única desigualdad que necesitamos satisfacer es A[i]+A[i+1] > A[i+2], si esta condición se cumple, debemos regresar inmediatamente, si no, no tiene sentido mantener A[i+2] ya que cualquier elemento antes de A[i] no nos ayudará a obtener una suma mayor. Estuvo de acuerdo con esta respuesta, pero me preguntó si podía hacerlo en O (n). No pude al principio, pero luego me dio una pista sobre el uso de la cola de prioridad. No pude entender la indirecta de inmediato, pero terminé consiguiendo lo que él quería que hiciera. Dije que podíamos acumular la array en O(n) y luego hacer lo mismo con los 3 elementos superiores. Problema de practicaenlace , enlace del artículo
Luego pasamos a la siguiente pregunta. Se da una array de caracteres que debe considerarse como el ordenamiento natural de los alfabetos. Después de esto, devuelve si una lista dada de palabras está ordenada o no. Dije que crearía una lista alternativa donde el primer carácter se reemplazará con ‘a’, el segundo con ‘b’ y así sucesivamente. Reconoció que estaba en el camino correcto, pero me pidió que mejorara mi enfoque desde el punto de vista de la memoria. Tomé una pista menor y luego sobrecargué el operador <= para comparar strings en función del orden dado. Estaba satisfecho y la entrevista había terminado. Enlace al artículo
En una hora me llamaron para la ronda de recursos humanos. 12 estudiantes fueron llamados para la entrevista de RH.
Tercera entrevista:Esta fue una ronda bastante relajada. El entrevistador se presentó y yo hice lo mismo. Tenía mi currículum frente a él y me pidió que explicara una contribución de código abierto que había mencionado en mi currículum. Profundicé mucho y lo expliqué durante unos 10 minutos. No hizo ninguna pregunta de seguimiento. Luego me preguntó por mis proyectos. Le expliqué mis dos proyectos y quedó satisfecho. Luego me preguntó cuáles eran los retos a los que nos enfrentábamos al hacer los proyectos. Ya me había preparado para preguntas como estas, así que pude dar una buena respuesta. Luego preguntó cuál es la diferencia entre trabajar solo y trabajar en equipo. Le di una respuesta genérica sobre el espíritu de equipo y las pruebas, etc. Luego me preguntó qué esperaba del mundo corporativo. Luego me pidió que diseñara un sistema como Flipkart. Enumeré algunas características y escribí algunas tablas. Hablé al respecto durante unos 10 minutos impares y luego le dije que no esperaba que me hicieran una pregunta sobre el diseño del sistema en una entrevista de contratación de becarios. Dijo que solo quería ver cómo afrontaba un problema y, obviamente, no esperaba que diseñara Flipkart en 10 minutos. Entonces la ronda había terminado.
Los resultados se declararon el mismo día y 4 estudiantes, incluyéndome a mí, fueron seleccionados para la pasantía.
PD: Si no eres súper talentoso o súper afortunado o súper trabajador, seguramente enfrentarás algunos rechazos. Yo mismo fui rechazado por 4 empresas (con estipendios de 6 dígitos) antes de ingresar a Salesforce. Ten fe en ti mismo y en tu arduo trabajo. Sé que es más fácil decirlo que hacerlo, pero confíe en el proceso. Eventualmente obtendrás lo que te mereces.
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