Interview Experience at Inflection.io | Software Engineer II
Summary
I successfully navigated the interview process for a Software Engineer II role at Inflection.io, which included an online assessment, a low-level design round, behavioral questions, and an HR discussion, ultimately resulting in an offer.
Full Experience
Online Assessment (OA)
My interview journey for the Software Engineer II position at Inflection.io began with an Online Assessment (OA). The OA consisted of two primary tasks. First, I was asked to write a Python program that would make a GET request to an API. This API returned a nested JSON string, and the core task was to recursively sort all internal dictionaries, remove any duplicate entries, and filter out null or empty values from the processed data. The second task involved debugging a provided piece of code, where I needed to identify and correct logical errors to ensure its proper functionality.
Technical Interview (Low-Level Design + Resume Discussion)
Following the OA, I moved to a technical interview focused on Low-Level Design and a detailed discussion of my resume. The interviewer delved into my previous backend projects, asking probing questions about design choices and implementation details. The main design challenge was to architect a system capable of supporting various CPU scheduling algorithms, specifically FCFS, Round Robin, and Priority Scheduling. The discussion placed significant emphasis on ensuring clean class design, robust abstraction, extensibility for future additions, efficient use of queues, and the application of the strategy pattern to handle different scheduling algorithms.
Behavioral / Culture-Fit Round
The next stage was a behavioral and culture-fit round. The interviewer posed several thought-provoking questions, such as "If you could design your ideal programming language by mixing features from any languages you like, what characteristics or features would it have and why?" and "If you had to give a talk unprepared, which topic would you choose?". This round also explored my motivations, how I approach learning new technologies, and my communication style, aiming to understand my fit within the company's culture.
HR / Offer Discussion
Finally, I had an HR discussion where we covered potential compensation details, the company's hybrid work model, and the expected joining timeline. I was pleased to receive an offer for the Software Engineer II role. The compensation package included a Base Salary of ₹24,00,000, Equity/ESOPs valued at ₹17,00,000 at the time of the offer, bringing the Total Compensation to approximately ₹41,00,000. The role is based on a hybrid work model with office presence in Bangalore.
Interview Questions (4)
Write a Python program to make a GET request to an API that returns a nested JSON string. The task was to recursively sort all internal dictionaries, remove duplicates, and filter out null or empty values.
Design a system to support CPU scheduling algorithms such as FCFS, Round Robin, and Priority Scheduling. Emphasis on clean class design, abstraction, extensibility, queues, and strategy pattern.
If you could design your ideal programming language by mixing features from any languages you like, what characteristics or features would it have and why?
If you had to give a talk unprepared, which topic would you choose?