Went through the Cloudflare DS loop last month for a role on their analytics team. Posting data.
Process summary: Recruiter screen (30 min) Technical phone screen (45 min, SQL + stats questions) Onsite: 4 rounds over two days (not consecutive)
Technical phone screen: Two SQL problems. First was a window function problem, ranking traffic volumes by region. Second was more complex: multi-table join with filtering on time windows and aggregating by a dimension. Both were done in CoderPad. No trick questions, but the second problem had a subtle requirement about how to handle nulls that I almost missed.
Onsite rounds:
Round 1 (SQL deep dive): Similar difficulty to phone screen but slightly more involved. They care about query efficiency, not just correctness. I was asked about index strategies at one point.
Round 2 (stats + probability): Random variable concepts, A/B testing design, how to handle a test where one variant has much higher variance. They also asked how I'd detect bot traffic in a metric vs. genuine user behavior changes. This is a CF-specific question and caught me a bit off guard. Think about it before your loop.
Round 3 (case/product analytics): Given a scenario where a Cloudflare product metric drops 15% week-over-week, walk through your diagnostic process. Standard but they want to see you think about network-specific causes (BGP updates, new anycast nodes, attack traffic spikes) not just generic 'check if there's a bug' answers.
Round 4 (behavioral): same as other roles, see the other thread here.
Python was fine for any coding portions. No ML modeling asked in my specific loop but I've heard some loops include a modeling component depending on the team.
One honest note: the SQL bar here is higher than most DS roles I've interviewed for. If you've been in roles where analysts do SQL and you mostly do modeling, you may want to brush up.