Experiencia de entrevista de Walmart Labs | Conjunto 17 (Pila de desarrollo de Java con experiencia)

Presenté una solicitud en Walmart Labs a través de la recomendación de un empleado, al día siguiente recibí una llamada de Recursos Humanos y me pidió que le informara sobre mi trabajo y cuánto me interesaba mudarme a Bangalore. Informó que programarán una entrevista (telefónica) la próxima semana. Todo el proceso de la entrevista tardó una semana en completarse: 2 conversaciones telefónicas seguidas de 5 discusiones cara a cara.

2 Discusión técnica telefónica

Ronda 1:  1.er Webex/debate telefónico (preguntas de DS)

  1. Encuentre un triplete tal que los índices estén en orden creciente así como los valores en el índice.
    Subsecuencia ordenada de tamaño 3
    Pregunta de seguimiento para  Optimizar usando una array  ya que tenemos que encontrar solo un triplete, no todos.
  2. Encuentre todos los Nodes a una distancia k de un Node de destino.

Ronda 2:  2.º Webex/discusión telefónica (DS y preguntas de diseño)

  1. Diseñe una pila que proporcione push(), pop() y min() en O(1). Use solo Stack, no ninguna otra estructura de datos.
  2. Diseñe una aplicación para «Reserva de mesa de restaurante»:
    – Diseño de la base de datos (varias tablas involucradas) y cómo están relacionadas (Diagrama UML/ER)-
    – ¿Qué API deben exponerse a alto nivel?
    – Flujo de la aplicación
    – Más estrés en la reserva de manera eficiente y
    – Manejo de varios escenarios, como cómo mantener asientos vacíos y vacantes para la construcción de hoteles con mesas de almacenamiento múltiple.

Recibió comentarios al día siguiente y se le pidió que viniera para una discusión F2F.
Proporcionaron boletos de avión. Fue un evento de un día. Comenzó temprano en la mañana a las 6:00 a.m. desde Hyderabad y regresó a Hyderabad a las 11:30 p.m. Tuve 5 discusiones técnicas F2F en la oficina de Walmart Labs en Bangalore.

5 Discusión técnica F2F

Ronda 3:  1ra discusión F2F (Java/DS/Proyectos)

  1. Discusión detallada del proyecto: discusión detallada del proyecto en el que estaba trabajando y mi contribución.
    – ¿Por qué esto y aquello?
    – ¿Alguna otra forma de hacerlo?
  2. Pregunta relacionada con Java Wrapper Class. ¿Cuál es la importancia de la clase Wrapper en Java?
  3. ¿Clase inmutable en Java y cuál es su significado en Java?
  4. Discusión de clase de Singleton y código de muestra.
    – Inicialización temprana y perezosa de Singleton
    – Código de muestra de bloqueo doblemente verificado.
    –  Patrón de soporte para crear una instancia de Singleton
  5. Archivos con varias líneas: se pasan dos palabras como entrada. Encuentra la distancia mínima entre ellos
  6. Pregunta basada en la distancia horizontal del árbol binario: imprime todos los Nodes en orden ordenado de hd. es decir: Nodes a distancia horizontal: -3 -2 -1 0 1 2 3 (Usó TreeHashmap en lugar de HashMap)

Ronda 4:  2da discusión F2F (DS/escaneo de reanudación) 

  1. Escriba un código de muestra para generar todas las permutaciones de una string determinada.
    – La idea era hacer una iteración de toda la recursividad y asegurarse de que no se atracara.
  2. Encuentre el palíndromo más largo en una string: solución de fuerza bruta a solución DP .
  3. Escaneo de currículum comprender dónde he usado qué tecnologías

