I applied online. I interviewed at Airbnb (Bengaluru) in June 2026
Interview
One cons with their whole process was the time they take to schedule all the rounds. They took more than a month and multiple back & forths just to schedule 3 rounds. Round 0 was a HackerRank test with 4-5 SQL questions and 1 python question. Then, there's a recruiter screening round followed by Round 2, which consists of a General Coding round and a Data Coding round. For the General Coding round, we had to execute the python/java code and show the output. Both my panels for the General Coding and Data Coding rounds were from the US so the interviews were scheduled at night IST. The General Coding interviewer was helpful and hinting towards edge cases. For the Data Coding round, they rescheduled it once because the panel didn't show up the first time. Even after rescheduling, I was looking forward to the Data Coding round but the interviewer seemed inexperienced (even though he was experienced professionally with work experience at multiple orgs) and was confidently uttering a few incorrect things and didn't clearly specify his expectations. For this round, the main expectation that the interviewer never set for me was that he was evaluating all the SQL answers from the lens of "How would this SQL query behave at scale on Spark?" while I was answering it from the lens of "How would I solve this question analytically in SQL?". With respect to this, for one question, he said that we can use CTE, to which I replied that CTE's are only for readability but he replied that CTEs in Spark would force the pre-aggregation to be performed before (while this is factually correct, he never mentioned that he was evaluating & expecting from the pov of executing it in Spark, but expected me to answer that!). At one point, I had to make answers which he wanted to hear, regardless of whether my initial answer was correct or not. For one of the simple questions I knew I had correctly answered, he kept me wondering if I had correctly answered it. I'd say my luck was bad that I got this interviewer panel. I got rejected at this point as I had expected.
Interview questions [3]
Question 1
For the HackerRank assessment, they will give a table schema and base SQL questions on that and execution will test it on a few test cases. Similar for the python question as well. In my case, the question just asked the last same SQL question but the code had to be implemented in python.
General Coding round: I had to write the code either in python or java. I was given a dictionary of listings. Each listing had multiple list type key/value pairs inside like amenities, ratings, reviews, guest ids, host ids. Based on this listings variable, there were multiple questions like: Q1. Give all cohosts with the count of their listings. Q2. Give the guest id with the lowest average rating. How do you handle ties? Q3. Sort listings from top to bottom as per average rating. In case of tie, use the one with the latest review date.
Data Coding round: The interviewer shared 2 table schemas with example data rows. I had to write SQL for all the questions based on that. One table was impressions table (id, visitor_id, page_name, referrer_page_name, ts, ds) and the other was actions table (id, page_impression_id,action, ts, ds). Some helpful date functions are: current_date(), DATE_ADD(current_date, INTERVAL 1 DAY). Q1: Write a query to find which visitor visited the most number of distinct pages yesterday and how many distinct pages they visited. Q2: Write a query to find the total number of actions taken on each page (i.e. page_name) visited yesterday. Q3: Write a query to list the pages (i.e. page_name) for page_impressions where visitors used the “BUTTON CLICK” action more than once yesterday. Q4: We want to periodically send a survey to all “super users”. “Super users” are defined as visitors who have at least one impression every day over each of the last seven days. Write a query that would return the “super users” as of yesterday. Q5: We suspect that our page impression logging is currently broken, such that loggers might send duplicate impressions (two or more records exist with the same exact information). Write a query that can dedupe the events in the impression table so that duplicate events are filtered out. Q6: As an effort to simplify the application, we’ve been asked to identify which pages users spend the most time on. Write a query that provides us with an estimation of the avg duration for how long a user spends on each page. Be sure to call out any assumptions you are making and how they might affect the query results.
First round of interview is takehome Hackerank with 3-4 SQL + 2 Python coding question.
Next is final round interview - Virtual onsite of five rounds: coding with DSA, general coding, data modeling, behaviorial question, E2E system design.
Interview questions [1]
Question 1
Take home Hackerank with 3-4 SQL + 2 Python coding question.
Virtual onsite of five rounds: coding with DSA, general coding, data modeling, behaviorial question, E2E system design.
I applied through a recruiter. I interviewed at Airbnb in May 2024
Interview
Started with a hackerrank online test, 4 sql questions and 1 programming question in an hour. Needed 100% to move on to the onsite.
Onsite was five rounds, 1 behavior, 1 programming, 1 system, 1 "data modeling" (but was really a sql round), 1 pure SQL round.
Interview questions [5]
Question 1
Given a list of attributes and graph of relationships, compute the total list of properties for each node in the graph.
The data modeling round was about designing the schema for two tables, one to represent individual bookings and one to represent the properties being booked, and then writing queries off of them.
The systems design question was weird. The interviewer basically spec'd out a full system of a SQL dump into Hive into daily partitions and gave me the two tables and the query they wanted to run as an ETL.