← Credit Karma Interview Insights

Credit Karma·Machine Learning Engineer·Technical Phone Screen·Senior

Senior
May 2026

Summary

Interviewed for an ML Engineer role at Credit Karma and the technical portion leaned heavily into model training diagnostics. The questions were meaty and definitely not the kind you can wing with surface-level prep.

Questions Asked (3)

Q1

What are the possible reasons a multi-task model's loss goes NaN or becomes unstable after initially decreasing?

Root Cause AnalysisTechnical Trade-offs
Author's notes

This one tripped me up more than I expected.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging that NaN or instability in multi-task models often stems from the interaction between tasks, not just a single task's issues. Then systematically cover data, architecture, loss balancing, and optimization aspects, emphasizing how these factors can compound in multi-task settings.

Pro tip: Mention that you would first check for NaNs in intermediate activations and gradients to isolate the source, and consider using gradient clipping and adaptive loss weighting as immediate mitigations while debugging.

1. Check Data and Labels

Verify that input data and labels for all tasks are clean, correctly scaled, and free of NaNs or extreme outliers. In multi-task settings, one task's corrupted data can poison shared representations.

2. Inspect Loss and Gradient Magnitudes

Monitor per-task losses and gradient norms during training to identify which task causes the explosion. Look for sudden spikes or NaNs in gradients, especially in shared layers.

3. Evaluate Loss Balancing and Weighting

Assess if the loss weights or uncertainty-based weighting are causing one task to dominate. Unbalanced losses can lead to unstable gradients and divergence.

4. Review Architecture and Shared Layers

Examine if shared layers are too complex or if task-specific heads interfere. Consider gradient surgery or task-specific normalization to mitigate conflicts.

5. Adjust Optimization and Regularization

Check learning rate, batch size, and use of gradient clipping. Implement adaptive optimizers with caution and consider reducing learning rate or adding warmup.

Key Points to Mention

  • Gradient explosion due to conflicting task gradients in shared layers
  • Improper loss weighting or uncertainty weighting causing one task to dominate
  • Numerical instability from operations like log or division in loss functions
  • Data issues: NaNs, outliers, or mislabeled samples in one task
  • Learning rate too high or lack of gradient clipping
  • Architectural issues: shared layers with incompatible feature scales

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you debug training instability that only shows up after a few hundred steps rather than at the start?

Root Cause AnalysisSystem Design
Author's notes

Delayed instability is a different beast from immediate divergence and I think I made that point clearly enough.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging that late-onset instability often stems from gradual accumulation of numerical errors, data distribution shifts, or optimizer state issues. Then outline a systematic debugging plan that isolates components (data, model, optimizer, hardware) and uses monitoring to catch the first sign of divergence.

Pro tip: Instrument training with per-step gradient norms, loss, and learning rate logging from the start; the first anomaly often reveals the root cause (e.g., exploding gradients, NaN in loss). Also, try to reproduce with a smaller batch or subset to iterate faster.

1. Reproduce and Monitor

Run the training with detailed logging (loss, gradients, learning rate, activations) to confirm the instability and identify the exact step where it begins.

2. Check Data and Preprocessing

Inspect data pipelines for issues like occasional corrupt samples, improper normalization, or data order effects that could trigger instability after many steps.

3. Inspect Model and Optimizer

Look for numerical instability in the model (e.g., exploding gradients, dead ReLUs) and optimizer settings (e.g., learning rate too high, beta2 too low, epsilon too small).

4. Isolate with Ablations

Run controlled experiments: change one variable at a time (e.g., lower learning rate, gradient clipping, different initialization) to pinpoint the cause.

5. Apply Fix and Validate

Implement the fix (e.g., gradient clipping, learning rate warmup, batch norm) and validate stability over longer training runs.

Key Points to Mention

  • Gradient clipping to prevent exploding gradients
  • Learning rate schedules and warmup
  • Data shuffling and batch normalization
  • Numerical precision (float16 vs float32) and loss scaling
  • Optimizer state (e.g., Adam's second moment) and epsilon
  • Regularization techniques (dropout, weight decay) and their interaction

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

What loss functions and optimization strategies would you use for a sparse conversion prediction problem?

Technical Trade-offsProduct Analytics & Metrics
Author's notes

Class imbalance question dressed up in fintech clothing.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business context and data characteristics, such as the conversion rate and class imbalance. Then discuss loss functions that handle sparsity, like weighted cross-entropy or focal loss, and optimization strategies such as resampling or custom training loops. Emphasize evaluation metrics beyond accuracy, like AUC-PR or lift, and consider trade-offs between model complexity and interpretability.

Pro tip: Credit Karma values measurable business impact, so tie your choices to metrics like incremental conversions or ROI. Mention that you'd validate offline with holdout sets and online with A/B tests, and be prepared to discuss how you'd handle delayed feedback in conversion labels.

1. Clarify the problem and data

Ask about the conversion rate, data volume, feature availability, and business goal (e.g., ranking vs. classification). This shows you understand that sparse conversion often means extreme class imbalance and delayed labels.

2. Choose appropriate loss functions

Discuss weighted binary cross-entropy, focal loss, or ranking losses like pairwise hinge. Explain how they address class imbalance and focus on hard examples.

3. Select optimization strategies

Cover techniques like negative sampling, resampling (oversampling positives or undersampling negatives), and using optimizers like Adam with learning rate scheduling. Mention handling delayed feedback via importance weighting or survival models.

4. Evaluate with business-relevant metrics

Propose metrics like AUC-PR, lift at top k%, calibration, and expected value. Emphasize offline-online consistency and A/B testing for conversion lift.

5. Discuss trade-offs and iteration

Compare model complexity vs. interpretability, training time vs. performance, and how you'd iterate based on feedback. Highlight the need to monitor for drift and retrain regularly.

Key Points to Mention

  • Class imbalance handling: weighted loss, focal loss, or resampling techniques.
  • Ranking vs. classification: sometimes conversion prediction is better framed as ranking (e.g., learning to rank).
  • Delayed feedback: conversions may occur after a delay, requiring techniques like delayed feedback models or survival analysis.
  • Evaluation metrics: AUC-PR, lift, calibration, and business metrics like ROI.
  • Optimization: use of Adam, learning rate schedules, and early stopping.
  • Scalability: consider distributed training and efficient negative sampling for large-scale data.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.