← Creditkarma Interview Insights

Creditkarma·Machine Learning Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
May 2026

Summary

Onsite system design loop at Credit Karma for an ML Engineer role. The whole session revolved around one meaty multi-task ranking problem with a bunch of follow-ups layered on top. Technically pretty intense, lots of debugging-under-pressure vibes.

Questions Asked (7)

Q1

You're training a multi-task ranking model that predicts click, application, conversion, and approval. Training loss goes NaN after a few hundred steps. Walk through how you'd debug it.

Root Cause AnalysisTechnical Trade-offsSystem Design
Author's notes

The thing that tripped me up initially was wanting to list every possible cause (gradient explosion, bad LR, loss weights, etc.) before actually thinking about what the timing tells you.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by systematically checking for numerical instability in the loss computation, such as log(0) or division by zero, especially in binary cross-entropy losses for click, application, conversion, and approval. Then examine gradient magnitudes and learning rate, and consider multi-task loss weighting and data issues. Finally, propose concrete fixes like adding epsilon, gradient clipping, or adjusting loss weights.

Pro tip: Mention that NaN often arises from a single task's loss dominating or from extreme class imbalance; suggest monitoring per-task loss and gradient norms to isolate the culprit. Also, emphasize the importance of reproducible debugging by setting random seeds and using small batches.

1. Check for numerical instability in loss computation

Inspect each task's loss function for operations that can produce NaN, such as log(0) in binary cross-entropy or division by zero in normalization. Add small epsilon to probabilities and ensure labels are valid.

2. Monitor gradients and learning rate

Log gradient norms per layer and per task. If gradients explode, apply gradient clipping and reduce learning rate. Check for vanishing gradients that might cause NaN through division.

3. Examine multi-task loss weighting and task interference

Review how losses are combined (e.g., sum, weighted sum). If one task's loss is much larger, it can dominate and cause instability. Try uncertainty weighting or dynamic weight adjustment.

4. Inspect data and labels for anomalies

Check for NaN or inf in input features and labels. Ensure labels are in valid range (e.g., 0/1 for binary tasks). Look for extreme outliers that could cause large gradients.

5. Implement fixes and validate

Apply fixes such as adding epsilon, gradient clipping, learning rate warmup, or loss weighting. Validate by training on a small subset and monitoring loss and gradients for stability.

Key Points to Mention

  • Numerical stability in loss functions (e.g., adding epsilon to log operations)
  • Gradient clipping and learning rate scheduling
  • Multi-task loss weighting strategies (e.g., uncertainty weighting, GradNorm)
  • Monitoring per-task loss and gradient norms for debugging
  • Data validation for NaN/inf and label correctness
  • Use of mixed precision training and its potential pitfalls

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

Q2

Offline metrics look great but the model underperforms in the live experiment. How do you investigate the offline-online gap?

A/B Testing & ExperimentationRoot Cause AnalysisSystem Design
Author's notes

My instinct was to blame the model, which the interviewer gently pushed back on.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by validating the experiment setup and data pipeline to rule out instrumentation or logging issues, then systematically compare offline and online environments to identify discrepancies in data, metrics, or model behavior. Finally, propose actionable steps to close the gap, such as retraining with online data or adjusting the model for production constraints.

Pro tip: Emphasize the importance of checking for training-serving skew and novelty effects, as these are common culprits that many candidates overlook. Demonstrating a structured, hypothesis-driven approach will set you apart.

1. Validate Experiment and Data Pipeline

Ensure the A/B test is correctly configured, with proper randomization, sufficient sample size, and no data leakage. Check for logging errors, metric definition mismatches, or pipeline failures that could distort online results.

2. Compare Offline and Online Data Distributions

Analyze feature distributions, label definitions, and user populations between offline training data and online serving data. Look for covariate shift, concept drift, or sampling biases that could cause the model to underperform.

3. Inspect Model Behavior and Serving Infrastructure

Verify that the model is served correctly, with consistent preprocessing and feature transformations. Check for training-serving skew, latency issues, or fallback mechanisms that might override model predictions.

4. Analyze Online Metrics and User Segments

Break down online performance by user segments, time periods, and other dimensions to identify where the model fails. Compare with offline evaluation metrics to pinpoint specific weaknesses.

5. Iterate and Remediate

Based on findings, propose fixes such as retraining with more representative data, adjusting the model for online constraints, or refining the experiment design. Monitor subsequent experiments to confirm improvements.

Key Points to Mention

  • Training-serving skew and feature consistency
  • Data leakage or temporal validation issues in offline evaluation
  • Novelty effects and user adaptation in online experiments
  • Metric alignment: offline proxy vs. online business metric
  • Sample size and statistical power of the A/B test
  • Feedback loops and delayed labels in online systems

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

Q3

Conversion and approval labels have a positive rate around 0.1%. What loss functions and optimization strategies make sense for such extreme imbalance, and how does label delay factor in separately?

Technical Trade-offsData ModelingRoot Cause Analysis
Author's notes

