OPPO·Software Engineer·Technical Phone Screen
Jul 2026
SQL-heavy technical screen for a Data Engineer role at OPPO. Three questions, each harder than the last, and by the third one I was definitely sweating. The jump from basic aggregation to gaps-and-islands with membership windows was pretty steep.
- Given an Orders table with order_id, customer_id, amount, and order_date, write a query that returns each customer's total spend and number of orders for the full year 2024, sorted by total spend descending.
- Given a Transactions table with user_id, amount, and created_at, compute a 7-day rolling sum of amount for each user across every calendar date in the dataset, including dates where the user had no transactions.
- Given a Sessions table and a Memberships table, find users who had any session activity during periods when their membership was inactive, and return each user's total minutes of session time that fell outside their active membership window.
“Warmup question, pretty much.”