VISA | Senior Software Engineer (Sr. SW Engineer) | Bangalore | Jan 2025 [Reject]
Anonymous User
961

The structure of the interview I was told:
Round 1 (45 mins)
Focus Areas: DS, Algo , Problem Solving
Round 2 (45 mins)
Focus Areas: Design Pattern, HLD & LLD

I was only able to give Round 1 after which I did not qualify to Round 2, however, the interview did not follow the above structure.

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 u 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

  1. @Component, @Service, @Repository - what are they?
  2. How did your Spring boot APIs handle Authentication and Authorization - on the code level? How do you protect some APIs and not others.
  3. Did you use JPA Repository or Hibernate? If I have a series of SQL statements to be executed, how do you manage rollback?
  4. What is Completable in Java?
  5. How do you schedule Cron Jobs in Java? - @Scheduled Annotation.
  6. How will you ensure multiple instances of cron job workers wont update the same row?
  7. Have you used Kafka or any messaging queue?
  8. Have you worked on asynchronous programming in spring boot?
  9. How do you do API versioning?
Comments (2)