Zycus | Senior Java Developer | Interview Experience
Summary
I interviewed for a Senior Java Developer role at Zycus and successfully navigated through multiple technical rounds, receiving an offer. However, I ultimately declined the offer because the compensation did not meet my expectations and the role wasn't aligned with my career aspirations.
Full Experience
I was initially approached by a recruiter on Naukri for a Senior Java developer role at Zycus. After successfully passing an AI screening round, my first technical interview was scheduled.
Technical Round (60 minutes)
This round was conducted by a senior engineering manager based in Mumbai. We delved into core Java concepts such as String immutability, the String pool, and output-related questions. The interviewer also tested my understanding of HashMap's internal workings and the contract between equals and hashCode. Beyond Java, we discussed headers in REST APIs, the synchronized keyword and multithreading, Optimistic Locking, Spring's @Scope and @Produces annotations, and the SAGA design pattern in microservices. I tried my best to answer all questions, though I realized some areas needed strengthening. The interviewer was friendly and knowledgeable, advising me to read more on topics where I struggled. Despite my expectation of rejection, I was surprised to receive a call a week later, informing me I had cleared the round and scheduling a virtual second interview.
Director Round (60 minutes)
This round, taken by a Director, was somewhat unconventional. We began by discussing the high-level architecture of my projects, followed by questions about Spring Boot annotations and Spring Security. A unique task was to simulate a JWT generation program in Java, using AI for assistance, and then walk him through the code. He seemed satisfied and offered a couple of improvements. He also inquired about the design patterns I utilize in my projects. Towards the end, I asked about the team I would be joining and the nature of the work. Nine days later, the recruiter called to inform me they would proceed with an offer.
HR Round (30 minutes)
An HR round was scheduled a week after receiving the offer confirmation. The HR representative clearly articulated the current compensation, my counter offers, and Zycus's offer in a comparative tabular format. We also discussed the offered role, title, and my responsibilities. I was given the flexibility to choose my preferred location. While I appreciated her efforts, I found that the compensation offered did not match my existing counter offers, and more importantly, the role did not align with my current career goals. Consequently, I decided to decline the offer.
Interview Questions (11)
Discuss String immutability and the String pool in Java, including output-related questions.
Explain the internal working of HashMap in Java and the contract between equals() and hashCode() methods.
Discuss the purpose and common types of headers used in REST APIs.
Explain the synchronized keyword and related concepts in Java multithreading.
Describe the concept and application of Optimistic Locking.
Discuss Spring's @Scope annotation (singleton/prototype) and @Produces annotation.
Explain the SAGA design pattern in microservices architecture.
Discuss the high-level architecture of my current projects, including components and design choices.
Discuss various Spring Boot annotations and concepts related to Spring Security.
Simulate a JWT (JSON Web Token) generation program in Java, potentially using AI assistance, and explain the code.
Describe the design patterns I use in my current project and their applications.