Visa Interview Experience | Sr. Software Engineer 3.5+ years Exp.

Visa Interview Experience | Sr. Software Engineer 3.5+ years Exp.

Alpish Jain

A few months ago, I began preparing for a job switch by consistently practicing Leetcode problems and revisiting key system design concepts. Alongside preparation, I actively applied to roles through platforms like Naukri, Hirist, and LinkedIn.

One exciting opportunity that came my way was for the position of Senior Software Engineer at Visa. Here’s a walkthrough of my interview experience and the types of questions I encountered during the process.

Round 0: Recruiter Screening

I got a call from recruiter to understand my work experience and some general questions like the current CTC, expected CTC and the tech stack i worked on. Being from a Salesforce Developer background most of my experience was in Apex, LWC, HTML/CSS and Js. But i also highlighted the projects and strong knowledge of Java, Kafka and system design that i possessed confidently.

Round 1: Technical Assessment

The first round was an Online Coding round held on the Codesignal platform aiming to assess Basic Coding, implementation, data structures, and problem solving. The round was for 70 mins with 4 questions. There were 2 questions on Array, 1 on greedy and 1 on DP. Upon asking recruiter mentioned that the passing criteria for this round was solving 3 questions fully and 80% test cases should be cleared for the last question. I was able to clear this round and moved on to the next round which i got to know after a few days.

Round 2: Technical Interview-1(45 mins)

This round began with a brief introduction, followed by some foundational questions on Java — particularly around collections. The first core problem was to implement an LRU Cache. Initially, the interviewer asked for the pseudocode, which I provided. He then asked how I would implement it in Java, and I explained my approach using LinkedHashMap for maintaining order and achieving constant time operations.

The second question was from Leetcode: Longest Substring Without Repeating Characters, which I solved efficiently using the sliding window technique.

The round went well, and the recruiter scheduled my next interview later the same day.

Round 3: Technical Interview-2(45 mins)

This round focused on system design concepts and my past work experience. It began with a brief self-introduction, followed by a discussion of my project built with React, Spring Boot, AWS, and Docker. The interviewer asked in-depth questions about Spring Boot features — such as ORM, differences between eager and lazy loading, and the pros and cons of using Hibernate.

Next, I was given a binary search problem similar to Minimum Number of Days to Make m Bouquets, which I solved by explaining my approach clearly. We then moved on to design patterns, where I was asked to explain the Singleton and Adapter patterns, including real-world use cases and a sample implementation of the Adapter pattern.

Overall, the discussion was smooth and I was able to clear this round successfully.

Round 4: Managerial Round(45 mins)- Technical + Behavioral

I received confirmation that I had cleared the technical rounds about four days later, and this final round was scheduled with the Director of Engineering at Visa. The conversation began with the interviewer explaining the role in detail and asking if I had any questions.

We then discussed my past work experience and specific functionalities I had worked on. He also asked a few behavioral questions — such as three good and bad things about my current company, the size of my team, and the typical development process we follow.

Next, he posed a system design-style question: How would you design a database that handles a high volume of requests? While the problem was quite open-ended, I clarified the requirements and inferred that supporting infrastructure like load balancers and rate limiters were already in place. I focused on the database internals — covering aspects like indexing, internal caching, and how modern databases handle high throughput at a low level.

Toward the end, I asked for feedback, and the interviewer mentioned that I came across as a positive candidate for the role.

Final Result:- Not Selected

After completing the final round, I reached out to the recruiter for feedback. I was informed that I was being kept on hold, as the team was still interviewing other candidates. However, I did not receive any concrete feedback on the final round, nor a clear reason for not moving forward.

Despite some challenges during the process, the overall experience gave me several valuable takeaways:

  • I got the opportunity to deep dive into core system design concepts, particularly database internals, caching, and scalability — topics I now understand more practically than before.
  • The interviews reinforced the importance of being able to communicate technical decisions clearly under ambiguity, especially in open-ended design questions.
  • I was able to reflect on and articulate my past work in a more structured way, which helped me improve how I present projects and impact.
  • Most importantly, it helped me identify the kind of roles and work environments I truly align with — those that are collaborative, transparent, and focused on long-term product engineering.

Overall, it was a valuable experience that helped sharpen both my technical and communication skills, and I now feel more confident going into future interviews.

Comments

Loading comments…