My Interview Experience at epiFi

article image

I recently got selected at epiFi for the role of Software Engineer and while preparing for the same, I found very few interview experiences over the internet and most of them were incomplete, so I decided to write my own.

Those who don’t know what is epiFi or mostly known as Fi ( I will also use Fi in the whole blog). Fi is one of India’s best-emerging neo-bank startups for digital natives. Simply put, Fi is a smart way to bank. It has been founded by the former creators of Google Pay.

And for those, who don’t know me, I am an average Engineer from an average College who completed his B.Tech in Electronics and Communication Engineering last year i.e. 2021. I joined Grab as a 6 months intern during my final sem, got PPO and got converted to full-time and worked for 6 more months. Now an obvious question would be, why I left Grab which is one of the best Product based companies out there with an amazing work culture(I mean it). The reason was the role, Site Reliability Engineer which was not aligning with my interest. Now I don’t mean SRE is not a good domain, it was just a matter of personal interest. So, I started looking for Backend opportunities.

OK, let’s jump into how Fi happened, so on a random day, I got a message over LinkedIn from a Fi recruiter that they are looking for backend engineers and am I interested in this opportunity. I already saw their Fi Debit card ads a few times previously & I jumped to their LinkedIn page to know more about them and was amazed to see their team, check out their team on the LinkedIn page yourself to know why.

And before jumping into the interview process, let me clear that Fi was not the only company I was interviewing for. I was also under process with IndMoney, Sharechat and Bluestacks, and was already rejected from Amazon and Phonepe two months back. So, I am not someone who decided to switch, applied, interviewed and got selected. And if you are also facing rejections, learn from them and take them as a redirection.

Ok, let’s start with the interview process,

So, after I replied ‘interested’ to that LinkedIn message, I was asked to give a Coding Test (yes coding test might be there even if the recruiter approach you).

Online Test

The online test was held on Hackerrank and had 3 Coding questions.

Two medium difficulty questions, one was implementation based and one was based on DP(medium-hard I would say).

One question was hard(according to me) based on graph, it was a kind of combination of cycle detection and then multisource BFS over it. It can be a nightmare to solve this if you haven’t practised graph concepts.

I cleared this round and my first interview round was scheduled with Anonymous 1 (sorry can’t reveal names). Now, I have a habit of checking the LinkedIn profile of the interviewer before the interview (so if you do the same you are not alone😉). He was Ex-Directi, so I was already expecting some tough questions (koi sense hai is baat ki?, mujhe bohot lagri thi tab 🙂).

Interview Round 1

The round started with some formal introduction from both sides and a few questions about my previous job at Grab. Then we jumped on to the first question.

The first question was a leetcode hard problem, Binary tree maximum path sum, I did this question some time back, so I explained it properly and then wrote its complete code.

Then we got into the second question,

The second question was string based where I was asked to find the longest palindromic substring in a given string, I explained the brute force approach first, then the optimised approach and then wrote its code, tested it on a few test cases including some edge cases and it cleared all of them.

We still had some time left, so we discussed one of my projects which I did at Grab and then we closed that call.

I got the call after a few days that I have cleared this round and my second interview round was scheduled with Anonymous 2, same as before, checked his LinkedIn profile and found he was Ex-Goldman Sachs, Ex-Flipkart and ICPC Regionalist, so my expectation for questions went from tough to tougher (Is baar thodi thodi sense bhi lag rahi thi 🙃).

Interview Round 2

This round also started with some formal introduction and we directly jumped onto our first question.

The first question was a typical heap-based question which you can do easily if you are clear with its concepts. I explained the brute force approach and then the optimized one. Then coded the solution and it ran on some hidden test cases, it cleared all the test cases in one go (Confidence aa jata hai bhaisaab, ye dekh ke 😌). Then we moved to the second question, we still had 40 minutes left.

