知人がコーディング面接の勉強をしていて、そこで出てきた解答のビット操作が分からないというので見たら、BitSetで解ける問題をサイズ節約のためか XOR を駆使して小賢しく解いているだけで、げんなりしてしまった。
具体的には、サイズ n - 2 の整数の配列が与えられて、要素がどれも [1, n] であることが保証されているときに、足りない2つの整数を求めよ、という問題で、模範解答(?)は [1, n] と配列の要素ぜんぶの XOR を取ってその LSB を計算してから、もう一度 [1, n] と配列の要素ぜんぶの XOR を、こんどは LSB と被るかどうかで2つの整数に振り分けながら取っていくというものだった。やりたいことは分かるけれど、足りない整数が3つになったら使えないし、問題がそもそもおもしろくない。こういう問題を面接対策として解かせるなよ。