Ronda 5:  3ra discusión F2F (Java/DS)

  1. Breve resumen del proyecto en el que estoy trabajando y algunas preguntas relacionadas con él. Mencioné que he escrito un analizador para SQL Server usando javacc y usa Tree DS para la iteración de Nodes. Siguiente pregunta de DS.
  2. Encuentre la suma máxima en el nivel dado en el árbol binario dado. (Recorrido de orden de nivel)
  3. Encuentre la suma de todos los Nodes a una distancia horizontal dada. Mostrar en orden descendente (HD: 4 3 2 1 0 -1 -2 …)
  4. Implementación de expresiones regulares : prueba de coincidencia o te*t o t?*t
  5. Cambios en el modelo de memoria de Java en Java 8: concepto de metaespacio. ¿Cuál es su beneficio?
  6. ¿Qué es una referencia débil? No respondí bien esta pregunta.
  7. Cuales son otras tecnologias en las que he trabajado y donde.
    – Primavera AOP – Pato para mí. No trabajado con Spring
  8. Patrón de diseño que he usado y dónde. También lo que son DP lo sé.
  9. Proyecto que han hecho con mucho esfuerzo o alguna situación como esta.
  10. Java proporciona algún mecanismo de seguridad para evitar ataques a través de la reflexión. No pude responder correctamente. Se refería a mi blog , ya que he escrito cómo romper singleton usando Reflection.

Ronda 6:  4ta discusión F2F (Diseño / Resolución de problemas)

  1. Discusión del proyecto y mi contribución al mismo.
  2. Diseñe un sistema de inventario.
    – Diseño de sistemas de alto nivel considerando escalabilidad y rendimiento.
    – Discusión sobre caché distribuida y cómo se usa.
    – Importancia del equilibrador de carga y sus usos.
    – Diseño de base de datos,
    – Cómo lograr la abstracción de la base de datos (hoy DB relacional, mañana puede ser NOSQL).
  3. ¿Cómo manejar la solicitud de tráfico de gran volumen?
  4. Algunas preguntas relacionadas con el volcado de subprocesos y la creación de perfiles.
  5. Un problema a resolver: se proporciona un XML con Nodes de pedido. Mostrar Nodes ordenados según la identificación seguida del nombre del pedido. – Di una solución de fuerza bruta.
    Restricción impuesta  : no utilizar la API de recopilación para ordenar y no comparar.

Ronda 7:   5ta discusión F2F (Diseño / Ronda de sistemas distribuidos / Preguntas abstractas)

  1. El proyecto en el que ha trabajado lo hace sentir orgulloso y hace preguntas de seguimiento con respecto al esfuerzo y las líneas de código.
  2. Diseñe un sistema de subprocesos múltiples que maneje las requests de fallas, las requests de fallas se actualizan en la base de datos.
    – Mi solución fue encontrar el código hash de la marca de tiempo del registro y distribuir el registro fallido a múltiples subprocesos, se mantiene un grupo de subprocesos para un número específico de subprocesos.
  3. La siguiente pregunta es qué pasa si hay varios servidores en la imagen: cómo enviar una solicitud para que la maneje el grupo de subprocesos de varios servidores.
    -Sugerí usar un balanceador de carga y hacer una solicitud de extracción: leer el registro de db y enviarlo a varios servidores, por lo que no se envía el mismo registro a dos servidores.
  4. Qué es el bloqueo implícito y explícito. ¿Cómo funciona el manual para hilos? Interfaces y Clase utilizadas para implementar el bloqueo explícito.
  5. Diseño de bloqueo distribuido.
    – Sugerí un mecanismo de bloqueo basado en archivos, comunicación jvm a jvm.
    – Preguntó qué pasa con el bloqueo basado en db. No se pudo explicar correctamente.
  6. Cómo diseñar un sistema de tal manera que un tipo (tipo/alguna PK) de datos siempre se actualice en secuencia, sin actualizaciones sucias.
    – Sugerí el enfoque de reducción de mapa.
    – Enfoque basado en sellos de tiempo.

Ahhhhh!!! Finalmente, Hora de irse. Exhausto.
Finalmente, me uní a Walmart.

–Autor
Nikhil Ranjan
http://www.devinline.com/

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 *