Freshworks - Senior Software Engineer - Interview [Offer]

freshworks logo
freshworks
Senior Software Engineer4 yearsOffer
December 12, 202576 reads

Summary

I successfully interviewed for a Senior Software Engineer role at Freshworks, receiving an offer after three challenging rounds that covered Data Structures & Algorithms, a detailed resume deep-dive, and a final hiring manager discussion.

Full Experience

I recently interviewed for a Senior Software Engineer position at Freshworks, a role I applied for via a referral. My interview process consisted of three main rounds.

The first round was a DSA round where I was given two LeetCode problems: Find Peak Element and Search in Rotated Sorted Array. I successfully solved both problems. After a slight delay due to headcount calculations, I received positive feedback and moved to the next stage.

The second round, surprisingly, wasn't a pure LLD as expected. It began with a detailed resume deep-dive where the interviewer questioned my technology choices, system design decisions, and complex projects. Towards the end, I was given another coding question, Word Search, which I solved efficiently. The feedback was very positive, leading directly to the hiring manager round, skipping HLD.

Finally, the third round was a brief Hiring Manager (Director) discussion. It was a casual conversation about my interests and their expectations, lasting only about 15 minutes. Within minutes of this call, I received confirmation of an offer.

Interview Questions (3)

Q1
Find Peak Element
Data Structures & AlgorithmsMedium

A peak element is an element that is greater than its neighbors. Given an input array nums, where nums[i] ≠ nums[i+1], find a peak element and return its index. The array may contain multiple peaks, in which case return the index to any one of the peaks. You may imagine that nums[-1] = nums[n] = -∞.

Q2
Search in Rotated Sorted Array
Data Structures & AlgorithmsMedium

There is an integer array nums sorted in ascending order (with distinct values). Prior to being passed to your function, nums is possibly rotated at an unknown pivot index k (0 <= k < nums.length) such that the resulting array is [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]. Given nums after the possible rotation and an integer target, return the index of target if it is in nums, or -1 otherwise. You must write an algorithm with O(log n) runtime complexity.

Q3
Word Search
Data Structures & AlgorithmsMedium

Given an m x n grid of characters board and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertically neighboring. The same letter cell may not be used more than once.

Preparation Tips

My preparation primarily focused on Data Structures & Algorithms, Low-Level Design (LLD), and High-Level Design (HLD, although this round was ultimately skipped). I regularly practiced LeetCode problems which proved crucial for the DSA rounds. For the resume deep-dive, I ensured I could articulate my project experiences and architectural decisions clearly.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!