Freshworks SDE-2 Interview (Virtual)
Anonymous User
1806

College - Tier 3 , 2023 passed out , CSE branch
Current Designation - Software Engineer at SAAS product based company
Exp - 2.2 Yrs FTE

Round 1 ) DSA

Taken by lead software engineer . Focussed mainly on DSA

  1. Given the intervals which represents the meeting [start,end] time , find if the person able to attend all the meetings or not .
    Asked to refactor the code and decrease the number of lines . Since I have written my custom comparator in a seperate class , asked to move it in lambda expressions .
  2. Find maximum sub array sum .

Asked about the current work and to write the example for the meta information of a report (since we deal with reporting)

Round 2) System Design (after 1 week )

Taken by a Lead software Engineer .

some questions based on my current team and how you will spend a day in your company .

  1. How Authentication and Authorization works .
  2. PATCH Vs PUT http methods
  3. What is sharding , how it is useful , and what is celebrity problem , what happends if no. of servers changes how do you handle that .
  4. What is partitioning and how it is diff to sharding
  5. what is indexing how it helps in query optimization / how it works internally .
  6. Do you review PR's and how you will provide the review comments to your collegues .
  7. If you are facing the 504 gateway timeout , what are the cases and how you will figure out and how u will solve the issues .
  8. Design a HLD for whatsapp like chat system -- I wasn't went throught the system design , but told him about the web sockets and message queues for notifications . He asked me to look back how the websocket works .

Round 3) Managerial Round (after 1 week )

Taken by Staff Engineer

Asked me some questions about the query optimizations , why redshift over postgres is choosen in my current team architecture . Discussed about the shard migration tool which I have done at my current org .

  1. Design a web scrapper where you will be given one start url , and n which represents the level till which you need to scrap the urls and return the list of urls .

I went throught the simple HLD where I will process the incoming req syncronously by hitting the url the downloadig the data and processing the data for urls and do it in a recursive way.

But he is not satisfied saying that it is good for smaller depth but what if the level is in billions .

Then I told him like we can use Message Queue where producer will be the clients requests and subscribers will be our worker threads which wil process the result async way . Then he asked me how would be the response ? I told him that we can use a storage where we will be able to push and also client can be able to access may be something like Amazon S3 (we can give pre-signed url for client's email to access the response ) .
He asked me like what if the user want to know the status and you will not be given the email . I told him like we can have a logs page for these requests in the UI and we can update the status as Queued / IN_PROGESS / SUCCESS / FAILED . He again came up with follow up saying what if the pods/worker thread processing the request of n = 1M and it proceessed till 0.5M and the pods gets crashed , how would you handle ?

I told him that we can run NFR's and come up with a threshold level after which the pods might crash , by using that threshold we can set the breakpoints / check points to store the results in our storage system and maintain the meta info about the request . If in case if it fails we will start processing the req where it gets failed . At the end he said I am done with my questions . He asked me if I have any questions .

My Learing - I wasn't good at system design and I didn't went through any system design resources . The interview is not tough , If I would have gone through the system design .

Round 4 ) Managerial Round - Taken by a manager

  1. What you did during your internship ?
  2. Some questions based on my resume .
  3. Release process in my team

and some typical questions like why you are leaving ?

Verdict - Kept on hold due to just 2.2 yrs of exp . They want to down level to SDE -1

I want to know the compensation range that freshworks offers based on my current CTC . Is it good to join freshworks ? Is it offers any location like chennai / Banglore / Hyd ?

The reason for my change is that , My current location is chennai and I am working remotely and my manager is asking me to come to office since I am a fresher in the team . Also the learning is not that great , more effort going in to maintaining the things . I don't care about the WLB . I am more inclined to move to Banglore .
My priority is Learning > Compensation > WLB

Comments (4)