I conflated imbalance and label delay at first, which was a mistake.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging the extreme imbalance and its implications, then discuss appropriate loss functions and optimization strategies, and finally address label delay as a separate but related issue. Emphasize that the choice depends on business objectives and evaluation metrics, and that label delay requires careful handling in training and evaluation.

Pro tip: Mention that in production, you might need to combine techniques like focal loss with delayed label handling, and that monitoring both immediate and delayed metrics is crucial. Also, consider the cost of false positives vs. false negatives in the context of Credit Karma's business.

1. Acknowledge the challenge

State that 0.1% positive rate is extreme and standard loss functions like cross-entropy may struggle. Mention that accuracy is misleading and focus on precision-recall or AUC-PR.

2. Loss functions for imbalance

Discuss weighted cross-entropy, focal loss, and possibly custom losses that emphasize the minority class. Explain how these adjust the loss contribution of each class.

3. Optimization strategies

Cover techniques like resampling (oversampling minority, undersampling majority), data augmentation, and algorithmic approaches like ensemble methods. Mention that these can be combined with loss functions.

4. Label delay considerations

Explain that label delay means positive labels arrive later, causing training data to have stale negatives. Discuss strategies like using delayed feedback in training, importance weighting, or survival analysis.

5. Evaluation and monitoring

Stress the importance of using appropriate metrics (PR-AUC, recall at fixed precision) and monitoring both immediate and delayed performance. Suggest A/B testing and feedback loops.

Key Points to Mention

  • Weighted cross-entropy and focal loss for class imbalance
  • Resampling techniques: oversampling, undersampling, SMOTE
  • Evaluation metrics: precision-recall AUC, recall at high precision
  • Label delay: treating delayed positives as censored data, using survival analysis or delayed feedback models
  • Business context: cost-sensitive learning, aligning with Credit Karma's goals
  • Production considerations: retraining frequency, monitoring, and handling concept drift

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

Q4

A high-importance feature is always a default constant at serving time but is correctly populated in the offline training data. What do you do, and how would you have caught this earlier?

System DesignRoot Cause AnalysisTechnical Trade-offs
Author's notes

Pretty concrete scenario.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging the issue as a classic training-serving skew problem, then walk through a structured incident response: diagnose the root cause, implement a short-term fix, and propose long-term prevention. Emphasize the importance of monitoring feature distributions and validating the serving pipeline end-to-end.

Pro tip: Proactively mention that you would add a canary or shadow deployment to compare online and offline feature values, and set up automated alerts for feature drift. This shows you think beyond the immediate fix to systemic reliability.

1. Diagnose the Root Cause

Investigate why the feature is constant at serving time: check if the feature is missing from the serving request, if there's a default value being applied, or if the feature computation logic differs between offline and online. Trace the data flow from source to model input.

2. Implement Immediate Mitigation

If the feature is critical, consider temporarily disabling it or using a fallback model that doesn't rely on it. Communicate with stakeholders about the impact and expected resolution time.

3. Fix the Serving Pipeline

Correct the feature computation or retrieval logic in the serving environment to match offline processing. Ensure that the feature is populated correctly and validate with test requests.

4. Validate and Monitor

After the fix, run A/B tests or shadow deployments to compare online and offline feature distributions. Set up monitoring and alerts for feature drift and missing values.

5. Prevent Future Occurrences

Implement automated checks in CI/CD to compare feature statistics between training and serving. Establish a feature store with consistent transformations and add unit tests for feature pipelines.

Key Points to Mention

  • Training-serving skew and its impact on model performance
  • Feature store for consistent feature computation
  • Monitoring and alerting for feature drift and missing values
  • Shadow deployment or canary testing to compare online/offline features
  • Automated validation in CI/CD pipelines
  • Root cause analysis techniques like tracing data lineage

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

Q5

Mixed precision training is causing instability but you need it for throughput. How do you keep both?

Technical Trade-offsSystem Design
Author's notes

Shorter discussion but good.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging the trade-off and then systematically address instability sources: loss scaling, precision-sensitive operations, and optimizer states. Propose a hybrid precision strategy (e.g., FP16 for compute-heavy layers, FP32 for sensitive parts) and monitoring to dynamically adjust. Emphasize that throughput can be maintained by optimizing the precision mix and using techniques like gradient accumulation or bfloat16 where available.

Pro tip: Mention that instability often stems from gradient underflow/overflow, so using dynamic loss scaling with a fallback to FP32 for the first few steps can stabilize training without sacrificing much throughput. Also, highlight that bfloat16 (if hardware supports) offers a wider dynamic range and often eliminates the need for loss scaling, simplifying stability.

1. Diagnose the instability

Identify whether instability comes from gradient underflow/overflow, precision-sensitive layers (e.g., softmax, layer norm), or optimizer state precision. Use tools like gradient histograms and loss scale tracking.

2. Choose the right precision mix

Decide which operations use FP16/BF16 and which remain FP32. Typically, keep master weights and optimizer states in FP32, use FP16/BF16 for forward/backward compute, and selectively use FP32 for normalization and loss layers.

3. Implement dynamic loss scaling

Use dynamic loss scaling to prevent gradient underflow. If overflow occurs, skip the step and reduce the scale; if no overflow for N steps, increase the scale. This maintains stability with minimal throughput impact.

