{"version":1,"pages":[{"id":"35df4WXc4aH0BpA93877","title":"Notebook","pathname":"/notebook","siteSpaceId":"sitesp_YC2YF","emoji":"1f4d2","description":"The Evolving Notebook: Daily Knowledge on Data Structures, Algorithms, and System Design"},{"id":"ezUxCY7iKR0kuf9YK1j5","title":"What is this about ?","pathname":"/notebook/readme/what-is-this-about","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Notebook","emoji":"1f4d2"}]},{"id":"fests9yNBz4g0d4WnnrY","title":"Key Concepts","pathname":"/notebook/system-design/key-concepts","siteSpaceId":"sitesp_YC2YF","emoji":"1f4a1","breadcrumbs":[{"label":"System Design"}]},{"id":"S9dHNKjTpgsrlbCia4By","title":"Scalability","pathname":"/notebook/system-design/key-concepts/scalability","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"CuhIaRXXtJJDHTyQNqFc","title":"Latency Vs Throughput","pathname":"/notebook/system-design/key-concepts/latency-vs-throughput","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"xDT4lHtHyZigJgPKq7zB","title":"Databases","pathname":"/notebook/system-design/key-concepts/databases","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"RUzw9IR6THRK54cSJKsh","title":"CAP Theorem","pathname":"/notebook/system-design/key-concepts/cap-theorem","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"dq21xb2oVg5dEjuYqhXc","title":"ACID Transactions","pathname":"/notebook/system-design/key-concepts/acid-transactions","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"QNmTrl8AJSR6a4hDTAWI","title":"Rate limiting","pathname":"/notebook/system-design/key-concepts/rate-limiting","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"gaF6GCVsIEbC9adnwomI","title":"API Design","pathname":"/notebook/system-design/key-concepts/api-design","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"DK4zhvSdZEHvRc8uMg2h","title":"Strong Vs eventual consistency","pathname":"/notebook/system-design/key-concepts/strong-vs-eventual-consistency","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"jlaGn6r4ISH1OLCMEuGK","title":"Distributed tracing","pathname":"/notebook/system-design/key-concepts/distributed-tracing","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"mHo3uHnCrbwsiiT8GKuG","title":"Synchronous Vs asynchronous Communication","pathname":"/notebook/system-design/key-concepts/synchronous-vs-asynchronous-communication","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"e3JMBvIWDpxwRIOEbasW","title":"Batch Processing Vs Stream Processing","pathname":"/notebook/system-design/key-concepts/batch-processing-vs-stream-processing","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"TIB015SO8jeHr98tpcIW","title":"Fault Tolerance","pathname":"/notebook/system-design/key-concepts/fault-tolerance","siteSpaceId":"sitesp_YC2YF","emoji":"1f310","breadcrumbs":[{"label":"System Design"},{"label":"Key Concepts","emoji":"1f4a1"}]},{"id":"NiBBgWmpNl5zRXzjIKlF","title":"Building Blocks","pathname":"/notebook/system-design/building-blocks","siteSpaceId":"sitesp_YC2YF","emoji":"1f48e","breadcrumbs":[{"label":"System Design"}]},{"id":"RWWuDhZ9PLty1Yu6sQn2","title":"Message","pathname":"/notebook/system-design/building-blocks/message","siteSpaceId":"sitesp_YC2YF","emoji":"1f539","breadcrumbs":[{"label":"System Design"},{"label":"Building Blocks","emoji":"1f48e"}]},{"id":"BRuve7OZx4uzPwzXfJn5","title":"Cache","pathname":"/notebook/system-design/building-blocks/cache","siteSpaceId":"sitesp_YC2YF","emoji":"1f539","breadcrumbs":[{"label":"System Design"},{"label":"Building Blocks","emoji":"1f48e"}]},{"id":"NHfxhRGf73Uux2A0cq3Q","title":"Load Balancer Vs API Gateway","pathname":"/notebook/system-design/building-blocks/load-balancer-vs-api-gateway","siteSpaceId":"sitesp_YC2YF","emoji":"1f539","breadcrumbs":[{"label":"System Design"},{"label":"Building Blocks","emoji":"1f48e"}]},{"id":"k06F7GYG1rz571dY8egM","title":"Introduction to system design","pathname":"/notebook/system-design/introduction-to-system-design","siteSpaceId":"sitesp_YC2YF","emoji":"1f5a5","breadcrumbs":[{"label":"System Design"}]},{"id":"pFCOVVMTczOOL9CLzoFM","title":"Step By Step Guide","pathname":"/notebook/system-design/step-by-step-guide","siteSpaceId":"sitesp_YC2YF","emoji":"23f1","breadcrumbs":[{"label":"System Design"}]},{"id":"8xM6rMiSZP5fg9fCBqj3","title":"Emerging Technologies in System Design","pathname":"/notebook/system-design/emerging-technologies-in-system-design","siteSpaceId":"sitesp_YC2YF","emoji":"2668","breadcrumbs":[{"label":"System Design"}]},{"id":"ZgTAhT44TzGovsR1FlVX","title":"System design component checklist","pathname":"/notebook/system-design/system-design-component-checklist","siteSpaceId":"sitesp_YC2YF","emoji":"2611","breadcrumbs":[{"label":"System Design"}]},{"id":"szFWsBEdlrSHwDm6yIuR","title":"Azure","pathname":"/notebook/system-design/system-design-component-checklist/azure","siteSpaceId":"sitesp_YC2YF","emoji":"1f537","breadcrumbs":[{"label":"System Design"},{"label":"System design component checklist","emoji":"2611"}]},{"id":"JKKDjKROfcPjriyhYkX7","title":"AWS","pathname":"/notebook/system-design/system-design-component-checklist/aws","siteSpaceId":"sitesp_YC2YF","emoji":"1f536","breadcrumbs":[{"label":"System Design"},{"label":"System design component checklist","emoji":"2611"}]},{"id":"KkP7TG7vqNSFSHs57Y96","title":"Google Cloud","pathname":"/notebook/system-design/system-design-component-checklist/google-cloud","siteSpaceId":"sitesp_YC2YF","emoji":"2666","breadcrumbs":[{"label":"System Design"},{"label":"System design component checklist","emoji":"2611"}]},{"id":"AFlPLlJt2scg95qYVO8B","title":"LinkedIn feed Design","pathname":"/notebook/system-design/linkedin-feed-design","siteSpaceId":"sitesp_YC2YF","emoji":"1f9ca","breadcrumbs":[{"label":"System Design"}]},{"id":"66ddP3MUPbVb4aF0YJX7","title":"Scalable Emoji Broadcasting System - Hotstar","pathname":"/notebook/system-design/scalable-emoji-broadcasting-system-hotstar","siteSpaceId":"sitesp_YC2YF","emoji":"1f3cf","description":"Hotstar first introduced Sports Bar in 2019. In the world cup 2019, 5 Billion Emojis from 55.83 Million users during the ICC Cricket World Cup 2019.","breadcrumbs":[{"label":"System Design"}]},{"id":"ZyEtu1wcCTNLpkciBHLL","title":"UPI Payment System Design","pathname":"/notebook/system-design/upi-payment-system-design","siteSpaceId":"sitesp_YC2YF","emoji":"1f4b2","description":"As per the recent data from the economic times, In 2023 number of UPI transactions are around 117.6 Billion transactions with total value of 182 lakh crore.","breadcrumbs":[{"label":"System Design"}]},{"id":"55CYzZ7kbdYp2HOXiyYB","title":"Stock Broker System Design - Groww","pathname":"/notebook/system-design/stock-broker-system-design-groww","siteSpaceId":"sitesp_YC2YF","emoji":"1f4c8","breadcrumbs":[{"label":"System Design"}]},{"id":"gJWiNNMosmgC3Bqn4JDK","title":"Designing Instagram's Collaborative Content Creation - Close Friends Only","pathname":"/notebook/system-design/designing-instagrams-collaborative-content-creation-close-friends-only","siteSpaceId":"sitesp_YC2YF","emoji":"1f9d1-1f91d-1f9d1","breadcrumbs":[{"label":"System Design"}]},{"id":"E7urpz3EcjORzsbT024y","title":"Vending Machines - Over the air Systems","pathname":"/notebook/system-design/vending-machines-over-the-air-systems","siteSpaceId":"sitesp_YC2YF","emoji":"1f333","breadcrumbs":[{"label":"System Design"}]},{"id":"l1vKQAk02kiVBrGO1VQ2","title":"Reference Links","pathname":"/notebook/system-design/reference-links","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"System Design"}]},{"id":"cC1FXqF1Dor3aiNtI2QV","title":"Topics","pathname":"/notebook/data-structures-and-algorithms/topics","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"DSA"}]},{"id":"HnZbDwABQKSmsnA9Fqvy","title":"Introduction","pathname":"/notebook/data-structures-and-algorithms/topics/introduction","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"B2AtnkwLXH8WxuNu4mEh","title":"Algorithm analysis","pathname":"/notebook/data-structures-and-algorithms/topics/algorithm-analysis","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"0lFW4chX69AKtodiKrnR","title":"Asymptotic Notation","pathname":"/notebook/data-structures-and-algorithms/topics/algorithm-analysis/time-complexity","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Algorithm analysis"}]},{"id":"E1Aw4JyFnLthvm46IRGu","title":"Memory","pathname":"/notebook/data-structures-and-algorithms/topics/algorithm-analysis/memory","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Algorithm analysis"}]},{"id":"akCYVuc3MipAkQk77Bfy","title":"Sorting","pathname":"/notebook/data-structures-and-algorithms/topics/sorting","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"TnMb9srSyJPMxtNAeEgF","title":"Selection Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/selection-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"ONtA8hr5dRzWJA9EK7sk","title":"Insertion Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/insertion-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"By38SExGiiZT3UNuK4T1","title":"Merge Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/merge-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"rVSbL4KvCjxhqYnoKfRW","title":"Quick Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/quick-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"ZlCHP3MVzmnIdCMCbFKQ","title":"Quick'3 Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/quick3-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"sWdJQQfnOVwbPCRSYWaM","title":"Shell Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/shell-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"51sEYgPjtv4L1tyf4k9p","title":"Shuffle sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/shuffle-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"m9Bod9sghU5JeM4x1NLv","title":"Heap Sort","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/heap-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"5SGcxI00EepW9AcvhNKc","title":"Arrays.sort()","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/arrays.sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"0ezYAxL6Kmw7uIRl2qtv","title":"Key Points","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/key-points","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"kd1cXc7LcIrbwsn5Q9Ok","title":"Problems","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/problems","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"}]},{"id":"fWbaT4Sg42HtmCug2cCf","title":"Reorder Log files","pathname":"/notebook/data-structures-and-algorithms/topics/sorting/problems/reorder-log-files","siteSpaceId":"sitesp_YC2YF","description":"https://leetcode.com/problems/reorder-data-in-log-files/","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Sorting"},{"label":"Problems"}]},{"id":"6pUgg29H9DN0nBX4cah2","title":"Stacks and Queues","pathname":"/notebook/data-structures-and-algorithms/topics/stacks-and-queues","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"1arUCjTs4nIoySl9YWgR","title":"Stack Implementations","pathname":"/notebook/data-structures-and-algorithms/topics/stacks-and-queues/stack-implementations","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Stacks and Queues"}]},{"id":"A1JJXpYpkdpYkndEUblg","title":"Queue Implementations","pathname":"/notebook/data-structures-and-algorithms/topics/stacks-and-queues/queue-implementations","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Stacks and Queues"}]},{"id":"aiURbaWoYmzLyvfSxMVg","title":"Priority Queues","pathname":"/notebook/data-structures-and-algorithms/topics/stacks-and-queues/priority-queues","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Stacks and Queues"}]},{"id":"MOO52HG4rTiHuIbqg1TD","title":"Problems","pathname":"/notebook/data-structures-and-algorithms/topics/stacks-and-queues/problems","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Stacks and Queues"}]},{"id":"ub1DSjGSgyxlsWe0rfdH","title":"Dijkstra's two-stack algorithm","pathname":"/notebook/data-structures-and-algorithms/topics/stacks-and-queues/problems/dijkstras-two-stack-algorithm","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Stacks and Queues"},{"label":"Problems"}]},{"id":"wYokbuHDmRVAlgTglie0","title":"Binary Search Tree","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"H6D1Jx0HDOjvTMC5vRDB","title":"Left Leaning Red Black Tree","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree/red-black-tree","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Binary Search Tree"}]},{"id":"G0rnX46qHXSWIcwaIGf1","title":"Java Implementations","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree/red-black-tree/java-implementations","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Binary Search Tree"},{"label":"Left Leaning Red Black Tree"}]},{"id":"76hGo8GheextV8y6qyjq","title":"2-3 Tree","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree/2-3-tree","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Binary Search Tree"}]},{"id":"ONBXpVYywS8MWO8Vq2wj","title":"Search Operation - 2-3 Tree","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree/2-3-tree/search-operation-2-3-tree","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Binary Search Tree"},{"label":"2-3 Tree"}]},{"id":"6ogyvswslo4oLRot9JER","title":"Insert Operation - 2-3 Tree","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree/2-3-tree/insert-operation-2-3-tree","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Binary Search Tree"},{"label":"2-3 Tree"}]},{"id":"nO3yMCpvRXlcRwAAyp4X","title":"Geometric Applications of BST","pathname":"/notebook/data-structures-and-algorithms/topics/binary-search-tree/geometric-applications-of-bst","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Binary Search Tree"}]},{"id":"BLjbvrG1s4S7LwsH2Wg6","title":"B-Tree","pathname":"/notebook/data-structures-and-algorithms/topics/b-tree","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"UGOVSPQXDWTeNuHAiLYj","title":"Graphs","pathname":"/notebook/data-structures-and-algorithms/topics/graphs","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"t3wLX70XjuzBSzrkePIu","title":"Undirected Graphs","pathname":"/notebook/data-structures-and-algorithms/topics/graphs/undirected-graphs","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Graphs"}]},{"id":"Pqnae1atHPtgjo75jVHa","title":"Directed Graphs","pathname":"/notebook/data-structures-and-algorithms/topics/graphs/directed-graphs","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Graphs"}]},{"id":"DwKixPF8C3Jtx3LLXzC2","title":"Topological Sort","pathname":"/notebook/data-structures-and-algorithms/topics/graphs/topological-sort","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Graphs"}]},{"id":"yMXENwjSiuArH66NpBcu","title":"Union Find","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"zTjxkdcU0bdjZalRXY5V","title":"Dynamic Connectivity","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/dynamic-connectivity","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"WJHc7TAOHaLCWWRRBRjq","title":"Quick Find - Eager Approach","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/quick-find-eager-approach","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"hgl2xBUFcKoWDyoa1LM6","title":"Quick Find - Lazy Approach","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/quick-find-lazy-approach","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"k4VZB8yQFS42oasJsBZF","title":"Defects","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/defects","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"U8aRAeYPDfLxe74XTrUM","title":"Weighted Quick Union","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/weighted-quick-union","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"VY8Sq14UyPAgWqB6JPtJ","title":"Quick Union + path comparison","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/quick-union-+-path-comparison","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"YJJz9n77GnHcHxRHs7Hd","title":"Amortized Analysis","pathname":"/notebook/data-structures-and-algorithms/topics/union-find-data-structure/amortized-analysis","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"},{"label":"Union Find"}]},{"id":"iwOSaL0ptriLcvtdaTuQ","title":"Convex Hull","pathname":"/notebook/data-structures-and-algorithms/topics/convex-hull","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"kwZyafhkIdykKz9w3cH3","title":"Binary Heaps and Priority Queue","pathname":"/notebook/data-structures-and-algorithms/topics/binary-heaps-and-priority-queue","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"X4vTsjwxIeoBQJaXyOGk","title":"Hash Table vs Binary Search Trees","pathname":"/notebook/data-structures-and-algorithms/topics/hash-table-vs-binary-search-trees","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"DSA"},{"label":"Topics"}]},{"id":"qKHATIQ1xMfHhsHCV8LZ","title":"Introduction","pathname":"/notebook/concurrency-and-multithreading/multi-threading","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Concurrency and Multithreading"}]},{"id":"kt0lIXFavqguHbsCsLQ5","title":"Visibility Problem","pathname":"/notebook/concurrency-and-multithreading/visibility-problem","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Concurrency and Multithreading"}]},{"id":"oQwUwGtIP78g4yZ1giRU","title":"Interview Questions","pathname":"/notebook/concurrency-and-multithreading/interview-questions","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Concurrency and Multithreading"}]},{"id":"H4RKBVFsKPtFT445Iqhp","title":"References","pathname":"/notebook/concurrency-and-multithreading/references","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Concurrency and Multithreading"}]},{"id":"ayrgq2Y6G6jmrZM7OqIi","title":"System design","pathname":"/notebook/concurrency-and-multithreading/references/system-design","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Concurrency and Multithreading"},{"label":"References"}]},{"id":"H0Hrd5E66MbmMUC2Vfi1","title":"Introduction","pathname":"/notebook/design-patterns/introduction","siteSpaceId":"sitesp_YC2YF","emoji":"2139","description":"","breadcrumbs":[{"label":"Design Patterns"}]},{"id":"pyPgtcVaPsd2DQgJKw2X","title":"Classification of patterns","pathname":"/notebook/design-patterns/classification-of-patterns","siteSpaceId":"sitesp_YC2YF","emoji":"1f4a0","description":"","breadcrumbs":[{"label":"Design Patterns"}]},{"id":"2lSNl928m5daALfAZEeH","title":"Structural Design Patterns","pathname":"/notebook/design-patterns/structural-design-patterns","siteSpaceId":"sitesp_YC2YF","emoji":"0031-20e3","description":"","breadcrumbs":[{"label":"Design Patterns"}]},{"id":"7DSRTeEazAVLMEi9mx51","title":"Adapter Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/adapter-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"gaEGEgyogNQ7LzlNNa2R","title":"Bridge Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/bridge-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"8BjnKwtZXoXTQqopM1Vo","title":"Composite Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/composite-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"E1nGqoOcm3GMQojeaiej","title":"Decorator Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/decorator-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"qaqcOlMhanRvshlsVVU7","title":"Facade Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/facade-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"eRfTgRofCERmYvxfaPuT","title":"Flyweight Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/flyweight-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"7uhQSXXQkx4PEq17Ws79","title":"Private Class Data Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/private-class-data-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"6wQIcYNJBwCFw0Y44Foh","title":"Proxy Design Pattern","pathname":"/notebook/design-patterns/structural-design-patterns/proxy-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Structural Design Patterns","emoji":"0031-20e3"}]},{"id":"T6Yjfxss1tkfLgaqxkhA","title":"Behavioral Design Patterns","pathname":"/notebook/design-patterns/behavioral-design-patterns","siteSpaceId":"sitesp_YC2YF","emoji":"0032-20e3","description":"","breadcrumbs":[{"label":"Design Patterns"}]},{"id":"NQAUDMyBXIIkgaN1Y9lp","title":"Chain Of Responsibility","pathname":"/notebook/design-patterns/behavioral-design-patterns/chain-of-responsibility","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"7NAIaTPZbo1BTzvBxbBm","title":"Command Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/command-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"9vBhwr3GGDSMr3aOEFos","title":"Interpreter Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/interpreter-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"dw4tqFs3rQZi2PKrSCrJ","title":"Iterator Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/iterator-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"qBHZ7OuEid1qMUsAQUVI","title":"Mediator Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/mediator-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"H1NMJh6euJP0WAjI9aV4","title":"Memento Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/memento-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"zC9NBRjQjtVYxZkjFY8U","title":"Null Object Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/null-object-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"er17JykcYt22Yt6LLzqp","title":"Observer Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/observer-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"k9TLZW8wqj3YtB035VxA","title":"State Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/state-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"V0BcVT6h9u8Gswu87MaS","title":"Strategy Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/strategy-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"lets the algorithm vary independently from clients that use it","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"36QVqLJU4gG8LG7OlQ5m","title":"Template Design Pattern","pathname":"/notebook/design-patterns/behavioral-design-patterns/template-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Behavioral Design Patterns","emoji":"0032-20e3"}]},{"id":"RHbZmlIjvV5LtsxJHQ1j","title":"Creational Design Patterns","pathname":"/notebook/design-patterns/creational-design-patterns","siteSpaceId":"sitesp_YC2YF","emoji":"0033-20e3","description":"","breadcrumbs":[{"label":"Design Patterns"}]},{"id":"SJNCt1UhZA6OvAePFE8x","title":"Abstract Factory Design Pattern","pathname":"/notebook/design-patterns/creational-design-patterns/abstract-factory-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Creational Design Patterns","emoji":"0033-20e3"}]},{"id":"iWTjbgG3AurKNmvCgIo2","title":"Builder Design Pattern","pathname":"/notebook/design-patterns/creational-design-patterns/builder-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Creational Design Patterns","emoji":"0033-20e3"}]},{"id":"Km16VmyhjUUh3vIV554f","title":"Factory Method Design Pattern","pathname":"/notebook/design-patterns/creational-design-patterns/factory-method-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"Design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.","breadcrumbs":[{"label":"Design Patterns"},{"label":"Creational Design Patterns","emoji":"0033-20e3"}]},{"id":"ReZT6eTIp6YMGwnn1hZm","title":"Object Pool Design Pattern","pathname":"/notebook/design-patterns/creational-design-patterns/object-pool-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Creational Design Patterns","emoji":"0033-20e3"}]},{"id":"w48RAggrtCCbUPZ8Mk9V","title":"Prototype Design Pattern","pathname":"/notebook/design-patterns/creational-design-patterns/prototype-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Creational Design Patterns","emoji":"0033-20e3"}]},{"id":"PdFMNZmxPsrLwgx8Pyub","title":"Singleton Design Pattern","pathname":"/notebook/design-patterns/creational-design-patterns/singleton-design-pattern","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"},{"label":"Creational Design Patterns","emoji":"0033-20e3"}]},{"id":"xe8g2jeW8gMezms1XZNu","title":"Java Pass by Value or Pass by Reference","pathname":"/notebook/design-patterns/java-pass-by-value-or-pass-by-reference","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Design Patterns"}]},{"id":"ZUUmQitLD9L3ZlFHSwzA","title":"Read Me","pathname":"/notebook/designing-data-intensive-applications-oreilly/designing-data-intensive-applications-oreilly","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"}]},{"id":"BLD7ZmMCO4ZvKz4HKTxb","title":"Reliable, Scalable, and Maintainable Applications","pathname":"/notebook/designing-data-intensive-applications-oreilly/1.-reliable-scalable-and-maintainable-applications","siteSpaceId":"sitesp_YC2YF","emoji":"0031-20e3","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"}]},{"id":"cQ3XdnwufEWJLysgIYR5","title":"Reliability","pathname":"/notebook/designing-data-intensive-applications-oreilly/1.-reliable-scalable-and-maintainable-applications/reliability","siteSpaceId":"sitesp_YC2YF","description":"Tolerating hardware & software faults human error","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"},{"label":"Reliable, Scalable, and Maintainable Applications","emoji":"0031-20e3"}]},{"id":"FtldRS0st8Qc3tmJze2o","title":"Scalability","pathname":"/notebook/designing-data-intensive-applications-oreilly/1.-reliable-scalable-and-maintainable-applications/scalability","siteSpaceId":"sitesp_YC2YF","description":"Measuring load & Performance latency, percentiles throughput","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"},{"label":"Reliable, Scalable, and Maintainable Applications","emoji":"0031-20e3"}]},{"id":"Bs7xVLRix5uzN6NevhjU","title":"Maintainability","pathname":"/notebook/designing-data-intensive-applications-oreilly/1.-reliable-scalable-and-maintainable-applications/maintainability","siteSpaceId":"sitesp_YC2YF","description":"Operability simplicity & evolvability","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"},{"label":"Reliable, Scalable, and Maintainable Applications","emoji":"0031-20e3"}]},{"id":"HHStsUfwleBELZy2p3Y3","title":"References","pathname":"/notebook/designing-data-intensive-applications-oreilly/1.-reliable-scalable-and-maintainable-applications/references","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"},{"label":"Reliable, Scalable, and Maintainable Applications","emoji":"0031-20e3"}]},{"id":"VWvCOokWvDue6AthK754","title":"Data Models and Query Languages","pathname":"/notebook/designing-data-intensive-applications-oreilly/data-models-and-query-languages","siteSpaceId":"sitesp_YC2YF","emoji":"0032-20e3","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"}]},{"id":"7rRW1ZXQQvEykHb1xicv","title":"Read me","pathname":"/notebook/designing-data-intensive-applications-oreilly/data-models-and-query-languages/read-me","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"},{"label":"Data Models and Query Languages","emoji":"0032-20e3"}]},{"id":"lCLR5gABz7xxYtI0I27c","title":"References","pathname":"/notebook/designing-data-intensive-applications-oreilly/data-models-and-query-languages/references","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"},{"label":"Data Models and Query Languages","emoji":"0032-20e3"}]},{"id":"yfKd9G21SfJdSP9kLGf5","title":"Miscellaneous","pathname":"/notebook/designing-data-intensive-applications-oreilly/miscellaneous","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Designing Data-Intensive Applications - O'Reilly"}]},{"id":"-MQg4NGIXwmtuJc_HyN7","title":"Disclaimer","pathname":"/notebook/preparation-manual/disclaimer","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQeyK8mfQaE0b3GYw0Y","title":"What is it all about?","pathname":"/notebook/preparation-manual/what-is-it-all-about","siteSpaceId":"sitesp_YC2YF","description":"Systematic plan for cracking any coding interview","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQf2MnScZ4WOXs5-6Hl","title":"About a bunch of links","pathname":"/notebook/preparation-manual/about-a-bunch-of-links","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQf6eNCCISd7XMzyLIC","title":"Before you start preparing","pathname":"/notebook/preparation-manual/before-you-start-preparing","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQfCjlMYUfsfVWEg94u","title":"Algorithms and Coding","pathname":"/notebook/preparation-manual/algorithms-and-coding","siteSpaceId":"sitesp_YC2YF","description":"Priority: P0","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQfVwRdF-aOL91AzEbJ","title":"Concurrency and Multithreading","pathname":"/notebook/preparation-manual/concurrency-and-multithreading","siteSpaceId":"sitesp_YC2YF","description":"Priority: P1","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQfdESRzTMI250vF6h1","title":"Programming Language and Fundementals","pathname":"/notebook/preparation-manual/programming-language-and-fundementals","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"-MQfl4Ge7sVuUcSdx2tT","title":"Best Practices and Experience","pathname":"/notebook/preparation-manual/best-practices-and-experience","siteSpaceId":"sitesp_YC2YF","description":"Best practices, seniority, philosophy of professional growth.","breadcrumbs":[{"label":"Preparation Manual"}]},{"id":"Vva2qWwFOMGVmc9E3CUC","title":"Typescript Guidelines","pathname":"/notebook/web-applications/typescript-guidelines","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Web Applications"}]},{"id":"5BXBE8yXRO8vOTOrZ2f8","title":"Research Papers","pathname":"/notebook/paper/research-papers","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Research Papers"}]},{"id":"NhWZ7v462v3Lz2ENwNWT","title":"Real-Time Data Infrastructure at Uber","pathname":"/notebook/paper/research-papers/real-time-data-infrastructure-at-uber","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Research Papers"},{"label":"Research Papers"}]},{"id":"m4W2GZ9paXKX3N2OUGIU","title":"Scaling Memcache at Facebook","pathname":"/notebook/paper/research-papers/scaling-memcache-at-facebook","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Research Papers"},{"label":"Research Papers"}]},{"id":"9DBfOdyxPLqkxVAn1ihf","title":"Important links for preparation","pathname":"/notebook/interview-questions/important-links-for-preparation","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"}]},{"id":"bdoZ0rQ1Tz1KHQJZL9K3","title":"Google Interview Questions","pathname":"/notebook/interview-questions/google-interview-questions","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"}]},{"id":"tHFk4navOylvDpXln87l","title":"L4","pathname":"/notebook/interview-questions/google-interview-questions/l4","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"},{"label":"Google Interview Questions"}]},{"id":"U1bjr8IgUTlpuiyYHhKG","title":"Phone Interview Questions","pathname":"/notebook/interview-questions/google-interview-questions/l4/phone-interview-questions","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"},{"label":"Google Interview Questions"},{"label":"L4"}]},{"id":"aeI8RD2ZglI6RHRfekU7","title":"L3","pathname":"/notebook/interview-questions/google-interview-questions/l3","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"},{"label":"Google Interview Questions"}]},{"id":"B9PXXgjTjchxfxFJROkf","title":"Interview Questions","pathname":"/notebook/interview-questions/google-interview-questions/l3/interview-questions","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"},{"label":"Google Interview Questions"},{"label":"L3"}]},{"id":"czx61CuOroTutEpRxwrL","title":"Phone Screen Questions","pathname":"/notebook/interview-questions/google-interview-questions/phone-screen-questions","siteSpaceId":"sitesp_YC2YF","breadcrumbs":[{"label":"Interview Questions"},{"label":"Google Interview Questions"}]},{"id":"COqgj6n3eayBMVw9MCZt","title":"90 Days Preparation Schedule","pathname":"/notebook/miscellaneous/90-days-preparation-schedule","siteSpaceId":"sitesp_YC2YF","description":"This is the preparation schedule for the people preparing for SDE 2 or more. This will cover wide range of topics from Data Structures and algorithms, System design","breadcrumbs":[{"label":"Miscellaneous"}]},{"id":"AQu54CrgvBjoAPPMMPoC","title":"My Preparation for Tech Giants","pathname":"/notebook/miscellaneous/my-preparation-for-tech-giants","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Miscellaneous"}]},{"id":"Tw7LKdRzygIQPk1WzLml","title":"Top Product Based Companies","pathname":"/notebook/miscellaneous/top-product-based-companies","siteSpaceId":"sitesp_YC2YF","description":"","breadcrumbs":[{"label":"Miscellaneous"}]}]}