Finished my Square DE loop last month. Posting this because I couldn't find a good writeup when I was prepping. Targeting senior DE, pipeline and platform focus.
Recruiter screen: 30 minutes. Mostly background, why Square, what's my experience with streaming vs. batch pipelines. I mentioned Kafka and Flink experience and the recruiter flagged that as relevant -- Square runs a real-time transaction platform so streaming is not optional here.
Technical screen: SQL heavy. Three questions, 45 minutes. Two were analytics-ish (aggregations, window functions). One was more data modeling: given a set of business requirements, design the tables. I sketched a fact/dimension model, they pushed back and asked about slowly changing dimensions. Know your SCDs.
Onsite (4 rounds):
Pipeline design / system design: Design a real-time pipeline to detect duplicate transactions. I talked through Kafka as the event stream, a stateful Flink job to window transactions and check for duplicates by idempotency key, sinking to Postgres for alerting and to S3 for historical analysis. They asked about failure modes: what if the Flink job goes down? How do you guarantee exactly-once? We spent a while on Kafka offsets and checkpointing.
SQL round: Heavier version of the phone screen queries. One problem had a recursive CTE (org hierarchy). I knew the syntax but hadn't practiced it much. Managed but it was slow.
Data modeling round: Design the data model for Square's seller analytics product. What does a merchant's transaction history schema look like? How do you handle schema changes over time? We got into versioning and column-level changes.
Behavioral: "Tell me about a pipeline that broke in production and how you handled it." Have this story. Have real numbers (SLA, data lag, business impact).
Prep essentials: Kafka + Flink or Spark Streaming, SQL including window functions and CTEs, star schema vs. OBT, exactly-once guarantees, and one solid incident story from your production experience.
Decision was 7 business days post-onsite. Passed to offer stage. Comp discussion is a separate post.