I find for mobile engineer, the system design focus on different areas than backend engineer. Anyone has idea how to prepare it?
@chenkai1812 You could prepare for common design patterns used in mobile development, REST apis, how to request and handle resources from backend, event-driven programming, different multi threading technique on mobile, MVC/MVP/MVVM, ways to save memory... Are you looking for Android or iOS?
@genius1wjc Android. I am not the creator of this post but I can use or advice.
@chenkai1812 if you are applying for a Mobile Developer type role, I am assuming that you have some experience in the field. If you do not, you can still follow this advice.
Learn by doing: Come up with a basic idea of an app to develop. Define all its requirements, down to the last bit and then think of what is needed to make it workable.
Learn by failing: While you are developing said app, you will have the opportunity to learn what NOT to do and those types of questions are usually asked in interviews.
Publish your app When you make a basic submission of this app, you most probably will have not put any consideration into design patterns, event flow, storage optimization, security, etc. Now, when you publish an app through Google Developer console, you are provided with some insight into what to do write and how. This is very important feedback. If your app gets approved, distribute it and have your friends and family use it. They will give you feedback on the non functional aspects of the app. This information is helpful too.
Obviously, reading from online forums, interview questions for the specific company you are applying to, and last but not the least, books, helps too but these things will help you learn what is exactly expected of you when you start working. Preparing this way will give you a confidence that will be unparalleled and the knowledge to support the confidence.
Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.