Microsoft Interview Question

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