Ronda 1: Salesforce vino a mi universidad en la segunda semana de agosto para un puesto de SDE. La elegibilidad fue 7+ CGPA, sin retrasos para los estudiantes de Ciencias de la Computación. La primera ronda fue una ronda de codificación en línea realizada en Hackerrank. Constaba de 3 preguntas de codificación, basadas en DSA, para ser resueltas en 90 minutos.
- La primera pregunta fue eliminar un número mínimo de dígitos de una string para que sea divisible por 3, de modo que la string final no tenga ceros a la izquierda. Mi enfoque fue encontrar el resto de la string (después de convertirla en un número) y eliminar los dígitos en consecuencia: si el número era divisible por 3, devolver la string original, divisible por 1, eliminar cualquiera de los dígitos con el resto 1 (en división por 3), divisible por 2, elimine 1 dígito con el resto 2 o 2 dígitos con el resto 1. No pude encargarme de la condición de los ceros iniciales durante la eliminación, así que los eliminé después de eliminar los dígitos. Logré aprobar 5/6 TC con este enfoque. Enlace del artículo .
- La segunda pregunta fue una recurrencia simple pero con grandes limitaciones. La recurrencia fue de la forma T(n) = T(n-1) + T(n-2). Para solucionar las grandes restricciones, en lugar de almacenar las salidas en una gran array de DP, podríamos tomar recordatorios sobre la divisibilidad por 3 y reutilizar el espacio. Mientras escribía la prueba, no me di cuenta de esto, así que forcé mi solución con una gran array de DP y logré pasar 4/8 TC.
- La tercera pregunta fue engañosa. Era una pregunta de 3D DP. La única parte complicada fue darse cuenta de que es una pregunta de DP. Tabular el enfoque fue relativamente sencillo. Logré resolver esto por completo, pasando 6/6 TC.
Sugerencia: Resuelva las preguntas que le resulten más seguras o que le resulten fáciles primero. Nunca dejes una pregunta. Si tienes tiempo, trata de pensar en una forma de resolverlo por la fuerza bruta. En la mayoría de los casos, terminará pasando al menos más de uno de los casos de prueba.
Ronda 2 (Entrevista técnica 1): 10 candidatos fueron preseleccionados después de la primera ronda, incluyéndome a mí. La siguiente ronda se llevó a cabo al día siguiente de la prueba de codificación. Duró casi una hora.
- Esta fue una ronda de par de códigos. La entrevista comenzó con algunas preguntas básicas sobre strings: invertir una string y diferentes enfoques. Tuve que codificar cada enfoque (recursión y recorrido hasta la mitad de la string) y explicar las complejidades del tiempo para el mismo.
- La siguiente pregunta fue eliminar elementos duplicados de una array en el menor tiempo posible. Les dije un enfoque usando un mapa desordenado y luego lo modifiqué usando un conjunto desordenado.
- La siguiente pregunta fue decodificar un número romano codificado en una string a un número. Por ejemplo, decodificar «XII» a 12. Debido a la falta de tiempo, no pude codificar esto completamente ya que faltaban algunos de los casos de prueba.
- Al final, me pidió que reflejara un árbol binario (https://www.geeksforgeeks.org/write-an-ficient-c-function-to-convert-a-tree-into-its-mirror-tree/) . Le dije un enfoque recursivo y le expliqué cómo manejaría los casos extremos.
- Después de estas preguntas, me pidieron que escribiera una consulta SQL para eliminar las filas duplicadas de una base de datos. A continuación, me pidieron que escribiera un pseudocódigo para Quicksort.
- Luego tuvimos una discusión detallada sobre un proyecto de OOPS que había hecho y cómo incorporé diferentes funciones de OOPS (encapsulación, herencia, polimorfismo y abstracción) en mi proyecto. También me preguntó sobre las diferentes capas de una aplicación móvil y las diferentes prácticas de codificación que sigo.
- Por último, la entrevista terminó con una pregunta basada en el diseño de una base de datos, de modo que haya una jerarquía en los datos que se almacenan, por ejemplo, diseñar una base de datos para desarrolladores, desarrolladores senior, gerentes para desarrolladores, etc. Expliqué mi enfoque utilizando formularios normales para reducir los datos redundantes y también mencioné las restricciones de integridad que se utilizarían.
Sugerencia:
- Sigue preparándote para las entrevistas unos días antes de que empiecen a llegar las empresas.
- No tendrá mucho tiempo para prepararse para las entrevistas después de su prueba de codificación.
- Practique el análisis de la complejidad del tiempo siempre que esté escribiendo un código.
- El entrevistador siempre pregunta por la complejidad del tiempo (ya veces del espacio) después de haber escrito el código.
- No omita temas básicos como clasificación, arrays y strings; se les pregunta comúnmente en las entrevistas. Revisar OOPS y DBMS correctamente. Los entrevistadores de Salesforce fueron realmente útiles. Siempre que te sientas atascado, pide ayuda.
Ronda 3 (Entrevista técnica-2): 8 candidatos fueron preseleccionados después de la primera entrevista técnica.
- La entrevista comenzó con una breve presentación del entrevistador y de mí. Luego me preguntó sobre diferentes estructuras de datos y qué usaríamos en diferentes escenarios. Luego me preguntaron sobre la eliminación en una lista de enlaces simples y dobles. A continuación, pasamos al par de códigos en Hackerrank.
- La primera pregunta que me hicieron fue una pregunta de DP. Era esta pregunta: https://www.geeksforgeeks.org/find-length-longest-subsequence-one-string-substring-another-string/ . Podía escribir una de las condiciones correctamente, mientras que la segunda estaba mal. Sin embargo, el entrevistador me ayudó y pude codificar la solución mediante tabulación. Esta fue la única pregunta que me pidieron codificar.
- Más tarde, me pidieron un rompecabezas similar, con 9 bolas y un número mínimo de pasos: https://www.geeksforgeeks.org/puzzle-8-balls-problem/ . Luego tuvimos una discusión en profundidad sobre mis proyectos y cómo usé los conceptos de DBMS y OOPS.
Sugerencia:
- Los entrevistadores de Salesforce son amables y serviciales.
- Incluso si no puede codificar su enfoque, cuéntele al entrevistador sobre su proceso de pensamiento y tome sugerencias.
- Las entrevistas técnicas de Salesforce se centran en los conceptos generales de CS que le han enseñado hasta su segundo año.
- Esperan que tenga un conocimiento sólido de DSA, OOPS, DBMS, conceptos básicos de CS (realmente no puede practicar esto de antemano, en mi opinión), sus proyectos.
- Puedes practicar algunos rompecabezas de antemano desde: https://www.geeksforgeeks.org/puzzles/ .
- Sea minucioso con todo lo que ha mencionado en su currículum. Además, prepare una o dos preguntas sobre la empresa, como el trabajo/proyectos, etc. para hacerle al entrevistador hacia el final de su entrevista.
Ronda 4 (Ronda de recursos humanos): 5 candidatos fueron preseleccionados después de la segunda entrevista técnica. Mi ronda de recursos humanos se llevó a cabo con un gerente de ingeniería sénior de Salesforce. Nos presentamos brevemente y nos hicimos un par de preguntas de seguimiento basadas en la presentación. Esta ronda fue muy personal y respondí todas las preguntas con mucha calma. Un par de preguntas que me hicieron fueron:
- ¿Qué es lo que más extraño de un semestre fuera de línea?
- ¿Cómo planeo mi horario para la semana?
- ¿Cuáles son mis fortalezas/ debilidades?
- Me hicieron dos preguntas basadas en la situación:
- Si cambio mi proyecto, ¿cómo me adaptaría rápidamente al nuevo equipo y proyecto?
- ¿Cómo respondería a los compañeros de equipo que no son muy comprensivos y serviciales?
- ¿Qué es lo que más me gusta de Salesforce?
Sugerencia:
- En la mayoría de los casos, los recursos humanos son muy amigables y están tratando de comprender su comprensión general de diferentes cosas y si es adecuado para su empresa.
- Prepárese de antemano para las preguntas más frecuentes de la ronda de recursos humanos.
- Mantén la calma y responde sabiamente a todas las preguntas. No te emociones demasiado por haber superado las rondas anteriores.
- Conozca bien a la empresa y haga preguntas sobre la misma.
¡Pude despejar la ronda de recursos humanos y fui el único seleccionado de mi universidad!
El artículo es una contribución de Anuradha Pandey .
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