While completing a screen for a Software Development Engineer in Test (SDTE) position at Microsoft I had to implement a thread safe circular queue. The question asked: Implement a circular queue of integers of user-specified size using a simple array. Provide routines to initialize(), enqueue() and dequeue() the queue. Make it thread safe.