Link to video

Design Youtube view-counting feature

Why requirements clarification is so important ?

Requirements Clarification

                                         Requirements Clarification

                                     Requirements Clarification

The end goal of requirements clarification is to get us to define both functional and non-functional requirements.

Functional - System Behavious

Non-Functional - System Quality [fast, fault tolerant]

Highly recommend to write down the requirements on the whiteborad. They will later on help us discuss the trade-offs and pros and cons.

High Level Design

Data Model

Which option should we choose ? Interviewer help needed. Ask him about delay.

If several hours is okay, store individual events else aggregate data fly. Batch data processing vs Stream data processing.