Experiencia de entrevista farmacéutica | Ingeniero de Software | En el campus

Ronda 1 – Reanudar la preselección

Se envió un total de 166 currículos a la empresa, de los cuales 29 fueron preseleccionados para la siguiente ronda.

Ronda 2 – Prueba técnica escrita

La duración de la prueba fue de 30 minutos. La prueba tenía 5 preguntas, 3 objetivas y 2 de codificación.

Pregunta 1: se proporcionó un fragmento de código en Python y tuvimos que encontrar los errores en el código.

Pregunta 2: hay n bombillas que inicialmente están apagadas. Primero enciendes todas las bombillas. Entonces tú

apague cada segundo foco. En la tercera ronda, alterna cada tercer foco (encendiendo si está

apagar o apagar si está encendido). Para la i-ésima ronda, alterna cada bombilla I. Para la n-ésima ronda,

solo cambias la última bombilla. Encuentra cuántas bombillas están encendidas después de n rondas.

Respuesta: si el número de posición de la bombilla es un cuadrado perfecto, entonces estará encendida.

Pregunta 3: un total de n jugadores participaron en un solo torneo eliminatorio de tenis. ¿Cuál es el número total de partidos jugados en el torneo? Suponiendo que haya un solo ganador.

(Knockout significa que si un jugador pierde, queda fuera del torneo). Ningún partido termina en empate.

Respuesta: coincidencias n-1

Pregunta 4: escriba un programa para imprimir todas las permutaciones de una string dada. El orden no importa. Debe escribir el código completo y no solo el pseudocódigo.

No se proporcionó nada en la pregunta sobre los duplicados en la string, por lo tanto, escribí el código que se ejecutaría para ambos tipos de strings, con o sin duplicados.

Enlace: https://www.geeksforgeeks.org/print-all-permutations-of-a-string-with-duplicates-allowed-in-input-string/

Pregunta 5: digamos que tiene una array para la cual el i-ésimo elemento es el precio de una acción dada en el día i.

Diseñe un algoritmo para encontrar el beneficio máximo. Puede completar tantas transacciones como desee (es decir, comprar una y vender una acción varias veces).

Nota: no puede realizar varias transacciones al mismo tiempo (es decir, debe vender las acciones antes de volver a comprar).

Enlace: https://www.geeksforgeeks.org/stock-buy-sell/

Puede que estés pensando que es simplemente imposible completar esta prueba en solo 30 minutos, pero si tienes una muy buena práctica, entonces no es tan difícil. Como puede ver, las preguntas de codificación no son nuevas y las preguntas 2 y 3 también son acertijos populares. La práctica es la clave.

Después de esta ronda, 13 estudiantes fueron preseleccionados para más rondas de entrevistas. Todas las entrevistas fueron por Skype.

Ronda 3 – Entrevista Técnica 1 (Duración: 90 minutos)

Esta fue la primera ronda de entrevistas y fue con el CTO de PharmEasy. La entrevista comenzó con la discusión sobre mi currículum. Me preguntó por mis proyectos. Uno de los proyectos fue mi proyecto Google Summer of Code, por lo que me pidió que explicara ese proyecto en detalle.

Luego comenzó con las preguntas de codificación. Hizo 2 preguntas:

Pregunta 1: me preguntó el algoritmo para implementar la función de autocompletar para una barra de búsqueda. Por ejemplo, si ingresé «bar» en la barra de búsqueda, mi algoritmo debería sugerirme todas las palabras válidas que comienzan con «bar» y luego, si ingreso ‘e’ después de eso, todas las palabras válidas que comienzan con «bare».

Mientras me explicaba la pregunta, usó la palabra “trie”. Conocía la estructura de datos Trie y nunca había trabajado con ella, así que le dije que no sabía nada sobre Trie. Entonces, me pidió que me olvidara de Trie y solo sugiriera un algoritmo para resolver el problema.

Después de tener una discusión de 15 a 20 minutos con él, le di la solución, después de lo cual me dijo que esa es en realidad la implementación de Trie y luego quedó impresionado de que hubiera encontrado una solución basada en Trie sin siquiera saber nada sobre Trie. .

Pregunta 2: ahora amplió aún más el problema de qué pasa si alguien ingresa la ortografía incorrecta de una palabra. Al igual que PharmEasy, es una empresa basada en farmacias electrónicas y, al pedir medicamentos desde su aplicación, digamos que alguien ingresó la ortografía incorrecta de un medicamento en la barra de búsqueda. Mi algoritmo debería sugerir la ortografía correcta del medicamento. Esto era muy similar a la función «Quiso decir» de la búsqueda de Google cuando ingresamos cualquier ortografía incorrecta.

