The process was very typical: a recruiter call, a technical phone screen, two rounds of coding, one round of system design, and behavioral questions. I sensed a very bad vibe from speaking to a few of the interviewers.
You must implement features for a spreadsheet class. Then, you have to implement a "sum" operation that takes multiple cells as an input. Afterwards, you'll be asked how to detect a cycle. There was 1 answer.
In the system design round, you need to implement a file system or tree crawler. You are provided a getPath method which can take a long time or fail when called. At the beginning, you'd be asked to implement this in a single thread. Then, you make it faster by implementing it in a distributed manner. What happens if getPath fails or takes a long time? How do you know when to stop crawling? What happens when you have many companies that you need to traverse? What database would you use? How would the end user fetch the result from the crawl? What about retryable versus non-retryable errors?
You need to implement a JSON parser. You are given a list of tokens representing a JSON, like start-object, string, number, and end-object. Then, you implement nested objects and an array, which means given start-array and end-array tokens. How do you figure out when an invalid token sequence is encountered? How do you make your code cleaner?
You must implement a pivot table. You are given a table that tracks shirt sales. You want to perform aggregation on shirts sold where the columns and rows are colors and dates. Then, you need to implement a total rollup. Then, how do you aggregate across more than two columns?
The behavioral round covers conflict resolution, a project you are proud of and that was most impactful, and a time when you failed.
The following metrics were computed from 29 interview experiences for the Sigma Computing Software Engineer role.
Sigma Computing's interview process for their Software Engineer roles is extremely selective, failing the vast majority of engineers.
Candidates reported having good feelings for Sigma Computing's Software Engineer interview process.