Beginner IBM MQ interviews test whether you understand message queuing as a concept and can name the main objects—not whether you have debugged a channel retry storm at 3 a.m. Interviewers want a clear explanation of what a queue manager does, when to use persistent messages, and how producers and consumers connect. This page lists frequent beginner questions with model answers you can adapt in your own words, grouped by topic, plus a short quiz. Practice aloud: if you can teach a concept simply, you usually understand it.
IBM MQ is message-oriented middleware. Applications send and receive messages through queues managed by a queue manager instead of calling each other directly. MQ stores messages until a consumer is ready, which decouples systems in time and technology—Java can talk to COBOL on z/OS through the same queue manager or linked queue managers.
A queue is a named container owned by a queue manager. A message is a unit of data placed on that queue with a descriptor (MQMD) describing format, priority, persistence, and correlation fields. Many messages can wait on one queue until consumers get them.
The queue manager is the MQ server process that owns configuration, queues, channels, listeners, and security. Applications connect to a named queue manager (for example QM1), open queues, and issue MQI calls. Without a running queue manager, queues do not exist for applications.
A local queue (QLOCAL) stores messages on the queue manager where it is defined. Producers PUT; consumers GET. MAXDEPTH limits how many messages can wait. This is the most common queue type for application work.
Persistent messages are logged to disk before the put completes (when the queue defaults and put options require it). They survive queue manager restart. Non-persistent messages live in memory and are lost if the queue manager stops unexpectedly—acceptable only when loss is tolerable, such as some telemetry feeds.
A dead-letter queue (DLQ) receives messages that cannot be delivered to the target queue or that exceeded backout count on a work queue. Operations inspect DLQ messages to find bad data or misconfiguration instead of blocking the main queue forever.
| Type | Purpose | Stores messages? |
|---|---|---|
| QLOCAL | Application work | Yes |
| QREMOTE | Pointer to queue on another QM | No (routing only) |
| QALIAS | Alternate name for a queue | No |
| QMODEL | Template for dynamic queues | Template only |
MQCONN (connect to queue manager), MQOPEN (open queue for output), MQPUT (put message), MQCLOSE (close queue), MQDISC (disconnect). Consumers use MQGET instead of MQPUT, often in a loop until no more messages.
MQRC_NO_MSG_AVAILABLE (reason 2033) when no message matches the get options and no wait interval is set. With a wait option, the call blocks until a message arrives or timeout.
1234DISPLAY QLOCAL('DEMO.QUEUE') MAXDEPTH CURDEPTH DEFPSIST * MAXDEPTH — maximum messages allowed on queue * CURDEPTH — current count waiting (operations watch this) * DEFPSIST — default persistence YES or NO for new messages
A channel is a definition for moving messages between two queue managers or between a client and a server. Message channels (sender-receiver pairs) move messages between queue managers. MQI channels (SVRCONN) let client applications connect to a queue manager over the network.
Bindings mode runs the application on the same machine as the queue manager with a local connection—fast, no TCP channel. Client mode connects over TCP using a client channel definition (CCDT or environment variables)—required when the app runs on a different host than the queue manager.
On a queue, each message is usually consumed by one application. With pub/sub, a publisher puts to a topic and the queue manager copies the message to every subscriber queue with a matching subscription. One event can reach many services.
Not authorized. The application lacks OAM authority for the operation—often put or get on a queue or connect to a channel. Fix with setmqaut or RACF on z/OS, not by disabling security.
Unknown object name. The queue or topic does not exist on the queue manager you connected to, or the name is misspelled. Verify DISPLAY QLOCAL and that the app points to the correct queue manager.
Beginner interviews reward clear teaching. Use a whiteboard: draw producer, queue, consumer. Mention persistence when money or orders are involved. Admit what you would look up (exact MQSC syntax) while showing you know the concept.
The interviewer asks if you know how the company mailroom works. You explain boxes, letters, and that letters wait until someone picks them up—you do not need to know every rule in the mailroom handbook yet.
Answer ten beginner questions aloud without reading; record yourself and check clarity.
On a lab QM, run DISPLAY QSTATUS on a queue before and after amqsput.
Write one paragraph comparing persistent vs non-persistent for a pizza order app vs a bank transfer.
1. A queue manager is:
2. DEFPSIST(YES) means:
3. MQPUT is used to:
4. Point-to-point means: