Interview Guide Oct 12
Oct 123-4 rounds
An iOS engineer is responsible for designing and building iOS applications. They are accountable for app performance, quality, and responsiveness, fixing bugs, maintaining the code, and implementing updates.
An iOS engineer at Facebook designs features consistent with the company's standards and the user's expectations. They work on applications including Facebook, Instagram, WhatsApp, and Messenger.
- Being a good leader and working efficiently on complex projects with engineering and product teams to build unique and innovative applications for customers.
- Experience working on user interfaces, infrastructure, and other tools that support iOS applications.
- Understanding of multithreading programming and mobile memory management.
- Practical experience in building testable codebases, API designing, and unit testing techniques.
- Be adept at designing user-friendly interfaces for consumers and analyzing and optimizing code to produce better quality UI and efficient performance.
- Having a working knowledge of the latest iOS programming techniques.
Schedule a mock interview with a Facebook recruiter.→ Schedule Now
For an iOS Engineer at Facebook, the salary ranges from $100,000 to $154,000.
The Facebook iOS Engineer interview consists of 3 rounds.
- The Recruiter's Phone Screen
An informal discussion with the recruiter.
- Technical Phone Screen
It is designed to test your coding skills and iOS fundamentals.
- Onsite Round
It will consist of 4/5 interviews - 2-3 will be technical, 1 will focus on system design, and 1 will be a behavioral round.
This is the first round of the Facebook iOS Engineer interview process, which will be an informal call with the recruiter. During the call, the interviewer will inquire about your background, why you want the role and why Facebook. They will also ask you to share your project experiences.
Additionally, the recruiter may also ask a few questions based on iOS fundamentals. You will advance to the technical phone screen if you get most of them correct.
- Tell me about yourself.
- What made you apply for Facebook?
- Why this role?
- Where do you see yourself in the next 5 years?
- What value would you add to Facebook?
Watch these videos
This is the second round in the Facebook iOS Engineer Interview, a 45-minute video call with an iOS engineer. You will be asked to code the solution for two problems on CoderPad. The following topics will be tested -
Coding skills and concepts -
- Data Structures
- Trees, Graphs
- String manipulation
- Domain knowledge - iOS
You can also refer to 7 Tips on How to Approach and Solve Coding Problems Successfully to get a better understanding of this round.
- Talk to the interviewer. When you get your coding problem, discuss your approach to the problem with the interviewer before writing the solution.
- It is also a good idea to discuss any doubts regarding the problem with the interviewer before attempting the question.
- Write a code to reverse a given linked list.
- Find the distance between two nodes of a binary tree.
- Given two binary numbers in string format, find their sum.
- Given two sorted lists, return a combined sorted list.
- Find the possible combinations of numbers present on a telephone keypad.
- Write a program to print various permutations of a string.
- Write a code to perform vertical traversal of a binary tree.
Read these articles
This is the final round of the Facebook iOS Engineer Interview, which consists of 5 interviews. There will be 2-3 technical interviews, one will be a system design interview, and one will be a behavioral round.
1. Technical Interviews
In the technical interviews, you will be tested on -
Coding skills - the question would be primarily algorithmic-based. Topics that are tested are -
- Data structures
- Binary trees
- iOS Knowledge
- Technical questions related to experience and previous projects.
2. Design Round -
This round will assess your System and Product Design skills. You will not be expected to be adept at System Design for a junior position. However, you must know about Product Designing. As for the senior position, you must have extensive knowledge of both.
3. Behavioral Round -
This Facebook iOS Engineer interview round will help the interviewers determine whether you're a good fit for the company and role. Their questions will primarily focus on how you interact with your peers and deal with the situations at work.
Design Round -
- Generally, questions revolve around features related to Instagram, Facebook, WhatsApp, and Messenger. We recommend you use these apps and their features to understand and design them better.
- Think about how you would go about designing a model. Start with some general questions, then move on to more specific details per the problem.
- Read about various iOS application design failures. Understanding their failures may provide a direction for what could and shouldn't be done.
Behavioral Round -
- Answer questions using the STARR Framework - Situation, Task, Action, Result, Reflection, and focus most on the Result.
- Try to incorporate Facebook's 5 core values in your scenarios.
Facebook Behavioral Questions -
- What problems did you have with your direct manager, and how did you resolve them?
- What is the most challenging problem you have solved?
- What are some projects you've worked on that you are proud of?
Facebook System Design Interview Questions -
- How will you design a social media app like Instagram?
- What method would you call if you want to update the layout of the UI views immediately?
- Design the storage system for a photo-sharing app.
- What would you change in the design of an Instagram story?
- Design a Facebook contact app with an indicator if a user is online or not
Facebook Coding Interview Questions -
- Search for a word in the given list with the least possible complexity.
- Check if the parentheses are balanced in a given string.
- Implement a hash map data structure.
- Write a code to print tree nodes level by level.
- How many ways can you implement concurrency in iOS?
- Find the lowest common ancestor in a given binary tree.
- Given an array of strings, write a function to return all strings that are anagrams.
- For a given array, rotate the numbers clockwise.
Note - You can program in the language of your choice.