Sunday, November 14, 2021

Interview Experience | FRND

 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 ! 
:)

Interview Experience | PrimeDigital Global

Interview Experience of PrimeDigital Global, Noida


Role - Software Engineer (Backend)
Package - 9 LPA
Experience - 6 months

It was completely the online interview.

It consists of 4 rounds.
 1. Online coding test
 2. Technical Interview (DS-ALGO)
 3. Technical Interview (DS-ALGO + System Design)
 4. HR Round

Round 1) Online Coding Test - 
  • This test was conducted on the HackerEarth platform.
  • It has couple of easy-medium coding questions that has to be solved within 60 minutes.
  • Questions were related to strings, array etc.
  • I was able to complete both the questions within 30 minutes.
Round 2) Technical Interview (Face-coding)
  • It is the live face-coding DS and ALGO round containing 1 medium-hard level graph, DFS, and recursion question.
  • It was conducted on HackerEarth.
  • There was a problem statement and we have to give the approach and code it out.
  • The webcam and the code-editor is shared with the interviewers.
  • Question - 
    • Given a house, which have certain walls, in which the fire broke out. The speed of fire spreading to the exit of the house, is  equal to the speed of the man running out of the house. So we need to find whether the man is able to escape the house before fire or not.
  • I was able to give the approach quickly but it took a lot of time to correctly code it out, because of the some HackerEarth compiler issues.
  • This interview took around 3 hrs.
Round 3) Technical Interview (Face-coding + System Design)
  • It is same as the first round, consisting of 2 questions. [ 1 hr + 1 hr ]
  • 1st question is the DS-ALGO question, of hard level stack, array, recursion, topological sorting.
  • Question - 
    • You want to invite your friends to your birthday party, but you are tight on your budget, and your friends have their certain conditions that A friend will only come if B or C is coming, C will only come if A, B, D is coming, and so on...
    • So we need to find the minimum number of friends we need to invite to our birthday party.
  • I was able to give the approach and code the solution with a minor mistake, but that was corrected by the interviewer.
  • 2nd question was a design question, where we need to design the WhatsApp application database with features like group messaging, read receipts etc.
  • I was able to design the architecture for it and with a discussion on that with interviewer we improved our architecture more.
Round 4) HR cum technical- 
  • This was the final round that includes a bit of technical discussion on previous projects and some HR and behavioural questions.
  • The interviewer started with my previous project discussion and 1 project he liked so the discussion went deep into it. The project was an optimised algorithm that I wrote to fetch logs from 280 TB of database within 1 second, using binary search algorithm. So the interviewer was fascinated by this approach and I gained a good point in my bucket.
  • After this there were some behavioural and situational questions to check the cultural fit and how can we handle different situation working with other team members.
  • I was able to satisfy the interviewer with my answers and they were pretty happy with me.
     
My whole interview process took almost a week.

Verdict - Selected! 
:)