Recently, I had the opportunity to interview at Airtel Digital for the Sr. Full Stack Engineer role.
Round 1 : Technical/Functional
The interviewer started by asking me to introduce myself and discuss my experience. After that, he jumped into the problem-solving part.
Question 1 :
Given an m * n 2D matrix, you are at position (0,0) and need to reach the destination (m-1, n-1).
Allowed operations are:
You need to find the total number of unique ways to reach the destination.
After the problem-solving part, he asked some Spring Boot concepts related to:
@Transactional@Qualifier@BeanHe also asked a simple SQL question:
Find the second highest salary from a table named Employee.
P.S :
I was able to give a brute-force solution initially and then optimized it using Dynamic Programming with a time complexity of O(m * n). However, the interviewer asked if I could further optimize it using Permutation and Combination (PnC) and derive a linear-time solution.
I was able to clear the first round and received a call from HR on the same day. My second round was scheduled shortly after.
Round 2 : Technical/Functional
Again, the interviewer asked me to introduce myself and talk about my experience.
He first asked questions related to Java memory management and then jumped to problem-solving.
Question 1 :
https://leetcode.com/problems/next-permutation
Question 2 :
Design an LRU Cache where all operations should work in O(1) time.
Question 3 :
Write code for inorder traversal of a Binary Search Tree (BST).
P.S :
I was able to explain the LRU cache design clearly and write the code for inorder traversal. For the first question (Next Permutation), I was able to explain the brute-force approach and my optimized logic verbally, but I couldn’t code it during the interview.