Ronda -1 en el rango de hacker
1) Encuentra la primera palabra repetida en una oración.
– Use un conjunto para almacenar palabra por palabra e insertar devolvería falso cuando esté duplicado.
– Utilice un hashmap para almacenar los recuentos y detectar los duplicados.
2) Dada una lista de coordenadas, ¿cuál es el tamaño mínimo del rectángulo para que el número k de puntos se encuentre dentro del rectángulo?
– No se pudo encontrar una solución de respuesta completamente correcta escrita, solo pasó 6 casos de prueba.
Ronda – 2
1) Imprime la ruta a un Node desde la raíz en un árbol binario.
– Pregunta fácil para escribir el código y verificar si cubrimos los casos extremos.
2) Encuentra la mediana de flujo continuo de números.
– Más frecuentes en las preguntas de la entrevista de Amazon
3) Eliminar un Node en un enlace cuando no tenga nada más que el puntero al Node que desea eliminar.
– Atravesar para encontrar el Node que queremos eliminar no es un enfoque viable, podría tener la idea de copiar desde el siguiente Node y, como apuntamos anteriormente al Node que queremos eliminar, es bueno.
– Caso de borde, ¿y si el Node es el último Node de la lista enlazada?
4) Estructura de datos a elegir para almacenar las palabras de un diccionario.
– Los mapas hash no son la solución óptima ya que terminas asignando memoria para cada palabra.
– Los intentos son las mejores estructuras de datos posibles para elegir
5) ¿En qué medida los intentos son una mejor opción que los Hash Maps para almacenar las palabras de un diccionario?
6) Factor de carga del mapa hash y cómo afecta el rendimiento del mapa hash.
7) Preguntas hechas sobre iguales y contrato de código hash de los mapas hash.
8) Momentos en los que decide elegir una lista enlazada o una lista de arrays.
– Cuando sus requisitos son realizar más eliminaciones e inserciones en lugar de la búsqueda.
9) Pregunté la diferencia entre los mapas hash simultáneos y Collections.synchronized(hashmap)
– Tropecé un poco porque no estaba al tanto de la división de bloqueo que ocurre en los mapas hash concurrentes.
10) Explique los iteradores fail fast y fail safe.
11) ¿Se permite la anulación estática si no es así, por qué?
– No es posible ya que los métodos estáticos se vinculan en tiempo de compilación y los métodos no estáticos se vinculan en tiempo de ejecución.
12) ¿Se le preguntó acerca de los grupos de subprocesos y por qué usarlos?
Ronda – 3
1) Me pidieron que escribiera el código para la creación de puntos muertos
. Escribí 2 ejecutables en los que llaman bloqueos sincronizados anidados en el orden inverso/
2) ¿cómo evitar bloqueos muertos?
3) Hizo alguna pregunta relacionada con el enhebrado
4) Dada la lista de palabras de un diccionario {cat, rat, mat,map} dadas 2 palabras cap – map
, puede cambiar solo un carácter a la vez,
por ejemplo: cap – cat – mat – map
«http://paste.ofcode.org/6Cb2DFbwHXB2nG3xJEze2n»: sugerí la lógica del código.
5) Preguntas sobre el uso compartido de objetos mediante la serialización. También habló sobre el uso de la utilidad gson to Json para compartir objetos entre aplicaciones.
Ronda – 4
1) Me pidió que escribiera el código para el patrón singleton
– Escribí el código para el patrón singleton doblemente verificado
2) Me preguntó si conocía el patrón decorador
– Dije que no tenía idea de eso.
3) Me preguntó sobre el robot capaz de moverse en diferentes direcciones, pero debería tener la capacidad de dar los pasos hacia atrás
. No hizo clic en la estructura de datos que debería usar. hacer los pasos hacia atrás.
4) Hizo una pequeña pregunta sobre si hay otros objetos que no se pueden serializar que tenemos que usar en nuestra clase que se espera que
sean serializables, ¿cómo lo hacemos?
Ronda – 5 (F2F)
1) Preguntas formuladas sobre las colas de mensajes, ¿cómo realizó la implementación de la respuesta a la solicitud utilizando las colas de mensajes?
2) ¿Qué es JMS, en qué se diferencia de otros proveedores de herramientas como mq activo, etc.?
3) Importancia preguntada de colas y temas. 4) Dada una lista de usuarios y sus números de teléfono, cada usuario puede tener
varios números de teléfono
– El entrevistador me dio una pista de que puedo obtener el mapa de entrada como una lista en el mapa hash
– Así que escribí un comparador para comparar los tamaños de la lista de arrays en el objeto del mapa de entrada.
– Llamado colecciones.sort();
5) Se le pidió que imprimiera la vista del lado derecho de un árbol binario.
– Se sugirió hacer un primer recorrido en amplitud en el árbol binario usando la cola y extraer el último elemento.
– preguntó ¿cómo vas a encontrar el último elemento de la cola?
– Sugirió qué tal usar stack para realizar el primer recorrido en anchura del árbol binario.
6) Cuando se me preguntó cómo se obtienen los volcados de subprocesos
, dije que uso la herramienta de línea de comando jstack para obtener los volcados.
Ronda -6 (F2F)
1) El robot está en algún lugar dentro del rectángulo, solo puede realizar operaciones como avanzar, retroceder, izquierda y derecha.
Pidió encontrar el área del rectángulo.
2) Después de eso, dijo que el rectángulo interior está lleno de obstáculos de tamaño arbitrario, así que ahora cómo encontrar el área.
dijo, suponiendo que mi rectángulo se pueda dividir en unidades más pequeñas llamadas píxeles, si pudiera cubrir todos los píxeles del robot, podría obtener el área.
Pero no pude escribir el código sobre cómo hacerlo.
Dijo que esto es similar a la búsqueda primero en amplitud que hacemos en un gráfico conectado por puntos.
Pero no hizo clic.
3) Preguntado sobre cómo hacer que las aplicaciones sean escalables usando redis.
Dije que no tenía idea de eso.
Fuente: http://pavanraj84.blogspot.in/2015/08/my-interview-questions-at-quickr.html
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