Airbnb logo

Airbnb Mobile Engineer Coding Questions

47 practice questions for Airbnb Mobile Engineer interviews

Airbnb mobile engineer interviews focus on iOS or Android platform knowledge, memory management, offline-first architecture, and mobile-specific system design.

All Roles Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer
coding Hard Verified Question #1

1. Best Service For Rental Properties


Category: Graph coding problem
You are helping users find the most cost-effective way to get all the services they want for their rental property. You are given: - A list of...
Input: Graph (nodes and edges)
Output: Computed result
coding Hard Verified Question #2

2. Best Ski Route


Category: Graph coding problem
# Question You are skiing down from the top of a mountain and want to maximize your score when you reach the finish. There are multiple routes you...
Input: Graph (nodes and edges)
Output: Computed result
coding Medium Verified Question #3

3. Design A Queue


Category: Array coding problem
Design a queue data structure that mimics memory allocation patterns. The queue must store elements in fixed-size blocks (arrays), where each...
Input: Array
Output: Computed result
coding Hard Verified Question #4

4. Menu Order Equaling Target Sum


Category: Algorithm coding problem
You are given a menu containing prices of individual items. Given a target amount of money, find all possible combinations of menu items that...
Input: Integer(s)
Output: Integer
coding Hard Verified Question #5

5. Most Cost Effective Menu Order


Category: Dynamic programming coding problem
You are building an app that helps users determine the most cost-effective order they can place at a restaurant for the food items they want. You...
Input: List
Output: Computed result
coding Medium Verified Question #6

6. Best Way To Split Stay


Category: Graph coding problem
You are building a property recommendation system for vacation rentals. Given a list of available properties, you need to find the optimal...
Input: Graph (nodes and edges)
Output: Integer
coding Medium Verified Question #7

7. Maximize Task Points


Category: Algorithm coding problem
You are given a set of tasks, each with a deadline and a reward (profit) for completing it. Each task takes exactly one day to complete, and only...
Input: Given input
Output: Computed result
coding Hard Verified Question #8

8. Collatz Sequence


Category: Algorithm coding problem
The Collatz conjecture is a famous unsolved problem in mathematics. For any positive integer n, the sequence is defined as follows: - If n is...
Input: Integer(s)
Output: Computed result
coding Medium Verified Question #9

9. Shortest Maze Path


Category: Grid/matrix coding problem
# Question You are in a maze that is represented as a grid of cells, where each cell is either empty (O) or blocked (X). You can move up, down,...
Input: 2D grid
Output:** Integer
coding Hard Verified Question #10

10. Implement Refunds


Category: Algorithm coding problem
# Question AirBnB has a need to support refunds for our customers in case of booking changes or cancellations.
Input: List
Output: Array
coding Hard dynamic programming #1

1. [OA] Dynamic Programming — Minimize battery usage on commute

Airbnb app users require efficient battery management to prolong device usage while navigating to their destinations. Optimizing battery usage according to user preferences during their commute is essential.
Use dynamic programming to determine the minimal battery usage when users must traverse a series of n locations with associated batteryCosts that represent the battery consumption to move from one location to the next.
Function signature:
- int minBatteryUsage(int[] batteryCosts):
- Returns the minimum battery usage to navigate through all locations.
Example 1:
Input: batteryCosts = [5, 10, 3, 8]
Output: 18
Explanation:
In this case, the minimum battery usage is calculated as the sum of the smallest transitions: 5 + 3 + 10 = 18.
Constraints:
- batteryCosts.length <= 10^5
- batteryCosts[i] within [1, 100].
coding Hard two pointers #2

2. [OA] Two Pointers — Merge multiple user location streams

Airbnb handles several user location streams simultaneously to provide accurate search results based on proximity. Merging these streams efficiently is crucial for performance.
Given an array of locationStreams representing UserLocation objects containing longitude, latitude, and timestamp, merge these streams into one sorted array based on timestamp.
UserLocation class:
- class UserLocation:
- float longitude: longitude of the user.
- float latitude: latitude of the user.
- int timestamp: the timestamp when the location was recorded.
Example 1:
Input: locations = [[UserLocation(-73.9857, 40.7484, 3), UserLocation(-73.9860, 40.7488, 2)], [UserLocation(-73.9856, 40.7481, 4)]]
Output: [UserLocation(-73.9860, 40.7488, 2), UserLocation(-73.9857, 40.7484, 3), UserLocation(-73.9856, 40.7481, 4)]
Explanation: The merged list is sorted by timestamp.
Constraints:
- locations.length <= 10^4
- locations[i].length <= 10^3
- longitude, latitude within [-180, 180].
- timestamp within [0, 10^9].

Related Airbnb Mobile Engineer interview prep

Start practicing Airbnb questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free