The second question was leetcode hard problem, Minimum Number of Taps to Open to Water a Garden, it is based on DP and Greedy. I explained the brute force approach first and then started thinking about the optimized approach, got lost a bit in between but interviewer helped me to think on the right track, I explained him the optimised solution and he also agreed upon the same, I wrote the code and ran on the hidden test cases. It failed on some test cases, most probably some edge cases (wo confidence yaad hai first question wala?, wo thoda jada ho gaya tha shayad 🥲). I took too much time on this question and only 5 minutes were left, the interviewer asked me whether I would like to ask some question to him or I would give this 5 mins to question only, I went with the latter and got a few more edge cases cleared and we closed that call after that.

At that point, I was not pretty sure what will be the result, but I got the call after a few days that I cleared this round as well and my third interview will be with Anonymous 3, a founding member of Fi, with almost 15 years of experience, who has worked with giants like Netflix, Paypal and Flipkart, and as this was not a DS/Algo round I was more nervous.

Interview Round 3

Again, the interview started with a formal introduction, he introduced himself very briefly and then I introduced myself.

He started asking about my previous role at Grab, what I worked upon and my projects there, after that, questions around why I am looking to switch and what’s my expectation with my job role at Fi. Then we jumped on to a question, as this was not a DS/Algo round, he asked a simple implementation based question around hashmap. Now, the expectation was not just to check the problem-solving skills but also how I approach the question, the code quality and do I really know how a hashmap works i.e. internal knowledge of data structures we use.

I wrote the code and it worked fine, then he gave a follow-up question for some more use-cases and the intent was to check code quality and reusability, so I kept that in mind and wrote the code. After that, we had a good discussion over the internals of hashmap and how different types of maps work like hashmap, treemap etc. and whats their time complexity is.

Then we discussed one of my personal project which I made. After that, as time was almost over, he asked me if I have some questions for him, I asked a few out of curiosity and he answered them very nicely clearing everything. After that we ended that call, in that whole 1 hour it never felt like I am talking to such an experienced person, he made all the discussions look so nice and comfortable.

Then after a few days again, I got a call that I cleared this round as well and my last round will be scheduled with another founding member of Fi Anonymous 4, checked his profile and found he is also a very experienced person who worked at Google for more than 12 years, was one of the creators of Google Pay which brought a revolution in the field of digital payments in India. This was a techno-behavioural round and I had no idea what to expect from this round (upar se last round, khauf ka mahaul hai 😵‍💫).

Interview Round 4

As with all previous rounds, this round also started with formal introductions from both sides. Then it was followed by questions regarding my current role at Grab and why I am switching. Then we discussed my project which I worked upon at Grab.

After that, he started getting into computer science fundamentals, asked a few questions about DBMS fundamentals and how it’s practically used. Then a short discussion about my personal project mentioned on my resume.

After that, he jumped on to the behavioural part and started asking some typical questions around that. The intent was to discover my vision, my approach toward problems and how I react to different situations. It was an interesting round to be honest and it never felt like an interview.

Then he asked an obvious question, “Why do you want to join Fi?” I answered that.

In the end, when I thought its almost over, he surprised me and asked me a question based on the heap, however, the question was easy and I did that comfortably. Explained him the brute force approach first and then optimised one using a heap. He followed that by asking questions about the internals of the heap and how the heap works internally. I explained the complete functioning of heap very clearly and nicely.

Then we decided to end that call and he asked me if I have any questions for him, I asked a few questions I had in my mind regarding Fi and how it works (I already used the Fi app, so those questions came from that). He answered all those questions and cleared all my doubts and we decided to close that call.

The interview went pretty good and I was expecting a positive result, and the same happened. The same day after a few hours I got the Intent to offer mail and finally, I breathed a sigh of relief. A month of preparation, interviews, rejections and learnings ended on a positive note.

Special thanks to the recruitment team of Fi for making this interview process nice and smooth.

The End.

Thanks for reading, honestly speaking, I have never written anything such long, not even in my school or college exams, so please bear if I made some mistake.

Feel free to connect with me over LinkedIn for any help or referral. Wish you all the best in your career.

Thank You!

Related Posts