First coding interview:
Calculate the document frequency and inverse document frequency for a body of strings. Optimization is to precompute the frequency for all words in the corpus. For the multi transform, store previously computed transforms in another map.
Frontend coding interview:
Update an existing React app to generate a graph using some randomly generated values using the react-chartjs-2 library. Components used the class-based components so review component lifecycle methods, i.e. not hooks.
Backend coding interview:
Use SQL to calculate predicted income for a publisher going from a free to paid model. Use that to generate a graph that you built in the frontend interview. Not really a backend interview as much as it is a SQL interview. This is an open-ended interview with no right answer.
Generic coding interview:
Build a data structure that returns a range of values. For example, calling set(3, 6, ‘a’) will set indices 3, 4, and 5 to the value ‘a’. Runtime should not be linear with the number of indices being set. Calling get(0, 7) would then return [null, null, null, ‘a’, ‘a’, ‘a’, null].
System design interview:
Design a scalable system that sends out emails to newsletter subscribers. Newsletters can configure when emails are sent to its subscribers with a specific date/time.
Final interviews were all in one day – about 6 hours in total. Rejected at this stage. Asked recruiter for feedback and was ghosted.