[USA] Sigma Computing, First Round

Had first round interview for Sigma Computing, which is a B2B SaaS startup providing "easy to use" analytics tooling. Pretty much competitor to Tableau, PowerBI, etc

If you don't want to go through the unnecessary leetcode grind, I heavily recommend applying for roles at Sigma Computing. They're hiring across the board!

This was my first round problem:

  • Your goal is to implement a spreadsheet tool just like you'd see in Sigma's product
  • The spreadsheet should look like Google Sheets (so you have row numbers, columns, etc)
  • Spreadsheet is initialized by giving the list of columns, so there are "infinite rows" but "finite columns"

Part 1: Basic functionality
Implement the following functions:
a. get_cell(row, col): Given (row, col), get the value of the cell. Remember that the spreadsheet has "infinitely many rows", but finitely many columns
b. set_cell(row, col, value): Set cell at (row, col) to a given value
c. print_firstn_rows(n): Print the first N rows of the spreadsheet

Part 2: Formula Cells
Support ability to configure formula cells (eg: in google sheets, you can have something like =ADD(C7, D4)). You will only be supporting the ADD operation. Don't worry about subtraction, multiplication, division.

Showcase good testing of edge cases that may come up (eg: formula cycles)

Part 3: Followups

  • What if you wanted to support an add_column() interface. How would you do that?
  • What about delete_column() interface?
  • Code cleanups to remove unnecessary code

Interviewer was very chill and this interview felt extremely collaborative. You shouldn't need to overly grind leetcode. Just know your basics well and don't feel pressured to pick one programming language over the other. Just use what you're most comfortable with that's not too ancient

Comments (1)