airbnb | Software Engineer | Interview Experience
Interview Date: Not specified
Result: Not specified
Difficulty: Not specified
Interview Process
The interview process consisted of several rounds, including a technical phone screen followed by an onsite interview. The technical phone screen lasted about 45 minutes and included coding questions and discussion of previous projects. The onsite interview comprised multiple technical interviews focusing on algorithms, system design, and behavioral questions.
Technical Questions
- LeetCode 336: Requirements for O(nk), but official solution only achieves O(nk²). Clarify performance requirements with the interviewer.
- LeetCode 864, 284, 1298
- LeetCode 1557: Inquire about handling cyclic graphs. If cycles are present, determine if the graph is fully connected or if there are multiple disconnected cycles.
- LeetCode 1235: Ask whether to output the task execution list.
- Menu Problem: Build a function to determine the most cost-effective order from a restaurant menu.
- Input: Menu with item names and prices, user desired items (max 3 unique items).
- Example:
Menu: [[5.00, "pizza"], [8.00, "sandwich,coke"], [4.00, "pasta"], [2.00, "coke"], [6.00, "pasta,coke,pizza"], [8.00, "burger,coke,pizza"], [5.00, "sandwich"]] user_wants: ["sandwich", "pasta", "coke"] Expected answer: lowest cost = 11, order path = [ [ 2, 3, 6], [4,6] ]
- Services Problem: Find the minimum cost to obtain all desired services from a list of available services and their prices.
- Connect 4: Implement functions for a Connect 4 game including dropping discs, checking for a winner, and printing the board.
- Property Selection: Given a list of properties, find a combination that meets neighborhood and group size requirements.
- Input: Properties = [ Property(1, “downtown”, 5), Property(2, “downtown”, 3), Property(3, “downtown”, 1), Property(4, “uptown”, 4), Property(5, “uptown”, 2) ]
- Neighborhood: “downtown”
- Group Size: 6
- Expected Output: {1, 3}
- Refund Problem: Implement refund rules based on payment methods and timestamps.
- Example Input: Transactions with payments and a specified refund amount. Clarify input format and timestamp representation with the interviewer.
Tips & Insights
- Always clarify input formats and requirements before starting to solve a problem.
- Be prepared to discuss performance optimizations and edge cases.
- Practice coding problems on platforms like LeetCode to familiarize yourself with common patterns and questions.