El entrevistador fue muy amable y me ayudó mucho mientras avanzaba hacia la solución. Fue realmente difícil para mí encontrar un algoritmo correcto para el problema. Después de muchas discusiones, se me ocurrió una solución que no era del todo correcta. Necesitaba optimizarlo más. Nuevamente tuvimos una discusión de alrededor de 10 minutos, pero no pude decirle la mejor solución. Después de eso, me dijo la solución y que se soluciona con la ayuda de Suffix Tree.

Ni siquiera había escuchado el nombre del árbol de sufijos antes de ese día. Estaba asombrado de cómo la primera ronda de cualquier empresa puede ser tan difícil.

Después de estas 2 preguntas, me preguntó sobre hash. Algunos conceptos básicos sobre hashing, métodos para lidiar con colisiones, cómo implementamos hashing y cosas relacionadas.

Por último, me preguntó si tenía algunas preguntas sobre la empresa. Mi entrevista no salió tan bien como esperaba, y tenía que causarle una impresión, por lo tanto, le pregunté mucho sobre la empresa. Durante la siguiente media hora, estuvimos hablando sobre PharmEasy y lo que hace y cosas similares para hacerle saber cuánto me apasiona este trabajo.

Ronda 4 – Entrevista Técnica 2 (Duración: 30 minutos)

Esta ronda comenzó con el entrevistador diciendo: «Estoy muy impresionado con su currículum».

Me hizo 2 acertijos y 2 preguntas de codificación y luego una discusión sobre mi currículum.

Rompecabezas 1: hay 25 caballos entre los que debes encontrar los 3 caballos más rápidos. Puede realizar una carrera entre un máximo de 5 para averiguar su velocidad relativa. En ningún momento se puede averiguar la velocidad real del caballo en una carrera. Averigüe cuántas carreras se requieren para obtener los 3 mejores caballos.

Enlace: https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/

Acertijo 2: ¿Cómo medimos cuarenta y cinco minutos usando dos cables idénticos, cada uno de los cuales tarda una hora en quemarse? Tenemos fósforos con nosotros. Los cables se queman de manera no uniforme. Entonces, por ejemplo, las dos mitades de un cable pueden quemarse en 10 minutos y 50 minutos respectivamente.

Enlace: https://www.geeksforgeeks.org/puzzle-1-how-to-measure-45-minutes-using-two-identical-wires/

Pregunta de codificación 1: dada una array ordenada arr[] y un valor X, encuentre los k elementos más cercanos a X en arr[].

Enlace: https://www.geeksforgeeks.org/find-k-closest-elements-given-value/

Pregunta de codificación 2: Quicksort en una lista enlazada individualmente

Enlace: https://www.geeksforgeeks.org/quicksort-on-singly-linked-list/

Le di respuestas a todas las preguntas anteriores y luego me pidió que le explicara mi proyecto GSoC y también le gustó el trabajo que hice en ese proyecto.

Mi proyecto GSoC consistía en diseñar e implementar API multiplataforma donde las plataformas de destino eran Android, iOS, Mac OS X, Windows y Linux. Mi organización era Python Software Foundation (Kivy) y el proyecto se llamaba Plyer.

Por último, me preguntó si tenía alguna pregunta para él o sobre la empresa.

Después de esta ronda, 5 estudiantes quedaron preseleccionados y la siguiente y última ronda de entrevistas.

Ronda 5- Entrevista Técnica 3 (Duración: 30 minutos)

Esta ronda solo tuvo un problema, en el que el entrevistador me pidió que implementara un acortador de URL como Bitly o TinyURL.

Empecé dándole una solución basada en hash, pero luego le expliqué los problemas que se enfrentarán debido a las colisiones y luego tuvimos una discusión sobre cómo podemos encontrar una mejor solución. Dado que la entrevista fue telefónica, tuve que seguir diciendo lo que pensaba para que él pudiera entender mi proceso de pensamiento. También me dio varias pistas y hasta que se acabó el tiempo, le di la solución que estaba completa en un 90 % y me dijo que había llegado a un enfoque decente y que si trabajo en eso durante los próximos minutos, lo resolveré. completamente. En general, quedó satisfecho con mi respuesta.

Enlace: https://www.geeksforgeeks.org/how-to-design-a-tiny-url-or-url-shortener/

Por último, me preguntó si tenía alguna pregunta sobre la empresa.

Finalmente, le dieron la oferta a un solo estudiante y yo era ese estudiante. Estoy muy feliz de haber superado el proceso con éxito y agradezco a geeksforgeeks por ayudarme a practicar para las ubicaciones de una manera tan refinada.

Publicación traducida automáticamente

Artículo escrito por malverick 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 *