I just watched this Mock System Design Interview: https://www.youtube.com/watch?v=S1DvEdR0iUo
- Is it forbidden to use GCP services in a design interview process? E.g. Google Pub/Sub instead of Kafka. Btw the interviewee does use BigQuery at the later point.
- Why not stream songs ids right into bigquery (or possibly > PubSub > BigQuery through subscription API or an autoscaling Preemtible MIG), partition it by ingestion date and use Materialized view for aggregation and enrichment on the fly.
- They never discussed how the analytics data is going to be ingested by users. For instance, if users need the same kind of report every day (or every hour) then the RDBMS is not necessary. Is this a mistake and the interviewee had to clarify this? Or maybe it was interviewer job to point this out?
- I also never heard interviewees ask questions like "what availability do we really need?". E.g. if this is not a business critical process, then we don't have to create cross-region load balancers for analytics and if a region goes down it can take the analytics part with it until it recovers. It just saves resources and time. I imagine asking such a question might be inappropriate as interviewer may consider the interviewee to be an irresponsible person?
I hope this question is appropriate for StackOverflow forum. If not, pls point me to the right place where I can ask this kind of questions.