Interview Experience of FRND, Bangalore
Role - Software Development Engineer (SDE-1 | Backend)
Package - 25 LPA
Experience - 1 year
It was completely the virtual interview.
It consists of 6 rounds.
1. Screening Round
2. Technical Interview (DS-ALGO)
3. Technical Interview (Python / Django / Database)
4. Technical Interview ( High level design )
5. HR Round
6. Final Discussion
Round 1) Screening Round -
- It was a Google Meet call with the Co-founder and CPO (Chief Product Officer) of the company.
- He asked me about my past experience and some trick behavioural/HR questions.
- It took almost 20 minutes.
Round 2) Technical Interview (DS-ALGO)
- It was the DS and ALGO round containing 3 medium to hard level questions related to Arrays, Dynamic Programming, Hashing, Graph, DFS, Geometry.
- The interviewer started with the introduction of mine and him and then ask me to share my screen with any code editor of my choice, and then he started putting questions 1 by 1.
- Question 1 - [Easy]
- Staircase problem - Given a stair with N steps, and we can either take 1 or 2 steps at a time. So we need to find the number of ways in which we can reach the top of the stairs.
- Started with the brute-force approach I gave him the most optimized Dynamic Programming approach and then he ask me to code it out, which I was able to do easily.
- Question 2 - [Medium]
- SubArray with 0 sum - Given an array with mix of positive and negative integers, we need to find if that subarray contains any array with sum 0.
- I started with the brute force approach of O(n^3) but then interviewer asked me to optimize it.
- After couple of minutes I was able to come up with the hashing approach reducing the time complexity to O(n), and code it out.
- Question 3 - [Hard]
- Given a rectangle in cartesian plan, starting from (0, 0) coordinate, and its top-right coordinate was (x, y). There are some circles inside the rectangle of radius 1. We need to find whether starting from (0, 0) coordinate can we go to the (x, y) coordinate without touching any circle or rectangle boundaries, also without jumping to other quadrant.
- This was a trick question of graph , but I was able to solve it out quickly using DFS and then I explained my approach to the interviewer and code it out.
- This round was of 1 hr, but I was able to solve all 3 questions within 20 minutes along with code, by which interviewer was very impressed and we finished up the interview in 30 minutes only.
Round 3) Technical Interview (OS / Python / Django / Databases)
- This round was of 1 hr, and was taken by the company's CTO. He was a really strong technical person.
- This round was mostly about my previous project and my tech-stacks including Python, Django, Celery, WebSockets, ElasticSearch, Databases etc.
- He started with some OS questions -
- Threads,
- processes, and deep dive into it how they works internally,
- need of threads,
- need of processes,
- their trade offs etc.
- Then started with Python questions, and again dive into the depth of the python starting from how python works internally to advance topics of python.
- Some of the Python Topics he asked in-depth are -
- Python Interpreter
- Statically / Dynamic / Weak / Strong type language.
- Scope of python
- Mutability / Immutability use-case with functions
- Function Calling by value/reference
- Decorators
- Dunder methods in depth.
- Async vs sync
- how to call async from sync, sync from async
- After this he jumped to the Django and Web concepts in depth.
- Some of the topics in which we had deep discussion are -
- API polling, long polling in detail.
- Websockets in depth -
- channels, groups, event listeners
- how to send message from consumer to consumer
- how to send message from API to consumer
- how to send 1 message to all intended participants
- Trade off between websocket and long polling.
- Django -
- select-related and prefetch-related internal working and inside queries.
- how to do group by.
- request response cycle and middlewares
- code architecture and files
- Then he asked me some database questions which I exactly don't remember.
- Apart from 2-3 questions where I stuck, this interview went pretty well and he was quite happy with me.
Round 4) Technical Round ( High Level Design )
- This round was mostly about the high level design architecture discussion. He started first with my previous project high-level architecture from beginning.
- I explained him about the web-servers, application-servers, processes, load balancers, caching, caching strategies, databases etc.
- He wanted to check my knowledge on high level system design.
Round 5) HR Round
- This round was again taken by the same CPO of the company, and he was having a casual discussion with me. Also he asked some trick questions regarding the offer and some questions around it to negotiate it.
- This round was of 15-20 mins.
Round 6) Final Discussion
- This round was taken by the CPO and CEO of the company, majorly CEO was talking to me. He was asking me questions related to my background and all. And then he shifted his focus towards the reason of me joining the FRND. And he really wanted to understand why I want to join FRND and not other companies like it. He was looking for some genuine, passionate and dedicated individual with some realistic answer.
- After having 10-15 minutes of discussion with me, he had some private talks with CPO regarding me for 5 mins excluding me from meeting, and asked me to join the meeting after 5 mins.
- After their discussion they decided and proposed me the offer and asked me if I have any questions regarding that.
Verdict - Selected !
:)