Solicité el puesto a través de un captador. Acudí a una entrevista en WeWork
Entrevista
Long, but I'm trying to include good detail for any technical readers.
The recruiter got my name from an attendees list for a data engineering conference and contacted me via Linkedin.
I had an additional phone screen with recruiter then a 45 min video call with hiring manager.
While the conversation with the hiring manager was initially positive, it became apparent they were actually quite condescending. For e.g. "Ah yes, people with an analytics background frequently choose this suboptimal approach"
Anyway, once we got to the brief technical chops piece at the end of the interview I was asked to write SQL for a historical backfill of daily rolling MAUs. There was no shared coding pad etc - this was 'do it verbally' which felt strange, but I thought ok lets go for it.
I pulled up a google sheet and wrote my solution which involved use of a date dimension table and correlated subquery which pulled counts from the raw usages data table over a 30 day date window for each day in the dim table.
The manager informed me that this was not a good answer, and that the better approach would be to use a JOIN with a BETWEEN predicate. I was told my approach would produce a cartesian product and that this was bad for efficiency. I got the feeling that was wrong, so I asked where would a cartesian product be produced (since there was no join in my code). Couldn't get a good answer back. I'm interested in query optimization and EXPLAIN plans and have spent some time on it, so I tried to dig into a few comparisons but couldn't get much beyond variations of 'because it's better..' , 'join are always better than subqueries' or vague mention of the cartesian product.
In the end I was so annoyed that once I got off the call I sat and wrote the sql to create and seed a database with about 6 months data (30m rows) and ran both queries against it. My SQL executed in about 30% of the time of the manager's solution. I put the test code in a gist and shared it with the recruiter to pass on to the manager, hoping we could maybe discuss further. Crickets so far, presumably I won't be getting a call back. I think that's for the best.
TLDR: Manager couldn't reason about own interview questions in any depth, waffled on technical details. Steer clear of this one.
Preguntas de entrevista [1]
Pregunta 1
Create SQL to efficiently compute rolling 30 day MAUs over a year's worth of data.
Over three weeks, I had recruiter and technical screenings, transitioning into onsite interviews. The recruiter diligently provided updates, ensuring transparent communication throughout the process. Their regular status updates kept me informed and engaged, enhancing the overall experience during the interview process. This structured approach aided in maintaining clear expectations and timelines.
Preguntas de entrevista [1]
Pregunta 1
Why are you interesting in working at the company?
Applied on LinkedIn and got contacted the next day. The recruiter emailed me for setting up the call and I replied with the time slots. The interview was for the Data Engineer position. I got rejected after the call. The position was based in New York.