Experiencia de entrevista en Sirion Labs (FTE fuera del campus)

La ronda 1:

Fue una prueba de detección que constaba de 2 preguntas de codificación y 12 mcq sobre OS, OOP (Java) y complejidad de tiempo.
1) Te dan una array de números enteros, tienes que ponerlos en un orden tal que todos los números primos estén en orden ascendente y los compuestos estén en orden descendente (en su lugar)
Entrada: 5, 4, 3, 7, 8, 10
Salida: 3, 10, 5, 7, 8, 4
Utilicé el método tamiz, 2 colas de prioridad y 1 array booleana para, si el i-ésimo entero es primo, entonces es verdadero. Recorra la array y verifique si la i-ésima posición consistía en un número primo en la array original, luego sondee desde una cola de prioridad que consiste en un número primo.
2) Se le proporciona una array de costos de longitud 9 que indica el costo de elegir i(1 a 9) y algo de dinero de precio. Tienes que construir el mayor número posible con ese precio dado.

La ronda 2:

Fue una ronda telefónica. Solo se hicieron preguntas sobre Java y sobre mi proyecto actual que estaba haciendo en la empresa. Recuerdo algunas preguntas que eran:
1) Diferencia entre String s=”Rishabh” y String s=new String(“Rishabh”)
2) ¿Qué tiene de único String? (Inmutabilidad)
3) ¿Cómo puedes hacer que una clase sea inmutable? Dije asignándole una clase contenedora. Me preguntó qué pasa si tenemos que cambiar algo dentro de esa clase. Le dije que podemos hacer que la clase sea definitiva para que no se pueda heredar. Y dijo que sí, aparte de eso, puede hacer que los campos sean privados y eliminar el método setter.
4) Implementación interna de HashMap
5) ¿Por qué no podemos hacer que la clase abstracta sea final?
Fue más una discusión que una entrevista.

Ronda 3:

El tipo me preguntó si conocía algún RDBMS. Dije MySQL. Luego planteó 2 problemas sobre estructuras de datos y algoritmos que fueron:
1) Supongamos que A=1, B=2, .., Z=26. Dado un número, cuántas cuerdas se pueden hacer a partir de eso.
Entrada: 1234
Salida: 3
ABCD, LCD, AXD
Era una versión modificada de la secuencia de Fibonacci y pude distinguirla correctamente.
2) (Pre-Diwali Bonus :p) Se le da una array de tamaño n y un número k (0<=k<n). Tienes que poner los elementos de k+1 a n-1 al comienzo de la array usando el espacio O(1) y el tiempo O(n).
Entrada: array=1, 2, 3, 4, 5, 6, 7 y k=3
Salida: 5, 6, 7, 1, 2, 3, 4
Invierta la array desde k+1 hasta el final.
Invierta la array de 1 a k.
Invierta toda la array.
Luego me pidió que escribiera una consulta. la pregunta era:
Se le proporciona una tabla Person cuyos atributos son ID, nombre y edad. Tienes que encontrar todas las personas con 2ª edad máxima.
Le di la consulta.
Me pidió el 3er más alto.
Instantáneamente anidé una consulta más en esa consulta.
Me pidió el n-ésimo más alto. Le dije que se usará la palabra clave declare y el bucle for, pero no recuerdo exactamente la sintaxis en este momento.
Luego me hizo algunas preguntas sobre Java, de las cuales conozco pocas, como:
1) ¿Por qué usamos la interfaz? Dije para herencia múltiple y 100% de abstracción.
2) ¿Cuál es el tipo de métodos y variables en la interfaz?
3) ¿Por qué las variables son finales y por qué los métodos no son finales?
Ronda 4:
Fue una llamada de recursos humanos sobre si podrá mudarse a Gurgaon. Dije si. Luego discutió sobre la compensación.
Finalmente fui seleccionado para el puesto de ingeniero de software (desarrollador de Java).

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 *