I couldn't find much interview experience for this specific role online, so I'm contributing mine here. The role was Senior Software Engineer - Data Engineering.
The interviewer wasn't very enthusiastic. 40 minutes, two questions — the first was SQL, the second felt more like an OOD (object-oriented design) question.
The logic in the first SQL question wasn't actually that hard — what was hard was that it tested string operations. I roughly knew which function to use, but for one thing, I use BigQuery at work, and the specific method names and usage are somewhat different from Postgres, which is what this interview used. Normally I'd just search to confirm the method name and parameters, but you can't search during the interview, so I had to rely on the interviewer's reluctant hints to piece the query together. At one point the interviewer said something like "substr should be a pretty common method," blah blah. In the end I fell just a bit short.
For the second question (Python), I was a bit thrown off by the first question, so I was slow to react. The problem statement was long — the example code on the right side was almost 200 lines — and I was given less than 20 minutes. If I'd been asked to write it from scratch I could have gotten somewhere, but this question wanted me to add an implementation into an existing class structure on the right, and the code had abstract methods in it too, which was easy to get confused by. In the end I just talked through my approach.
It was a pretty frustrating experience overall. I'd prepared for three weeks, and it turned out the direction from the recruiter and the direction from the interviewer were completely different. I felt kind of screwed over — the recruiter had told me it would be easy-to-medium coding questions.
For other data engineering roles I've interviewed for, the SQL didn't test this much string manipulation, or the interviewer would give hints readily. As for the coding part, at companies like Stripe and Instacart that test OOD-style coding, they at least give you 30 minutes, and the questions aren't as long.
Here's the actual SQL question, as given:
Service Access Log Analysis
Description
As part of the "HackerProxy" SaaS launch process, analyze the service access log. Create a report that lists the most popular extension(s) of each request method, grouped by day of week. The report should include the columns method, monday, tuesday, .., sunday
- The report should only include information for June, 2021.
- There should be one row for each request method seen.
- Sort the report alphabetically increasing by request method name. In each row, for each day of the week, determine the highest frequency any one file type is requested using the method.
- If there are no requests that use the method on a day of the week, return NULL.
- If there is only one file type that has the maximum number of requests, return the file extension
- If there is a tie between multiple file types, create a comma-delimited list of the most popular extension(s), sorted alphabetically ascending
Discussion
Loading comments…