Recently went through the virtual on-site for DocuSign Chicago. There were 3 rounds -
(1) System design
(2) Take home project discussion and problems based on that
(3) An algo question
It was related to expense report. A mockup was provided and asked to start with DB diagram - like schema and columns. The elements were simple enough
3 button - Submit report, save report and one other
Report Id at the top
Employee name, Approver, Department and Location
2 sections
1st section for Expense fields
(a) Expense date
(b) Expense type - 4 values drop down
(c) Amount
(d) Purpose
(e) Location
2nd section for properties related to the report it self-
(a) Report period
(b) Some proeprties through check-box
(c) Another select list for report purpose
(d) Another checkbox for Recurring
At the bottom there is a grid with each individual expenses listed with buttons for deletion or edit.
Now that I had some time to think about it I kind of a good idea what it would like but in there I could not even ask about basic questions like how many reports we are talking about, maximum numbr of expenses in a single report, the duration for which to retain those and so on.
After initial design, they threw a wrench around validation rules. Like for a sepcific employee type a specific expense type can't have more than specific amount or some expense types are not even available.
Would be good to know other's thoughts on how can we envision such a sytem? DB schema and API that will be required.