How do you handle latency variance rather than average latency?
GUARD · latency variance and the swipes nobody scored
Sentrywave scores every card swipe for Cascabel Bank before it clears. Its average latency never once broke budget the day a stolen card cleared fourteen gas pumps in six minutes.
The direct answer
Track and act on the slowest slice of scoring calls, the P99 and P99.9, never the average, because that is exactly where real fraud losses hide. Give the pipeline a fast, bounded fallback score, checked against a fraud eval set, that fires the moment the full pipeline runs past budget, instead of quietly waving the transaction through with no check at all. And watch latency by how many times the same account got hit in the last few minutes, because that is exactly when it gets slow.
Do this, in order
Alert on P99 and P99.9 latency, never the average.Why: Sentrywave's average sat at a steady 208ms the whole day a stolen card cleared fourteen gas pumps in six minutes, and the number that would have caught it was never even on the dashboard.
Give the pipeline a bounded fallback score that fires the moment it runs past budget.Why: a scoring call that just times out and defaults to approved is a transaction with zero fraud check behind it, not a slow but real one.
Watch latency broken down by how many times the same account was hit in the last few minutes, not system wide.Why: the tail wasn't random, it landed almost entirely on the exact pattern a real cash out ring produces.
Reject "just add more capacity" as the whole fix.Why: more servers narrow the tail, they don't bound it. A bigger ring can always outrun whatever headroom gets added.
Check the fallback score against a fraud eval set before it ever runs on a real card.Why: a fast fallback that's never been checked for accuracy just trades one silent failure for another.
Leave routine, spread out swipes alone.Why: the overwhelming majority of transactions never come near the budget at all; watching them the same way defends a risk that was never there.
How to answer this, stage by stage
Nobody is grading whether you can say the phrase "tail latency." They're grading whether you'd trust a healthy looking average, or go find the six minutes it was quietly wrong.
1
Scope it to one product before answering in the abstract
Say it like this
"Let's ground this in one product. Sentrywave is a real time fraud scoring service from Coriolis Systems, it scores every card swipe for Cascabel Bank before the swipe clears. Rasa Solaas is the platform engineer who owns its latency budget."
Why this works
A latency question turns into a performance lecture fast. One real product with a real budget in milliseconds keeps it a design problem.
2
Say your structure out loud before naming a single number
Say it like this
"I'd use GUARD here, because a scoring call that runs too slow is a risk question, not a performance question. Who holds the lever and who doesn't, where the slowness actually lands, who can't see it happening, the real design fix, and how you'd catch it before the next reconciliation report does."
Why this works
Two seconds naming the plan is the difference between a method and a guess with a stopwatch attached.
3
Name what actually breaks about watching the average
Say it like this
"The average latency on Sentrywave never moved, two hundred eight milliseconds, steady for months. But average latency only tells you what a typical swipe does. It says nothing about the one swipe that ran past budget and got waved through with no check at all. This was never a speed problem. It was a question of what the system does the moment it can't answer in time."
Why this works
This is the reframe. A weak answer jumps straight to "make it faster." A real one says why the average was never the right number to be watching.
4
Give the one decision
Say it like this
"So: track the slowest slice, P99 and P99.9, not the average. Give the pipeline a fast, bounded fallback score that fires the second it runs past budget, checked against a fraud eval set first. And watch latency by how many times the same account got hit in the last few minutes, because that's exactly where it gets slow."
Why this works
This matches the direct answer almost word for word, which is exactly what an interviewer is listening for.
5
Prove it with the ring that started it
Say it like this
"Here's what actually surfaced it. A stolen card cleared fourteen gas pumps across two states in six minutes, twenty five hundred ninety dollars total. Sentrywave's dashboard stayed green the whole day, average latency fine. On a routine call weeks later, Cascabel Bank's fraud lead mentioned it almost in passing: 'the average looked fine on that one, by the way.' Rasa pulled the trace herself. Swipe three took six hundred ten milliseconds, over budget. Swipe fourteen took three point nine seconds. Every swipe that ran past budget got waved through unscored, because that's what the system quietly did the moment it couldn't finish in time."
Why this works
One sentence, two numbers, and the harm lands on a specific ring of transactions. That's the compressed version of the story below.
6
Say what you'd measure, and what you'd leave alone
Say it like this
"I'd track P99.9 latency and the count of fail open events as their own numbers, watched daily, never folded into the average. I'd leave routine, spread out swipes alone completely, they never come near the budget, so there's no real risk sitting there to manage."
Why this works
Shows judgment, not blanket caution. Watching every swipe the same amount is the same as watching none of them closely.
7
Close on the decision, not the arithmetic
Say it like this
"So: an average can stay perfectly healthy on the exact day it matters least. Watch the tail, guarantee a real fallback verdict instead of a silent default, and never ship a latency budget without asking what the system actually does the moment it misses it."
Why this works
Ending on the rule instead of the last number crunched keeps this sounding like judgment, not a stopwatch read out loud.
Let's learn
Here is what happens when a number stays true for a year, and then, for one specific six minutes, it quietly stops being the number that matters.
Sentrywave is a fraud scoring service from Coriolis Systems. Every time a Cascabel Bank customer swipes a card, Sentrywave has less than half a second to say how risky that swipe looks, before the payment network decides whether to let it through.
For the first year, that half second was plenty. Coriolis published one number on Cascabel Bank's dashboard: average scoring time, a steady two hundred eight milliseconds, comfortably under the four hundred millisecond budget. The dashboard stayed green, month after month.
Knowledge spark: what is P99 latency?
Line up a hundred scoring calls, fastest to slowest. P99 is the one furthest toward the slow end, the single call out of a hundred that took the longest. It's the number an average can't show you, because ninety nine fast ones bury it completely.
Scoring time: the average day vs. the ring that got through
Comfortably inside budgetAlmost ten times over budget
The average never crossed the dashed line. One real swipe, inside that same average, ran nearly ten times past it and cleared with nothing behind it.
Here is what the average never showed. If Sentrywave can't return a score inside that four hundred millisecond budget, the payment network doesn't wait. It approves the swipe anyway, with no score behind it at all, so a slow check never holds up somebody's legitimate coffee order. That's a sensible rule for the rest of the traffic. It just means a scoring call that runs late doesn't fail loud. It fails silent, and it looks, on Coriolis's own dashboard, exactly like a swipe that was checked and passed clean.
Sentrywave didn't get slower because the model changed. It got slower on exactly the six minutes it needed to be fast, and on those six minutes it stopped checking at all.
One stolen card cleared fourteen gas pumps across two states in six minutes, twenty five hundred ninety dollars total. Two early swipes hadn't shown a pattern yet and passed cleanly, correctly, no score needed to catch them. The other twelve ran past budget and were waved through with no check behind them at all, because the same shared record, how many times this card has been used in the last ten minutes, was being read and rewritten by swipe after swipe within seconds of each other.
The choice that mattered
Two years earlier, Coriolis chose one number, average scoring latency under two hundred fifty milliseconds, as the whole health signal on Cascabel Bank's dashboard. That was a fine call then, when nothing on the platform ever ran near budget. It stopped being fine once a slice of swipes were running past budget and disappearing into a system built to never say so.
At its worst, this doesn't cost one bank one ring's worth of fraud. It costs the whole reason a bank bought real time scoring in the first place: a green light nobody can actually trust.
What I would leave alone: the overwhelming majority of swipes never come anywhere near the four hundred millisecond budget. A single card used once, at one store, has nothing to contend with. Watching those any more closely spends effort defending a risk that was never there.
The lesson: an average can be completely honest and still hide the only six minutes that ever mattered. Two hundred eight milliseconds was true, all day, every day. It was never close to the whole story.
Now here is the same thing as a story
Read the short version above if you're using this to answer out loud. Read the story below for how a two year old dashboard decision nearly cost Cascabel Bank the one thing real time scoring was supposed to buy them.
The dashboard sat on the wall of Coriolis's ops room, one line, always green: average scoring time, two hundred eight milliseconds. Rasa Solaas had built almost this same dashboard once before, at a checkout risk startup where every request cost about the same to score, so watching one blended number had never once let her down. She brought that same instinct to Sentrywave without questioning it, because there had never been a reason to.
For the first year, the instinct held. Cascabel Bank signed on with about six hundred thousand cards, mostly routine grocery and gas station swipes, and Sentrywave scored almost all of them in under two hundred fifty milliseconds. The four hundred millisecond budget, and what happened if a call ever missed it, wasn't something anyone on the team had spent real time on. Nothing had ever come close.
Cascabel Bank grew past two million cards in its second year with Sentrywave, and its fraud team leaned harder on it, trusting a green dashboard to mean a green day. Nobody was watching how many scoring calls ran past four hundred milliseconds, because nobody had ever built a chart for it. Nobody was counting how many of those calls got waved through with no score at all, because that number lived nowhere anyone looked.
Then, on a routine monthly call about a batch of fraud losses, Cascabel Bank's fraud lead mentioned one ring almost as an aside: fourteen gas pumps, two states, six minutes, twenty five hundred ninety dollars, one stolen card. "The average looked fine on that one, by the way, in case that's useful." It wasn't dressed up as a problem. It was one line in a longer list.
Rasa almost let it go. Then she pulled the raw trace for those fourteen swipes herself.
Sentrywave didn't get slower because the model changed. It got slower on exactly the six minutes it needed to be fast, and on those six minutes it stopped checking at all.
Swipe one and two came in clean, genuinely, no pattern yet for the model to catch. Swipe three took six hundred ten milliseconds, over the four hundred millisecond budget, and the payment network approved it without waiting for a score, the same rule that let a coffee order clear on a slow network day. Swipe four took past a second. Swipe fourteen took three point nine seconds. Every one of the twelve late swipes cleared with nothing behind it, and every one of them looked, on Coriolis's own dashboard, exactly like a swipe that had been checked and passed.
The decision that opened the door went back two years, to a meeting nobody thought twice about at the time. Coriolis needed one number for Cascabel Bank's onboarding deck, something simple enough to put on a slide. The team picked average scoring latency, under two hundred fifty milliseconds, and built the alerting entirely around it. Percentile tracking got raised once, and got cut, because nobody could yet point to a reason a client would care.
Rasa's first instinct was the fast fix: add capacity to the feature store, the shared record every scoring call reads and rewrites, so it could handle more at once without falling behind. She modeled it, and it helped, cutting the worst case from three point nine seconds to around one point two. It didn't fix it. A ring that hit sixteen pumps instead of fourteen, a little faster, would still find the edge of whatever headroom got added. The tail wasn't a capacity problem. It was a question of what Sentrywave did the moment it couldn't answer in time.
What she asked engineering for instead: a second, much smaller model, using only the transaction amount, the merchant type, and the velocity count itself, that could always return a real verdict inside eighty milliseconds. The moment the full pipeline ran past budget, this fallback would fire instead of letting the network default to approved. Checked first against a fraud eval set, tuned to flag more often than the full model would, on purpose, because a wrongly frozen card costs someone a phone call, and an unscored fraud swipe costs the money outright. And on the dashboard, a fallback scored swipe would show its own color, not folded into the same green as everything else.
Run the same ring again with the redesign live: swipe one and two clear the same way. By swipe three, the velocity count is climbing fast enough that the full pipeline starts to lag, crosses budget, and the fallback fires in eighty milliseconds instead of nothing at all. It flags elevated risk. The alert reaches the analyst's queue while swipe three is still settling. The card gets frozen before swipe four clears. The ring stops at five hundred fifty five dollars instead of twenty five hundred ninety, and it stops in the time it takes to read one line in a queue, not five weeks later on a call.
What I'd tell myself, back at that first meeting about the onboarding slide: we picked the number that fit cleanly in one line. We never once asked what the system would do on the six minutes it stopped being true.
GUARD, the five checks an average never asked
This isn't a speed question wearing a safety word. It's a risk question, and GUARD is what stops a healthy looking average from standing in for whether anyone actually got checked.
GGroups. Who holds the lever, and who doesn't?
Cascabel Bank's risk analysts hold the lever, once an alert reaches their queue, they can freeze a card in seconds. Rasa and Coriolis's platform team hold a different lever, the thresholds and the budget itself. The cardholder whose stolen card is running through a ring holds nothing at all. They don't know Sentrywave exists, and they have no way to know whether their swipe was ever actually checked.
Naming all three before touching a millisecond is what keeps a latency question a design decision, not an engineering ticket.
Rasa's team held the thresholds. A cardholder mid ring held nothing, and never even knew a check was supposed to happen.
UUnequal. Where does the slowness actually land?
Latency doesn't spread evenly across Sentrywave's traffic. It concentrates on swipes that share the same card in a short window, because that's exactly when the shared velocity record gets read and rewritten over and over. And that pattern, repeat hits on one card in a few minutes, is also exactly what a real cash out ring looks like. The harder the case, the slower the system got.
The unevenness isn't noise. It lands hardest on the swipes that most needed a fast, real check.
Scoring time by percentile, the day of the ring
Comfortably fineRight at the lineFailing open
P50 and P90 barely move. P99 sits right on the budget line. P99.9 is nearly ten times over it, and that's exactly where the twelve fraud swipes were hiding.
AAbility to contest. Who never gets to push back?
No one could tell a fallback free, waved through swipe apart from a swipe that had genuinely been checked and passed. Both showed the same green status. The cardholder losing money to it had no way to know a check was even supposed to happen, and the risk analyst had no way to know a swipe went unscored instead of scored and clean, because the gap didn't show up anywhere.
This is the hardest step, and the one most latency answers skip. A gap nobody can see isn't a rare edge case, it's a wall with a green light in front of it.
Three steps that worked, and a fourth that was never built, right where a real check should have sat.
RReduce. The specific product decision.
Build a bounded, fast fallback score, about eighty milliseconds, using a small enough feature set to always finish inside budget, checked against a fraud eval set before it ever runs on a real card. Fire it the instant the full pipeline runs past budget, instead of letting the payment network default to approved with nothing behind it. Mark fallback scored swipes as their own status on the dashboard, not folded into the same green as everything else.
A real design decision, not a policy memo. The bar isn't zero risk on a late swipe, it's a calibrated fallback, checked against an eval set, that always returns a real verdict.
DDetect. How you'd know before the next reconciliation call.
Track P99 and P99.9 latency, and the count of fail open events, as their own numbers, watched daily, never folded into one blended average. Break latency down by how many times the same card has been used in the trailing ten minutes, since that's exactly where the tail concentrates.
The blended average is exactly what let this run for two years. Detection has to live underneath it, not inside it.
Three things worth stating directly, since this is where the real judgment sits. The alternative Rasa modeled first and set aside was adding capacity to the shared feature store. It helped, cutting the worst case latency by more than half, but it lost because it doesn't bound the tail, a slightly bigger or faster ring can always outrun whatever headroom gets added. The AI specific failure worth naming by name is a silent fail open under a real time scoring budget, a pipeline that, when it can't finish in time, defaults to no check at all instead of a slower but real one, and it happens to correlate with exactly the traffic pattern most worth catching. The guardrail is a bounded, eval gated fallback scorer that always returns a verdict inside budget. And the trade off is real: the fallback model catches less subtle fraud than the full model does, and it flags more often than the full model would on its own. That's the cost being accepted for a guaranteed, fast, real verdict instead of a fast, silent default. The bar was never zero missed fraud. It's a recall and false alarm rate on the fallback, checked against an eval set, set so a genuinely fast decision beats no decision at all.
And if you want to be sure it really works, try it somewhere else
Same five letters, a factory floor instead of a card network, and this time the shared record isn't a stolen card's history, it's one vibration reading several machines are all trying to read at once.
StampWatch is a press line safety monitor from Foundrywell, running at Ironbrook Stampworks. It watches vibration and pressure sensors on a stamping line and warns a floor supervisor before a jam turns into someone's hand catching between dies. Reine Vautrin is the plant engineer who owns it.
The build up: Ironbrook's safety rule said StampWatch had five hundred milliseconds to raise a flag, or the line kept cycling, the same shape of default as Sentrywave's fail open rule. A single press running alone almost never came close. But during a scheduled changeover, when three or four presses on the same line share one vibration baseline reading, that shared value gets read and rewritten by every press at nearly the same instant, and the check can run well past budget, right when a jam across several stations at once is most likely.
The decision Reine would take back
Building StampWatch's safety default around "no flag" the moment a check ran past budget, because at install almost every press cycled alone and the shared baseline reading was never under real contention.
G, groups. The floor supervisor holds the estop, and can stop the line the second an alert lands. The operator standing at the press, hands near the die, holds nothing, and the line won't pause itself just because a check is running slow. U, unequal. The slow checks concentrate on synchronized changeover runs, exactly when several presses share one baseline, and exactly when a jam across stations is most likely to matter. A, ability to contest. The status board shows the same all clear light whether a cycle was actually checked or just defaulted through, so nobody, not the supervisor, not the operator, can tell the difference in the moment. R, reduce. A fast fallback check using only that one press's own last reading, skipping the shared baseline, that always returns inside budget, with its own distinct light on the status board when it fires. D, detect. Track P99.9 alert latency and the count of defaulted through cycles as their own numbers, split by whether a synchronized changeover run was active.
Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to it: never trust an average latency number to mean everyone got checked, watch the tail, and never let a slow check default to silence.
Cost: no budget this quarter for the fallback model. Build the fail open counter first, since you can't safely fix a gap you can't yet see broken out on its own.
The model got better, for real: say Sentrywave's core model gets faster across the board. That shrinks the tail some, it doesn't remove it, because fourteen swipes on one card in six minutes still contend for the same shared record, no matter how fast any single check runs.
Where people run it wrong.
They alert on the average and call the system healthy the moment it stops moving.
They let a slow check default to whatever's cheapest to assume, approved, all clear, no alarm, instead of guaranteeing a real answer.
They fix a tail latency problem with more capacity alone, without asking whether the load causing it can simply grow to outrun it.
How to use it live. Ask the real question out loud before answering: "what does this system do the moment it can't answer in time?" That buys a beat to think, and it's almost always where the real gap is hiding.
Flashcards (tap any card to flip it)
1 · THE FRAMEWORK
What framework fits a question about handling latency variance instead of average latency, and why?
Tap to flip
ANSWER
GUARD, for risk. The real question is who holds the lever, who doesn't, and who a silent, slow default actually lands on, exactly what GUARD is built to find.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Rasa Solaas, the platform engineer who owns Sentrywave's latency budget at Coriolis Systems, and had built average latency dashboards once before without issue.
3 · THE HABIT
What habit did Rasa carry over without questioning it?
Tap to flip
ANSWER
Watching one blended average latency number as the whole health signal, a habit from her last product, where every request cost about the same to score.
4 · THE SWITCH
What's the two setting switch here, with no middle?
Tap to flip
ANSWER
A scoring call either finishes inside the four hundred millisecond budget and gets a real check, or it runs over and gets waved through with zero check at all. There was no partial score in between.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Publishing average scoring latency under two hundred fifty milliseconds as Sentrywave's one health number, with no percentile or fail open tracking built underneath it.
6 · THE NUMBER
Fill in the blank: the average stayed a steady ___ milliseconds the whole day, while the slowest swipe in the ring took ___ seconds and cleared with no score behind it.
Tap to flip
ANSWER
208 milliseconds, and 3.9 seconds. The average never crossed the budget line even once, while one real swipe ran nearly ten times past it.
7 · THE REPLAY
Same ring, new design, what changes?
Tap to flip
ANSWER
The fallback score fires in eighty milliseconds on swipe three, the analyst freezes the card before swipe four clears, and the ring stops at five hundred fifty five dollars instead of twenty five hundred ninety.
8 · CROSS-PRODUCT TRANSFER
Section 4 answers this same question again for a different product. Which product, and what plays the role of the shared card record there?
Tap to flip
ANSWER
StampWatch, at Ironbrook Stampworks. The shared vibration baseline reading, checked by several presses at once during a changeover, plays the role the shared card record plays for Sentrywave.
Check yourself Score: 0 / 0
Fill in the blank
1. Sentrywave's scoring budget was ___ milliseconds. During the fourteen pump ring, the fourteenth swipe took ___ seconds to score, and never got a real check at all.
Show hint
Look at the dashed line and the tallest bar in the first chart in Section 1.
Show answer
400 milliseconds, and 3.9 seconds. The gap between those two numbers is the whole answer: a swipe that misses budget by that much doesn't get a slow check, it gets no check at all.
True or false
2. True or false: because Sentrywave's system wide average latency never moved that day, the fourteen pump ring was actually caught in time.
True
False
Show hint
Think about how many transactions Sentrywave scores in a day, and how many of them the twelve slow swipes could possibly move.
Show answer
False. The average blends in over a million ordinary transactions a day. Twelve unscored swipes vanish inside it completely, even though those twelve were exactly the ones that mattered.
Multiple choice
3. Why did the scoring calls in the ring get slow in the first place, while most of Sentrywave's traffic stayed fast?
A. The underlying model itself got slower that day.
B. The same card's velocity record had to be read and rewritten by every near simultaneous swipe, and that shared record backed up.
C. Cascabel Bank's network connection went down for six minutes.
D. The risk analyst on shift missed the alert.
Show hint
Look at the U step in the framework recap, and what the story says about "how many times this card has been used in the last ten minutes."
Show answer
B. Every swipe in the ring needed to check and update the exact same velocity record within seconds of the last one, and that contention is what pushed the later swipes past budget.
True or false
4. True or false: the fix that actually worked was adding more servers to the feature store so it could handle more reads and writes at once.
True
False
Show hint
Look at what Rasa modeled first in the story, and why she set it aside.
Show answer
False. More capacity narrowed the tail but didn't bound it, since a bigger or faster ring could always outrun whatever headroom got added. The real fix was guaranteeing a fast fallback score instead of ever failing open.
Short answer, apply it yourself
5. Pick a product you use that has to respond in real time. What's one thing it might quietly do when it can't finish its normal check in time, and how would you find out?
Show hint
Think about what "default behavior" a system falls back on when its usual process runs out of time, not what it does when everything works normally.
Show answer
Model answer: A ride hailing app that can't finish matching a driver in time might quietly widen the search radius or lower the match quality bar instead of telling the rider it's struggling. I'd check by looking for a spike in long pickup distances that doesn't show up in the app's average wait time at all.
Multiple choice
6. If Cascabel Bank's fraud rings started running twice as fast, hitting the same card eight times in three minutes instead of fourteen times in six, what would you expect from the old, average only design?
A. Nothing would change, since the average wouldn't move either way.
B. The fail open window would still show up, and fast enough that even more of the ring would clear unscored before anyone noticed.
C. Sentrywave would automatically raise its own budget to compensate.
D. Faster fraud is more obvious, so the risk analyst would catch it sooner regardless.
Show hint
Think about what happens to the shared velocity record when the same number of hits gets compressed into less time.
Show answer
B. The same mechanism that caused the original ring: a faster burst hits the shared record even harder in a shorter window, so the tail latency, and the fail open gap that comes with it, would only get worse, not better.
Before you close the answer
Why this works
Tests whether you'll chase the average because it's easy to report, or go find the specific pattern hiding inside it, and whether you'll notice that a system which can't finish in time still has to do something, and that something is a design choice, not a neutral default.
Follow-up traps
"Isn't average latency still useful for anything?" Response: yes, for capacity planning and cost, just never as the number that tells you whether real fraud is getting caught, since it blends a handful of catastrophic swipes into a million fine ones.
"Why not just make the budget longer, say a full second, instead of building a fallback?" Response: a longer budget just moves the fail open point out, it doesn't remove it, and it makes every legitimate checkout wait longer too. The fallback guarantees a real verdict without asking honest customers to wait for it.
If pressed
The fallback scorer used only three features, transaction amount, merchant category, and the velocity count itself, instead of the fifteen the full model used, which is why it could run in eighty milliseconds. It was tuned to accept a higher false alarm rate than the full model, since a wrongly frozen card costs someone a phone call, and an unscored fraud swipe costs the money outright and for good.
From U2xAI Academy
From answering questions to owning outcomes.
A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.