4. Monitor and adapt

Continuously monitor for NaNs/Infs and adjust the precision mix or loss scale dynamically. Consider gradient clipping and warmup to further stabilize training.

5. Optimize for throughput

Ensure that the precision mix doesn't negate throughput gains: use tensor cores efficiently, minimize FP32 fallbacks, and consider bfloat16 if available. Profile to confirm speedup.

Key Points to Mention

  • Dynamic loss scaling and its role in preventing gradient underflow/overflow
  • Mixed precision with FP32 master weights and optimizer states
  • Selective precision for sensitive operations (e.g., softmax, layer norm, loss)
  • Use of bfloat16 for wider dynamic range and reduced need for loss scaling
  • Gradient clipping and warmup to stabilize training
  • Monitoring and fallback mechanisms (e.g., skipping steps on overflow)

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

Q6

Conversion labels take 14 days to mature. How does that change your loss construction and your offline evaluation setup?

Data ModelingProduct Analytics & MetricsTechnical Trade-offs
Author's notes

I liked this one.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Acknowledge the delayed feedback problem and explain how you would adjust both the loss function to account for label maturity and the offline evaluation to avoid biased estimates. Focus on practical solutions like using proxy labels, time-based validation, and weighting schemes to handle the delay.

Pro tip: Emphasize the importance of aligning offline evaluation with online business metrics by simulating the label delay in your validation strategy, and consider using survival analysis or delayed feedback models to better estimate conversion probabilities.

1. Understand the Impact of Delayed Labels

Explain how a 14-day maturation window introduces label noise and bias: recent data has incomplete labels, leading to underestimation of conversion rates and skewed loss calculations.

2. Adjust Loss Construction

Propose modifications to the loss function to handle delayed labels, such as using sample weighting to downweight recent observations, incorporating a time-decay factor, or employing a delayed feedback model that predicts the probability of eventual conversion.

3. Modify Offline Evaluation Setup

Describe how to design offline evaluation to mimic the delay: use time-based splits where the validation set is mature, simulate the delay by truncating labels, and evaluate metrics like AUC or calibration on mature cohorts only.

4. Consider Alternative Labels or Proxies

Discuss using proxy labels (e.g., early engagement signals) or intermediate outcomes that correlate with conversion to train models faster, while validating against mature labels when available.

5. Monitor and Iterate

Highlight the need for continuous monitoring of model performance as labels mature, and iterating on the loss and evaluation strategy to reduce bias and improve alignment with online metrics.

Key Points to Mention

  • Label delay causes bias in training and evaluation; need to account for it explicitly.
  • Use of sample weighting or time-decay to downweight immature labels.
  • Time-based validation splits to ensure evaluation on mature data.
  • Proxy labels or intermediate signals to mitigate delay.
  • Delayed feedback models (e.g., survival analysis, exponential decay) to estimate conversion probability.
  • Importance of aligning offline metrics with online business metrics (e.g., conversion rate, ROI).

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

Q7

How would you set up continuous monitoring to automatically catch training-serving skew before it ships?

System DesignProduct Analytics & MetricsA/B Testing & Experimentation
Author's notes

Talked about feature distribution drift checks, PSI or KL divergence on key features between training data and recent serving logs, prediction score distribution shifts, and shadow scoring where you run the new model in parallel and compare outputs before promoting.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining training-serving skew and its impact on model performance. Then outline a monitoring system that computes key statistics on both training and serving data, compares them, and triggers alerts when significant deviations occur. Emphasize automation, integration into CI/CD, and proactive detection before deployment.

Pro tip: Highlight the importance of monitoring not just feature distributions but also prediction distributions and business metrics, as skew can manifest in subtle ways. Also, mention the need for a feedback loop to continuously update the monitoring thresholds based on historical data.

1. Define Skew Metrics

Identify the key statistics to monitor, such as feature distributions, missing value rates, and prediction distributions. Choose metrics that are sensitive to skew and relevant to model performance.

2. Instrument Data Collection

Ensure both training and serving pipelines log the necessary data at the same granularity. Use a common schema and store data in a centralized repository for easy comparison.

3. Implement Automated Comparison

Set up a system that periodically computes the chosen metrics on recent serving data and compares them to the training data baseline. Use statistical tests to detect significant differences.

4. Set Up Alerts and Thresholds

Define thresholds for acceptable deviation and configure alerts to notify the team when exceeded. Integrate with incident management tools for quick response.

5. Integrate into CI/CD and Retraining

Embed skew detection into the deployment pipeline to block releases if skew is detected. Automate retraining triggers when skew is identified to keep models up-to-date.

Key Points to Mention

  • Training-serving skew definition and common causes (e.g., data pipeline bugs, feature engineering differences, changing data distributions).
  • Importance of monitoring both feature and prediction distributions, as well as business metrics.
  • Use of statistical tests (e.g., KL divergence, KS test) to quantify skew.
  • Automation and integration with CI/CD for pre-deployment checks.
  • Alerting and incident response for post-deployment monitoring.
  • Feedback loop for continuous improvement of monitoring thresholds.

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