Tuve la oportunidad de dar la entrevista de VMWare durante octubre de 2020. Fue una experiencia totalmente diferente y alucinante. Era un perfil de desarrollador senior para el que había solicitado. Presenté mi solicitud a través del sitio web de la Compañía, el portal de carreras. Todo fue muy suave. Los reclutadores fueron muy amables. Me informaron que serían entrevistas consecutivas de 3 horas, 1 hora cada una en un área diferente de especialización. Mi entrevista duró alrededor de 3 horas y 45 minutos.
La siguiente es la lista de preguntas que me hicieron, cada ronda tenía un entrevistador diferente:
Me dieron un inicio de sesión de Hackerrank y se compartió una pantalla para verificar mis habilidades de codificación.
Primera Ronda (Más sobre Core Java):
- Dada una lista de palabras, organícela como si estuvieran presentes en el diccionario en forma alfabética y proporcione la última segunda palabra presente en el diccionario a partir de estas palabras. gato, murciélago, rata, rey, reina, sabio, largo, zoom, VMware
- Diseño de un estacionamiento para un parque de TI. ¿Qué API expondrá? ¿Qué patrones de diseño usarás?
- Dada una lista de strings en una clase. Defina un getter de tal manera que los clientes de la clase no puedan modificar la array, pero usted puede modificarla dentro de la clase. Si lo cambiamos a una array de strings, ¿cómo lo haría?
- ¿Qué algoritmo de clasificación aplicará en la pregunta anterior y por qué? ¿Cómo lo iterará en comparación sin usar métodos de ordenación de API?
- ¿Qué es una copia profunda y qué es una copia superficial? ¿Cuándo y dónde se usa?
Segunda ronda
- ¿Qué son los microservicios y por qué los necesitamos? ¿Cuál es el caso de uso de un microservicio? ¿Cuáles son los pros y los contras de usarlos? ¿Cuándo escalarías verticalmente y cuándo escalarías horizontalmente?
- ¿Qué es la escalabilidad y por qué es necesaria? ¿Cuál es la diferencia entre alta disponibilidad y escalabilidad?
- Si un servicio, digamos un microservicio, se implementa en 3 Nodes diferentes de un clúster, ¿se comunicarán entre sí? Si es así, ¿entonces cómo? ¿Será un buen diseño que comuniquen, ya que es el mismo servicio? Se hará la copia de la base de datos/cuántas instancias de la base de datos habrá.
- ¿Qué es la concurrencia? ¿Qué es el caso de uso? ¿Cómo se comunican los hilos? ¿Cuáles son sus diferentes modos de funcionamiento?
- ¿Qué es la sincronización? Cómo se consigue, con ejemplos..
- ¿Cómo creamos un hilo… extiende el hilo, implementa Runnable? ¿Cuál es mejor y por qué?
- ¿Qué es una cola de bloqueo? ¿Cómo bloquea un hilo si está lleno/vacío?
- ¿Qué son las colecciones concurrentes? ¿Cómo logran la concurrencia?
- ¿Funcionamiento interno del mapa hash concurrente? ¿Qué es una excepción de modificación concurrente?
- ¿Qué es la API de secuencias? ¿Para qué se usa esto?
- Dada una lista de empleados. Necesito buscarlos según su nombre/apellido/edad, etc. Pero mi búsqueda debe ser contenida. ¿Qué estructuras de datos se deben utilizar? ¿Y cómo voy a buscar?
Tercera ronda
- Invertir una lista vinculada
- Diseñe un candado donde haya dos funciones adquirir() y liberar() y dos subprocesos tengan que usarlo. ¿Cómo escribirás el código para ello?
- Diseñar un algoritmo de acortamiento de URL. I/P es una URL larga con parámetros de un usuario y debe proporcionar una URL corta al usuario en su correo electrónico. Cuando se hace clic en la URL corta, se abre la URL larga con los parámetros respectivos. ¿Cómo diseñarás esto?
- ¿Qué es la inyección de dependencia?
- ¿Qué es el principio de sustitución de Liskov?
- ¿Qué es el patrón MVC? Por qué lo necesitamos ?
En general, fue una gran experiencia.
Publicación traducida automáticamente
Artículo escrito por mathurritika y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA