Recientemente tuve una entrevista con flipkart en Bangalore. Esta entrevista tiene 4 rondas. Tres técnicos y un gerente.
Ronda 1: Codificación automática: 1 hora 30 min
Muy buena pregunta
Preguntas: Se le dan algunas ecuaciones que pueden contener > o = en diferentes operandos. Por ejemplo, hay entradas válidas e inválidas (a=5, b<a=50)
String e1 = "a>b=1"; String e2 = "a>b=2"; String e3 = "a>c>e=3"; String e4 = "a>c>f=4"; String e5 = "b>a=5"; String e6 = "a>b>c=5"; String e7 = "b=7"; String e8 = "a>b>c>d=99"; String e9 = "a>b=99"; You need to create JSON string from it. { ‘a’: { ‘b’: [1,2,99], ‘c’: { ‘e’:3, ‘f’:4 } }, ‘b’: { ‘a’ : 5 } }
Los resaltados no son válidos porque cuando vienen solicitan sobrescribir los datos (a>b>c = 5; C tiene e y f para que podamos sobrescribirlos.
Entrada: se le dan esas strings en la array de strings
Salida:
- Construir JSON
- Imprímelo
- Si imprime de la misma manera que arriba (buena manera) +punto
Resolví este problema usando Trie 😉
Uno puede ver mi implementación aquí: https://github.com/nitsgupta/practice/tree/master/JAVA/JsonBuilder
Ronda 2: Discusión y optimización: 30 min
Esta ronda trata sobre la discusión sobre su implementación anterior, ¿por qué la usó? ¿Cómo llegaste al enfoque, alguna optimización adicional? Etc. La entrevista quedó impresionada con la selección e implementación de mi estructura de datos (aunque lo mencioné, asumí algunas cosas y eso se puede generalizar de otra manera)
Ronda 3: DS Algo: 30 min
*Se le proporciona un árbol binario con un puntero adicional: siguiente. Rellénelo
https://www.geeksforgeeks.org/connect-nodes-at-same-level/
* Calcula matemáticamente el ancho del árbol binario, cuál es el ancho máximo que cualquier árbol podría tener de n Nodes.
— Se me ocurrieron 2 logn
*Diseñe una estructura de datos con la siguiente operación en tiempo O(1)
->Enqueue, ->Dequeue, ->Find and ->delete
My Approach1: Respondí usando la tabla hash (elemento, booleano) y la cola
Luego me pidió que le dijera yo cuando tu código se romperá. [Dado que no mencionó, el elemento podría repetirse, por lo que Boolean no es la elección correcta]. Respondí en lugar de booleano, tendré conteo. Después de eso, dije que en ese caso, la eliminación no será O (1).
Mi enfoque 2: Cola como lista doblemente vinculada, Hashmap (entero, doblemente vinculado del puntero al Node de la cola)
*Cuestiones básicas fundamentales.
*Pregunta de probabilidad: se te da una array PxQ y un punto dentro de la array (x,y) donde estás parado. Si sales de la array, morirás. Se le permite moverse en las cuatro direcciones. El movimiento será totalmente aleatorio. Para N pasos dados, ¿cuál es la probabilidad de que vivas?
Mi enfoque: probé diferentes enfoques, de mal a buen enfoque. Mi último enfoque basado en un problema pequeño a un gran problema, es decir, basado en la inducción. Pero no fui capaz de traer a la ecuación lo que él esperaba.
http://stackoverflow.com/questions/16522296/probability-of-death-of-a-man-moving-n-steps-in-a-matrix
Ronda 4: Ronda de gerentes: 2 horas
* Varias preguntas de comportamiento
* Discusión sobre el último proyecto
* ¿Qué problema enfrentó en el último proyecto, cómo lo resolvió?
* Cuénteme el diseño de arquitectura de su último proyecto.
* ¿Qué fue lo más crítico?
* Varias preguntas sobre concurrencia
* Varias preguntas basadas en mi currículum [Había realizado entrevistas en IITR de mi última empresa],
etc.
Quisiera agradecer a Geeksforgeek por una plataforma tan maravillosa para los técnicos.
Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
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