Ronda 1 (Ronda de codificación de la máquina):
La primera ronda fue una ronda de tareas en la que se suponía que debía implementar un sitio web similar a https://8tracks.com/. El requisito era diseñar CRUD Apis en el idioma de su elección y mostrar las 10 pistas de tendencias principales.
La evaluación se realizó sobre la base del diseño de la base de datos de bajo nivel, la corrección del código y la cobertura de las pruebas unitarias. El entrevistador esperaba que el código funcionara y también pidió una demostración.
Ronda 2 (Resolución de problemas):
- Dado un flujo infinito de números enteros que llegan ordenados, verifique si hay un número presente en el flujo
- Dada una string de la forma abc{1}p{2}, expanda la string. Elimine los números y repita la string antes del número tantas veces como el número encerrado en {}
- Entrada: ab{2}c Salida: ababc
- Entrada: xy{2}bd{2} Salida: xyxybdxyxybd
- Entrada: a{3}b{2} Salida: aaabaaab
Ronda 3 (Diseño del sistema):
La ronda se centró en el diseño de sistemas de alto nivel. Me pidieron que diseñara un Sistema que pudiera registrar a los usuarios y los usuarios pudieran realizar operaciones como la carga de archivos. El sistema debe autenticar a los usuarios y cada usuario debe tener diferentes permisos en varias operaciones.
Se esperaban componentes de alto nivel como Load Balancer, aplicaciones y servidores web. Además, el entrevistador esperaba que se expusieran las API. Además, hubo preguntas centradas en la consistencia/disponibilidad y almacenamiento en caché.
Ronda 4 (ronda del gerente de contratación):
La ronda fue una discusión técnica con el gerente de contratación y se centró en conceptos relacionados con la tecnología, como redes, fundamentos del sistema operativo, simultaneidad y bases de datos. Algunas de las preguntas que no pude responder fueron
- ¿Cuál es la diferencia entre la programación concurrente y la programación paralela?
- ¿Qué es el compromiso de dos fases?
- ¿Qué son los controladores de señal en el sistema operativo? ¿Y qué sucede cuando realizas un kill -9 en un proceso?
- Cuándo usar programación asíncrona vs síncrona en microservicios
En general, fue una gran experiencia y todas las entrevistas transcurrieron sin problemas. Además, los entrevistadores se mostraron entusiastas y me dieron pistas cada vez que estaba atascado. Rechacé la oferta porque ya tenía una oferta de otra compañía.
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