How to write an IPv6 address in its shortest valid form, the mistakes exams test for, and how to expand a compressed address back to eight groups.
An IPv6 address is eight groups of four hex digits. Most of them are mostly zeros, so there is a canonical short form, defined in RFC 5952, and exams expect exactly that form.
2001:0db8:0000:0000:0000:ff00:0042:8329 becomes 2001:db8:0:0:0:ff00:42:8329. A group of 0000 becomes a single 0, never nothing.
Only runs of two or more groups qualify, and only one run per address. The three zero groups collapse: 2001:db8::ff00:42:8329.
In 2001:db8:0:0:1:0:0:1 both runs are two groups long, so the first one is compressed: 2001:db8::1:0:0:1.
RFC 5952 says hex digits are lowercase. Routers accept either; the canonical form is lowercase.
Count the groups present. The :: stands for 8 minus that many groups of 0000. Then pad every group to four digits. fe80::1 has two groups, so :: is six zero groups: fe80:0000:0000:0000:0000:0000:0000:0001.
2001:db8::1::2 is invalid: two :: would be ambiguous. If a question shows one, that is the error it wants you to spot.
More on this topic: IPv6 practice, with sample questions and the full list of question types.