VISA | Senior Software Engineer (Sr. SW Engineer) | Bangalore | Jan 2025 [Reject]
Round 1
Questions:
-
Introduction and Project related high level questions based on resume: I described the projects in my resume and explained the use case of certain concepts mentioned like cron jobs and questions like what was the frequency of the scheduled task and why. No code related questions.
-
DSA Question: Bag of Tokens from Leetcode. I started structuring my thought process in the form of a pseudo code directly which thankfully was sufficient for the interviewer. I had come up with O(n^2) complexity. I was brainstorming on optimizable when asked by interviewer, but interviewer said what I had was enough and we dont have time (15 mins approx).
-
Scenario based question - To test my knowledge of Design Patterns: Scenario: I have to send out email and sms notifications, how will you structure the code? I created an interface NotificationSystem, created 2 classes for email and sms notification systems that implemented this interface with a standard method like sendOutNotification. I then created a factory class which created the instances of the above email and sms classes based on criteria (string) provided by the driver class. I coded out the structure. All was good. Except the interviewer asked if I can make the method in factory class as static. - Yes.
-
Java and Spring Boot related questions:
- @Component, @Service, @Repository - what are they?
- How did your Spring boot APIs handle Authentication and Authorization - on the code level? How do you protect some APIs and not others?
- Did you use JPA Repository or Hibernate? If I have a series of SQL statements to be executed, how do you manage rollback?
- What is Completable in Java?
- How do you schedule Cron Jobs in Java? - @Scheduled Annotation
- Have you used Kafka or any messaging queue?
- Have you worked on asynchronous programming in spring boot?
Candidate's Approach
I structured my thought process for the DSA question in the form of pseudo code, which was sufficient for the interviewer. For the design pattern question, I created an interface and implemented classes for notifications, along with a factory class to manage the creation of instances. I was able to answer the Java and Spring Boot questions based on my experience.
Interviewer's Feedback
No feedback provided.