I am preparing for an iOS dev role on site architecture interview at FB. when you are asked a question like “design an app for ...”, what is the focus of discussions? Is the discussion around UIView hierarchies, MVC MVVM type of block diagrams. Or Is it about core features to improve performance like caching, network and battery consumption? Capacity estimations needed? Is there any helpful material that i can refer to?
I just got hired as an iOS Dev at FB. I only have my experience, but I know that the answer to your question is that there is no single “correct” route for discussion. Have a frank and empathetic conversation with your interviewer. Try and learn how you best communicate, and use those methods (while gauging the interviewers cues). Based on your YOE, they’ll compare your knowledge to other interviews they conduct.
You can’t really win this one by knowing the answer in advance.. I’d suggest drawing some diagrams.. creating some protocols.. go slow and always explain your reasoning first. I stuck to MVC and discussed dependency injection, among some other concepts. Solid CS fundamentals override any flavors of design patterns (not all interviewers may be versed in MVVM or RXSwift, etc)
Thanks for the details. I have a page created with a sample design attempt at https://leetcode.com/discuss/interview-question/system-design/350261/design-an-instagram-stories-app-for-ios/317826 It would be great if you could review it. Thanks again!!
You are referring to a FB iOS Architecture interview(Pirate Interviewer). The interviewers objective is to calibrate your technical breadth, depth and decision making ability. Your goal is to demonstrate that you could design and scale an entire app (views, navigation, interactions, networking, data storage, etc) from scratch. The diagram and system choices are less important that sharing your thought process. Example: FB: How you would structure the business logic code? I: Well, there are a couple different options. FB: Tell me more I: UIKit is mainly uses MVC but the controller file becomes a huge mess for complex views. The MVVM architecture splits the controller’s UI state into the view-model and the data.... FB: Which one do you prefer? I: I prefer VIPER because it... FB: Okay, let’s switch gears and talk about how you end up with these data models
Oh this is good. Also, be sure to know data handling/networking/api calls, blocks/delegates/notifications, UI on main, and just design in general (like how to design drawing a complex UI from response to render).
Thanks for replying with so much details. Made very accurate suggestions, I will definitely focus on it. Thanks
I received an offer. Thanks everyone for the help.
Awesome 👏. What level? Interview details please.
E5. On site was 5 rounds , with every round focused on DS and algo, with slight reference to iOS domain. Design was an open discussion about trade offs and performance improvement.
2024 Tax
9h
1467
Biden’s new tax proposal is wild
Layoffs
Yesterday
36078
Google CFO confirms 'large-scale' layoffs (Apr 17)
Tech Industry
13h
424
Stay in Florida for big job offer or move to LA like we always wanted?
Tech Industry
15h
2302
Go woke, go broke: Google fires 28 employees involved in pro-Hamas protest
Tech Industry
Yesterday
46974
Goog Employees Arrested
Yes.
Would be great if you could elaborate