Randomization interviews test two skills. The drills test writing a constraint under pressure, and the Q&A tests explaining what the solver does with it.
Each drill page gives three prompts and one starter bench. You write the constraints, run the starter, and read the grader's verdict before you see any answer. The grader checks every result the solver gives and also pins values that must be legal, so an answer that is too loose and an answer that is too tight both fail.
Prompt you will hear | What it really tests |
|---|---|
Make x even, aligned, or divisible | Relations the solver holds, never assignments |
All unique, sorted, or summing to N | Array-wide facts with feasible bounds |
Length depends on kind | Two-sided conditions with no silent arm |
rand against randc, dist against inside | Solver semantics stated precisely |
Freeze one field, relax one rule | Control without breaking the bench |
Lesson | What you will do |
|---|---|
Drill: parity, alignment to a random size, a range with a hole. | |
Drill: powers of two, an exact bit count, a gray neighbour. | |
Drill: all different, strictly ascending, a unique maximum. | |
Drill: a wide sum, weights, a delay budget. | |
Drill: a two-armed rule, a product that cannot wrap, an FSM move table. | |
Revision: cycling, return values, one-solve scope. | |
Revision: membership against weighting, priority and skew. | |
Revision: modes, inline overrides, subclasses and knobs. | |
Revision: sizes, guards, wide sums and null handles. |
x[0] == 0, x % 2 == 0 and (x >> 1) << 1 == x describe the same 128 values of a byte. The bit slice ships: one named equality, cheap for any solver, and obvious to the next reader.