A queue is a data structure where items are added at the rear and removed from the front, adhering to a first-in, first-out (FIFO) principle. Common applications include process scheduling in operating systems and client-server communications, where multiple requests are handled in the order of arrival. Implementations can be static using arrays or dynamic using linked lists, and basic operations include making an empty queue, adding to the rear, and removing from the front.