weeeBox / mobile-system-design

A simple framework for mobile system design interviews
Other
4.05k stars 427 forks source link

designing a part of an application or a general-purpose ? #10

Closed chipbk10 closed 2 years ago

chipbk10 commented 2 years ago

Thanks for your efforts of writing these articles. I have been looking for these topics for a long time. I noticed that the first question to clarify the requirement is always: "Are we designing a part of an application or a general-purpose ...?"

Why do we have to ask this question? What is the difference if the interviewer said "it's a part of an application" ?

weeeBox commented 2 years ago

Thank you! The main difference - a general-purpose library should be as flexible as possible to accommodate a wide range of use-cases. When you build a part of an app - you already know your limitations and can better optimize your design.

weeeBox commented 2 years ago

Another difference - you may want to avoid using a 3rd-party library while developing a library yourself. Any dependency may conflict with the host app and might pose licensing and privacy risks.

chipbk10 commented 2 years ago

Good explanation. Thank you!