This was a technical phone screen. I was given a choice between starting with SQL or Python.
Details
The phone screen consisted of SQL and Python questions. I opted to start with SQL. These are commonly asked questions in interviews.
The SQL questions were:
Find the customers and their sales volume for each payment type.
List the inviters of the top five spending customers among the invited customers, along with the total spending.
Author statistics: total number, percentage of .COM website URLs, percentage of authors with no sales. (I got tripped up on this one because the interviewer said some authors might not have published books. So, after the left join book, I added 'or b.book_id is not null' in the WHERE clause. This might have caused a mismatch in the last row of the results.)
The Python questions were also standard interview questions:
Given a number, find the smallest positive integer that can be formed using all the odd numbers.
Given a dictionary with location: {comment1, comment2, ...}, find the most frequent comment, with de-duplication per location.
Course schedule: given a list of courses with {name, size, start, end}, find the maximum number of people in any continuous two-year period.
Bookshelf problem: use a greedy algorithm. I didn't prepare this one well, so I wrote it incorrectly and didn't have enough time to debug.