Split the database schema into multiple tables: user table (with the user ID and contacts), a chat table (with chat IDs and a list of participating user IDs), and message table (with past messages a reference to the chat ID).Are messages pulled from the device (server periodically prompts the devices if they’re waiting to send a message) or are pushed to the server (device prompts the server that it has a message to send)?.How will you encrypt and decrypt the message without increasing latency?.What happens if a message is sent without an internet connection? Is it sent when the connection is restored?.Messages should be visible with minimal latency.Messages should be encrypted during transit.Users should be able to send pictures and videos as well as text messages.Messages should be stored for later viewing.Service must support one-on-one and group chats.Messages must be sent and received via the internet.Messages should only be accessible by those included in the conversation. Conversations can be one-on-one or can be group chats with many members. Design a global chat service like Facebook Messenger or WhatsAppįor this question, you’ll design a service that allows users to chat with each other over the internet. This will demonstrate that you’re not just prepared for current solutions but future solutions as well.įor more information on how ML can improve your SDI performance, check out How Machine Learning gives you an edge in System Design.ġ. Ask clarifying questions to show the interviewer how you’re viewing the question and your knowledge of the system’s needs.ĭiscuss emerging technologies: Conclude each question with an overview of how and where the system could benefit from machine learning. At each decision point, list at least one positive and negative effect of that choice.Īsk your interviewer to clarify: Most system design questions are purposefully vague. Narrate any trade-offs: Every system design choice matters. The listing process lets the interviewer see your planning skills and correct any possible misunderstandings before you begin the solution. Start each problem by stating what you know: List all required features of the system, common problems you expect to encounter with this sort of system, and the traffic you expect the system to handle.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |