The answer that the interviewer was looking for probably depends on some additional context that is not in the above question.
For example, often circular queues are considered for highly competing producer / consumer systems. When the queue is full, operations at the front and back of the queue may compete for the same cache lines, and this can be a problem in such contexts.
Or maybe the interviewer wanted you to talk about how much easier it is to make a queue related to blocking in a garbage collected language compared to a massive circular queue.
Or maybe it's just about how you can use the vector containers provided by your language much better if you use a linear queue with periodic switching instead of a circular queue.
Matt timmermans
source share