{"blocks": [{"key": "e0227ebb", "text": "Orders", "type": "unstyled", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "07090c13", "text": "+---------+----------+--------+\n| order_id| customer | amount |\n+---------+----------+--------+\n| 101 | C1 | 250 |\n| 102 | C2 | 300 |\n| 103 | C3 | 150 |", "type": "code-block", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "a3a74de3", "text": "", "type": "unstyled", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "ce2ee8ec", "text": "Customers", "type": "unstyled", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "c0a45ed5", "text": "+----------+-----------+\n| customer | city |\n+----------+-----------+\n| C1 | Seattle |\n| C3 | Boston |\n| C4 | Austin |", "type": "code-block", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "0ecc448b", "text": "Scenario", "type": "header-two", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "3e668eb2", "text": "Performing a left join in pure Python without external libraries.", "type": "unstyled", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "274dd0e7", "text": "Question", "type": "header-two", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "6e8e4ad9", "text": "Write Python code (no third-party packages) to left-join two lists of dictionaries on key \"customer\"; discuss an O(N+M) hashing solution.", "type": "unstyled", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "f55bc2a8", "text": "Hints", "type": "header-two", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}, {"key": "c6fbd24f", "text": "Contrast nested loops with dict-based look-ups; handle missing matches gracefully.", "type": "unstyled", "depth": 0, "inlineStyleRanges": [], "entityRanges": [], "data": {}}], "entityMap": {}}