Microsoft interview question

Implement a data structure which can retrieve time-stamped "snapshots" of an underlying array structure.