finished the Affirm MLE loop about six weeks ago. went for a risk modeling role on the credit underwriting side. sharing specifics because the ML interview here is different from what you'd expect at a typical big-tech ML team.
the core theme: applied ML in a high-stakes, regulated context. they want people who think about model calibration, fairness constraints, and production reliability. pure algorithm hotshots who can't talk about decision thresholds or adverse action notices are going to struggle.
rounds: coding screen (45 min): standard python data structures question. nothing algorithmic that would stump you. they wanted clean readable code. ML depth (60 min): this is the real interview. they walked through my past models. i had to explain precision/recall tradeoffs for a credit model, what changes when false positives are expensive (approving bad borrowers) vs false negatives (rejecting good ones). we went deep on class imbalance handling, threshold tuning, and why FICO alone isn't a great feature set. ML system design (60 min): "design a fraud detection system for affirm real-time transactions." they pushed hard on latency requirements, feature store design, and model refresh cadence. also asked how i'd handle distributional shift when a new merchant category comes on. i've done this kind of question before but the fintech specifics made it more grounded. behavioral: 4 questions, standard STAR. one was specifically about a time a model you deployed caused a downstream problem. have a good story for that. coding again (ML-flavored): asked me to implement a basic sigmoid, then asked what happens numerically at extreme values and how to fix it. then asked about gradient descent. not pytorch-level, just fundamentals.
what matters: they're very serious about model governance and fairness compliance. ecoa and fair lending came up. if you come from a consumer credit or lending background you'll have a natural edge.