[Chat App] Requirements
Please design a chat system like following video:
Requirements
As the candidate, it is important to understand the functional (basic) requirements first.
Here are some questions we can ask the interviewer to clarify the requirements:
🧑🎓 Candidate | 🧑🏫 Interviewer |
What are the core functionalities needed? |
|
Is the message receiving real-time? | Yes, users should receive messages in real-time, as fast as possible without having to refresh the page |
What kind of message formats should be supported? | Let's support formats text at first. We can discuss supporting emojis, images if there's time. |
What kind of chat app shall we design? 1 on 1 or group based? | It should support both 1 on 1 and group chat. |
Is there a message size limit? | Yes, text length should be less than 100,000 characters long. |
How long shall we store the chat history? | Forever. |
Should the messages be updated in real-time? | Yes, users should see the messages in real-time. |