Build fluency in the vocabulary of determining causal order between events in a distributed system.
0 / 5 completed
1 / 5
At standup, a dev mentions a data structure made of per-node counters attached to an event, used to determine whether one event causally happened before another or whether the two are actually concurrent. What is this structure called?
A vector clock is a data structure made of per-node counters attached to an event, used to determine whether one event causally happened before another or whether the two are actually concurrent. A single wall-clock timestamp recorded by whichever node processed the event can't reliably capture true causality across independent, imperfectly synchronized nodes. This per-node counter structure is what lets a distributed system reason about causal order directly rather than relying on an unsynchronized clock.
2 / 5
During a design review, the team wants to compare two events' vector clocks to determine whether they represent a genuine conflict, meaning neither happened before the other, or a clear causal order. Which capability supports this?
Vector clock comparison determines whether two events represent a genuine conflict, meaning neither one causally happened before the other, or whether they have a clear causal order, by comparing their per-node counter values directly. Comparing only a wall-clock timestamp can't distinguish a true conflict from a clear causal order, since two independent nodes' clocks are never perfectly synchronized. This comparison capability is what makes a vector clock useful for a system that needs to detect and resolve a genuine concurrent update.
3 / 5
In a code review, a dev notices the vector clock's size grows with the number of nodes that have ever participated in the system, requiring a pruning or garbage-collection step for a long-lived deployment. What does this represent?
Vector clock growth requiring pruning describes how the structure's size grows with the number of nodes that have ever participated in the system, since it needs one counter per node, eventually needing a garbage-collection step to stay manageable in a long-lived deployment. Assuming it stays a fixed, small size ignores that a system with many nodes joining and leaving over time accumulates an ever-larger vector clock. This growth and its associated pruning are a genuine, practical operational concern for a system relying on vector clocks long-term.
4 / 5
An incident report shows two concurrent writes to the same record went undetected as conflicting because the system compared plain wall-clock timestamps instead of a vector clock, and the wrong version was silently kept as the latest. What practice would prevent this?
Using a vector clock to compare events correctly detects a genuine concurrent conflict, since it captures true causality directly rather than depending on an unsynchronized wall-clock timestamp. Comparing only timestamps risks exactly the silent, wrong resolution this incident describes, since two independent nodes' clocks can disagree about which event actually happened first. This causally aware comparison is essential wherever two nodes might genuinely write to the same data concurrently.
5 / 5
During a PR review, a teammate asks why the team uses a vector clock instead of a simple wall-clock timestamp to order events across a distributed system. What is the reasoning?
Wall-clock timestamps across independent nodes aren't perfectly synchronized and can't reliably distinguish a genuine causal order from a truly concurrent conflict between two events. A vector clock captures true causality directly through its per-node counters, without depending on clock synchronization at all. The tradeoff is the vector clock's own growing size as more nodes participate, requiring an eventual pruning step to stay manageable.
What does the "Vector Clocks Vocabulary" vocabulary exercise cover?
This exercise tests real IT vocabulary related to vector clocks vocabulary through 5 multiple-choice questions, each built from realistic workplace sentences rather than abstract definitions.
Is this vocabulary exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is completely free — no account, sign-up, or payment required.
How many questions does this exercise have?
This exercise has 5 questions. Each one shows a real-world sentence or scenario with multiple-choice options and an explanation once you answer.
What happens after I answer a question?
You'll see immediate feedback showing whether your answer was correct, along with a short explanation of why — then a button to move to the next question, and a full results screen at the end.
Can I retry the exercise if I get questions wrong?
Yes. Once you reach the results screen, click "Try again" to reset your answers and go through the exercise from the start as many times as you like.
Do I need to create an account to take this exercise?
No account is needed. Your answers are scored in your browser during the session — nothing is saved to a server, so you can jump straight in.
Is my progress saved if I leave the page?
No — progress within an exercise resets if you navigate away or reload. Each exercise is short enough to complete in a few minutes in one sitting.
Are these vocabulary exercises connected to other topics?
Yes — browse the full vocabulary exercises hub to find related modules covering adjacent IT topics and roles.
How is this different from reading a glossary or blog article?
Exercises like this one are active recall drills — you have to choose the correct term or phrasing yourself, which builds retention faster than passively reading a definition.
Where can I find more vocabulary exercises?
Browse the full Vocabulary exercises hub for hundreds of modules covering Agile, DevOps, security, databases, architecture, and more — organised by IT role and skill.