Jane Street·Software Engineer·Technical Phone Screen
- You have a stream transformer that reconstructs a sparse code-time matrix from batches of (timestamp, code, value) tuples, emitting one row per timestamp with missing entries filled as -1. A small fraction of records arrive with timestamps slightly earlier than already-seen ones. How do you adjust the transformer so the output is still correct?
- How would you choose the buffer or watermark size for this system, and what are the tradeoffs between latency and completeness?
- What emission trigger strategy would you use for this transformer: time-based, count-based, or watermark-based? Walk through the tradeoffs.
“The base version wasn't too bad to sketch out but the out-of-order twist is where things got interesting.”