| 1 | Unit 1: LangGraph Foundations & State Management | Lec1 | LangGraph vs LangChain | What is the primary structural difference between LangChain chains and LangGraph? | Easy | 1 | B | LangGraph only supports linear flows. | LangGraph supports cyclic flows and loops, while chains are typically linear. | LangGraph removes the need for LLMs. | LangChain supports state persistence, while LangGraph does not. |
| 2 | Unit 1: LangGraph Foundations & State Management | Lec1 | State Management | What is the recommended pattern for State management in LangGraph? | Easy | 1 | A | Messages-centric pattern (using messages list). | Context-only pattern (using distinct string fields). | Stateless execution. | Database-only pattern. |
| 3 | Unit 1: LangGraph Foundations & State Management | Lec1 | State Reducers | What is the specific function of add_messages in a TypedDict state? | Medium | 1 | C | It deletes old messages to save memory. | It converts messages to JSON strings. | It appends new messages to the list and handles deduplication/merging. | It sends messages directly to the LLM without storing them. |
| 4 | Unit 1: LangGraph Foundations & State Management | Lec1 | Message Types | Which message type represents a response generated by the Large Language Model in LangChain? | Easy | 1 | B | HumanMessage | AIMessage | SystemMessage | ToolMessage |
| 5 | Unit 1: LangGraph Foundations & State Management | Lec1 | Nodes | In a LangGraph node function, what is the standard return value format? | Medium | 1 | D | A string containing the answer content. | A boolean indicating if the node succeeded. | The full State object with all fields updated. | A dictionary representing State updates (deltas). |
| 6 | Unit 1: LangGraph Foundations & State Management | Lec1 | Edges | What is the primary purpose of "Conditional Edges" in LangGraph? | Medium | 1 | A | To route execution dynamically based on the current state (e.g., router logic). | To connect nodes that always run in a fixed sequence. | To visualize the graph structure in a user interface. | To provide metadata about the connection type. |
| 7 | Unit 1: LangGraph Foundations & State Management | Lec1 | Context | Which of the following is typically considered "Context" (metadata) rather than part of the "Messages" list in the State? | Easy | 1 | C | The latest query from the user. | The LLM's suggested response. | user_id or max_iterations counter. | The result returned from a tool execution. |
| 8 | Unit 1: LangGraph Foundations & State Management | Lec1 | Graph API | Which class is used to initialize a stateful graph workflow with a specific schema? | Easy | 1 | B | GraphWorkflow | StateGraph | LangChainGraph | MessageGraph |
| 9 | Unit 1: LangGraph Foundations & State Management | Lec1 | Nodes | What does a Node typically do in a LangGraph execution step? | Easy | 1 | A | Reads the current state, processes it (LLM/tools), and returns an update. | Only routes traffic between other nodes without processing. | Permanently saves all session data to a physical database. | Renders the final output for the user. |
| 10 | Unit 1: LangGraph Foundations & State Management | Lec1 | Graph API | What does the workflow.compile() method return? | Medium | 1 | C | A static JSON representation of the graph. | A standard Python dictionary. | A CompiledGraph (app) that can be invoked or streamed. | A direct connection to the underlying database. |
| 11 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | What is the core role of the messages field in a LangGraph State? | Easy | 1 | A | It is the core communication channel for I/O. | It stores API keys. | It defines the database schema. | It acts as a hardcoded counter. |
| 12 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | When should you use context fields instead of the messages list? | Medium | 1 | C | To track conversation history. | To store the compiled graph. | For configuration, metadata, and tracking. | To entirely replace the LLM. |
| 13 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | What is a primary characteristic of the built-in MemorySaver checkpointer? | Easy | 1 | B | It encrypts data to the cloud. | It stores data in-memory; lost on restart. | It requires PostgreSQL. | It is the standard for production. |
| 14 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | What attribute of the last message is checked to trigger tools? | Medium | 1 | D | status_code | system_prompt | error_log | tool_calls |
| 15 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | What are the standard sequential steps a node function follows? | Medium | 1 | A | Read messages, process, return deltas. | Render UI and capture clicks. | Connect to DB and drop tables. | Initialize checkpointer. |
| 16 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | How can agents identify their outputs in a shared messages list? | Hard | 1 | B | Appending their name to content. | Tagging the AIMessage with a name attribute. | Using separate state dicts. | Converting messages to numbers. |
| 17 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | Why is a checkpointer essential for a stateful LangGraph application? | Medium | 1 | C | It prevents hallucinations. | It translates output. | It allows state persistence and resumption. | It converts Python to JSON. |
| 18 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | What behavior does add_messages provide? | Hard | 1 | D | Deletes all old messages. | Translates messages. | Limits the array to 10 messages. | Appends new messages and handles deduplication. |
| 19 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | How can a developer visually inspect the structure of a compiled LangGraph app? | Easy | 1 | A | Using the draw_mermaid_png() method. | Printing the raw compile() output. | Reading system log files. | Checking the SQLite database. |
| 20 | Unit 1: LangGraph Foundations & State Management | Lec1 | State | Which method determines the first node that executes in a StateGraph? | Easy | 1 | C | start_node() | init_graph() | set_entry_point() | add_first_edge() |