Cloudera , SSE
Summary
I recently had an interview at Cloudera for an SSE role, which involved a Low-Level Design round focusing on service dependencies and a technical deep-dive on Java, Spring Boot, microservices, and practical production challenges.
Full Experience
My interview experience at Cloudera for the SSE role was structured into two main rounds. The first round was a Low-Level Design (LLD) focused on designing linked services and managing their dependencies. The interviewer emphasized the need to optimize dependent service querying and strictly adhere to SOLID principles throughout the design process, ensuring proper class design, dependency management, and separation of concerns. It was a challenging session where I had to think critically about architectural best practices.
The second round delved into more specific technical areas, primarily covering Java, Spring Boot, and microservices. We also discussed my current projects in detail. The questions were quite practical, testing my knowledge of framework nuances and production-level problem-solving. It was an engaging discussion covering various aspects of enterprise application development.
Interview Questions (3)
The LLD round required me to design linked services and their dependencies. The key focus was on optimizing how dependent services query each other, while rigorously applying SOLID principles in class design, dependency management, and ensuring a clear separation of concerns.
I was asked to explain the behavior and solution for implementing a retry mechanism in Spring Boot when a @Retryable method is invoked by another method within the same class. This typically leads to a self-invocation issue where the proxy mechanism doesn't intercept the call.
The interviewer posed a practical scenario: how would you go about changing a live database column name in a production environment without incurring any downtime for the application?