<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>codeverra</title><link>https://blogs.codeverra.com/</link><description>Recent content on codeverra</description><generator>Hugo -- 0.153.3</generator><language>en-us</language><atom:link href="https://blogs.codeverra.com/index.xml" rel="self" type="application/rss+xml"/><item><title>DSA with Python: Zero to Hero</title><link>https://blogs.codeverra.com/courses/dsa-python-zero-to-hero/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/courses/dsa-python-zero-to-hero/</guid><description>A beginner-first, structured course to learn Python and Data Structures from scratch.</description></item><item><title>DSA Live Practice Series</title><link>https://blogs.codeverra.com/courses/dsa-live-practice/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/courses/dsa-live-practice/</guid><description>Daily live problem-solving sessions to build consistency in DSA.</description></item><item><title>Advanced LLD Topics: A Deep Dive</title><link>https://blogs.codeverra.com/blog/low_level_design/07_advanced_lld_topics/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/07_advanced_lld_topics/</guid><description>Advanced low-level design topics for real systems, interviews, and production code: building on SOLID and design patterns.</description></item><item><title>Design Patterns, Part 1: Foundations and Creational Patterns</title><link>https://blogs.codeverra.com/blog/low_level_design/03_design_patterns_creational/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/03_design_patterns_creational/</guid><description>Foundations of the GoF design pattern catalogue and creational patterns: Singleton, Factory, Builder, Prototype, and Abstract Factory.</description></item><item><title>Design Patterns, Part 2: Structural Patterns</title><link>https://blogs.codeverra.com/blog/low_level_design/04_design_patterns_structural/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/04_design_patterns_structural/</guid><description>Structural design patterns: how to combine classes and objects into larger structures that stay flexible and maintainable.</description></item><item><title>Design Patterns, Part 3: Behavioral Patterns</title><link>https://blogs.codeverra.com/blog/low_level_design/05_design_patterns_behavioral/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/05_design_patterns_behavioral/</guid><description>Behavioral design patterns: how objects communicate, divide responsibility, and coordinate behavior in complex systems.</description></item><item><title>Design Patterns: Practice Workbook</title><link>https://blogs.codeverra.com/blog/low_level_design/06_design_patterns_practice/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/06_design_patterns_practice/</guid><description>Hands-on design pattern practice problems to prove you understand creational, structural, and behavioral patterns.</description></item><item><title>LLD Foundations - SOLID Principles</title><link>https://blogs.codeverra.com/blog/low_level_design/02_solid_principles---extra-draft/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/02_solid_principles---extra-draft/</guid><description>A complete guide to solid principles which are fundamental of object oriented design.</description></item><item><title>Object-Oriented Programming in Python: A Deep Dive</title><link>https://blogs.codeverra.com/blog/low_level_design/01_oop_in_python/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/01_oop_in_python/</guid><description>A complete guide to Python OOP: why it exists, what problems it solves, and how to wield it well in real systems.</description></item><item><title>SOLID Principles: A Complete Deep Dive</title><link>https://blogs.codeverra.com/blog/low_level_design/02_solid_principles/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/02_solid_principles/</guid><description>A rigorous treatment of the five SOLID principles: formal statements, worked examples, tradeoffs, and when not to apply them.</description></item><item><title>SOLID Principles: A Complete Deep Dive</title><link>https://blogs.codeverra.com/blog/low_level_design/02a_solid_practice/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/02a_solid_practice/</guid><description>A rigorous treatment of the five SOLID principles: formal statements, worked examples, tradeoffs, and when not to apply them.</description></item><item><title>UML Deep Dive: Class Diagrams and Sequence Diagrams</title><link>https://blogs.codeverra.com/blog/low_level_design/08_uml_deep_dive/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/08_uml_deep_dive/</guid><description>A standardized visual language for communicating class structures and runtime interactions: class diagrams and sequence diagrams explained.</description></item><item><title>Array Patterns - The Complete Study Guide</title><link>https://blogs.codeverra.com/blog/dsa-patterns-00-index/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-patterns-00-index/</guid><description>A complete index of the most important array problem-solving patterns for DSA, with links to each pattern guide.</description></item><item><title>Arrays in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-04-arrays/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-04-arrays/</guid><description>Everything you need to know about arrays and lists in Python for DSA - operations, patterns, and common problems.</description></item><item><title>Binary Search Pattern - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-patterns-02-binary-search/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-patterns-02-binary-search/</guid><description>Understand binary search as a pattern beyond sorted arrays - templates, variations, and common problems.</description></item><item><title>Complexity Analysis - Time and Space</title><link>https://blogs.codeverra.com/blog/dsa-03-complexity-analysis/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-03-complexity-analysis/</guid><description>Understand Big O notation, time complexity, and space complexity with clear examples in Python.</description></item><item><title>Control Flow in Python</title><link>https://blogs.codeverra.com/blog/python-02-control-flow/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-02-control-flow/</guid><description>&lt;h1 id="control-flow-in-python"&gt;Control Flow in Python&lt;/h1&gt;
&lt;h3 id="making-decisions-in-your-code--if-elif-else-and-beyond"&gt;Making Decisions in Your Code &amp;ndash; if, elif, else, and Beyond&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="before-we-begin--why-control-flow-is-everything"&gt;Before We Begin &amp;ndash; Why Control Flow is Everything&lt;/h2&gt;
&lt;p&gt;Every program you have ever used makes decisions.&lt;/p&gt;
&lt;p&gt;When you log into a website: if the password is correct, show the dashboard,
otherwise show an error. When your food delivery app calculates the delivery fee:
if the order is above Rs.200, delivery is free, else charge Rs.30.
When a data pipeline processes records: if the record is valid, process it,
else log an error and skip it.&lt;/p&gt;</description></item><item><title>HashMap and Frequency Counting Pattern - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-patterns-05-hashmap-frequency/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-patterns-05-hashmap-frequency/</guid><description>Learn how to use hashmaps and frequency counting to solve common DSA problems efficiently in Python.</description></item><item><title>Linked Lists in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-06-linked-lists/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-06-linked-lists/</guid><description>Understand linked lists from scratch - nodes, pointers, singly and doubly linked lists with Python implementations.</description></item><item><title>Logging and System Interaction in Python</title><link>https://blogs.codeverra.com/blog/python-16-logging-and-os/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-16-logging-and-os/</guid><description>&lt;h1 id="logging-and-system-interaction-in-python"&gt;Logging and System Interaction in Python&lt;/h1&gt;
&lt;h3 id="professional-observability-with-the-logging-module-and-the-os-module"&gt;Professional Observability with the logging Module and the os Module&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="before-we-begin--why-this-matters-more-than-it-looks"&gt;Before We Begin &amp;ndash; Why This Matters More Than It Looks&lt;/h2&gt;
&lt;p&gt;Here is a situation every developer eventually faces.&lt;/p&gt;
&lt;p&gt;You write a script that processes data overnight. It runs on a server
while you sleep. In the morning you check the output and something is
wrong. Half the records are missing. You have no idea what happened
because your script used &lt;code&gt;print()&lt;/code&gt; for all its messages and those prints
went nowhere &amp;ndash; there was nobody watching the terminal.&lt;/p&gt;</description></item><item><title>Modules, Packages, and the Python Ecosystem</title><link>https://blogs.codeverra.com/blog/python-10-modules-packages/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-10-modules-packages/</guid><description>Understand how Python modules and packages work, how to create your own, and how to navigate the Python ecosystem.</description></item><item><title>Object-Oriented Programming in Python - Masterclass</title><link>https://blogs.codeverra.com/blog/python-11-oop-masterclass/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-11-oop-masterclass/</guid><description>A comprehensive guide to OOP in Python - classes, objects, inheritance, encapsulation, and polymorphism.</description></item><item><title>OOP Practice - Problems and Solutions</title><link>https://blogs.codeverra.com/blog/python-12-oop-practice/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-12-oop-practice/</guid><description>&lt;h1 id="object-oriented-programming--assignment"&gt;Object-Oriented Programming &amp;ndash; Assignment&lt;/h1&gt;
&lt;h3 id="four-real-world-problems-to-solve-using-oop"&gt;Four Real-World Problems to Solve Using OOP&lt;/h3&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;This assignment covers OOP Basics and Intermediate concepts.
For each problem, read the description carefully, understand what the
system needs to do, and design your classes before writing any code.
Planning on paper first is not optional &amp;ndash; it is part of the exercise.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="how-to-approach-each-problem"&gt;How to Approach Each Problem&lt;/h2&gt;
&lt;p&gt;Before writing a single line of code for any problem:&lt;/p&gt;</description></item><item><title>Prefix Sum Pattern - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-patterns-04-prefix-sum/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-patterns-04-prefix-sum/</guid><description>Master the prefix sum technique for range query problems with Python examples and practice problems.</description></item><item><title>Python Basics Masterclass</title><link>https://blogs.codeverra.com/blog/python-01-python-basics/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-01-python-basics/</guid><description>A complete beginner-friendly guide to Python basics - syntax, data types, variables, and core concepts.</description></item><item><title>Python Collections - Theory</title><link>https://blogs.codeverra.com/blog/python-05-collections-theory/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-05-collections-theory/</guid><description>&lt;h1 id="python-collections"&gt;Python Collections&lt;/h1&gt;
&lt;h3 id="lists-tuples-dictionaries-and-sets--the-four-ways-to-store-data"&gt;Lists, Tuples, Dictionaries, and Sets &amp;ndash; The Four Ways to Store Data&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="before-we-begin--why-collections-are-central-to-everything"&gt;Before We Begin &amp;ndash; Why Collections Are Central to Everything&lt;/h2&gt;
&lt;p&gt;At some point you stop writing programs that work on one value at a time
and start writing programs that work on many values at once. A list of
students. A dictionary of city populations. A set of unique tags.
A tuple representing a coordinate.&lt;/p&gt;
&lt;p&gt;Collections are the bridge between &amp;ldquo;I know Python basics&amp;rdquo; and &amp;ldquo;I can solve
real problems.&amp;rdquo; Everything that follows in this curriculum &amp;ndash; loops,
functions, Pandas, APIs &amp;ndash; assumes you are comfortable with collections.&lt;/p&gt;</description></item><item><title>Python Learning Roadmap</title><link>https://blogs.codeverra.com/blog/python-00-python-roadmap/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-00-python-roadmap/</guid><description>A structured roadmap to learning Python from scratch to advanced - what to learn, in what order, and why.</description></item><item><title>Python Loops Masterclass</title><link>https://blogs.codeverra.com/blog/python-03-loops-masterclass/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-03-loops-masterclass/</guid><description>&lt;h1 id="-python-loops-masterclass"&gt;🔁 Python Loops Masterclass&lt;/h1&gt;
&lt;h3 id="complete-command-over-for-and-while-loops--from-basics-to-patterns"&gt;&lt;em&gt;Complete Command Over for and while Loops — From Basics to Patterns&lt;/em&gt;&lt;/h3&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Who is this for?&lt;/strong&gt;
You know Python basics — variables, conditionals, functions.
Now you want to truly master loops — not just use them, but &lt;em&gt;think&lt;/em&gt; in them.
This guide covers every loop concept in Python, with simple examples before every idea.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="-table-of-contents"&gt;📌 Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#1-why-loops-exist"&gt;Why Loops Exist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-the-for-loop"&gt;The for Loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-iterating-over-different-data-types"&gt;Iterating Over Different Data Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-the-range-function"&gt;The range() Function&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-the-while-loop"&gt;The while Loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#6-break--exit-the-loop-early"&gt;break — Exit the Loop Early&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#7-continue--skip-to-the-next-iteration"&gt;continue — Skip to the Next Iteration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#8-pass--do-nothing-placeholder"&gt;pass — Do Nothing (Placeholder)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#9-else-with-loops"&gt;else with Loops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#10-enumerate--loop-with-an-index"&gt;enumerate() — Loop with an Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#11-zip--loop-over-multiple-sequences"&gt;zip() — Loop Over Multiple Sequences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#12-nested-loops"&gt;Nested Loops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#13-list-comprehensions"&gt;List Comprehensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#14-dictionary-and-set-comprehensions"&gt;Dictionary and Set Comprehensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#15-loop-patterns-every-programmer-uses"&gt;Loop Patterns Every Programmer Uses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#16-common-loop-mistakes-and-how-to-avoid-them"&gt;Common Loop Mistakes and How to Avoid Them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#17-practice-questions"&gt;Practice Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#18-what-we-covered--whats-next"&gt;What We Covered + What&amp;rsquo;s Next&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="1-why-loops-exist"&gt;1. Why Loops Exist&lt;/h2&gt;
&lt;p&gt;Imagine you need to print a welcome message for 500 students. Without loops:&lt;/p&gt;</description></item><item><title>Python Refresher for DSA</title><link>https://blogs.codeverra.com/blog/dsa-02-python-refresher/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-02-python-refresher/</guid><description>A quick refresher on the Python concepts you need before diving into Data Structures and Algorithms.</description></item><item><title>Regular Expressions in Python</title><link>https://blogs.codeverra.com/blog/python-17-regex-guide/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-17-regex-guide/</guid><description>&lt;h1 id="regular-expressions-in-python"&gt;Regular Expressions in Python&lt;/h1&gt;
&lt;h3 id="pattern-matching-text-processing-and-the-re-module"&gt;Pattern Matching, Text Processing, and the re Module&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="before-we-begin--why-regular-expressions-matter"&gt;Before We Begin &amp;ndash; Why Regular Expressions Matter&lt;/h2&gt;
&lt;p&gt;Here is a real problem. You have a CSV file with 50,000 rows of customer
data. The phone number column is a mess:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;+91-9876543210
9876 543 210
(091) 9876-543210
91-98765-43210
9876543210
+919876543210
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;All of these are the same phone number in different formats. You need to
extract just the 10-digit number from all of them.&lt;/p&gt;</description></item><item><title>Sliding Window Pattern - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-patterns-03-sliding-window/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-patterns-03-sliding-window/</guid><description>Learn the sliding window technique to efficiently solve subarray and substring problems in Python.</description></item><item><title>Stacks in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-07-stacks/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-07-stacks/</guid><description>Learn how stacks work, how to implement them in Python, and how to solve common stack-based problems.</description></item><item><title>Strings in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-05-strings/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-05-strings/</guid><description>A practical guide to string operations and manipulation in Python for DSA problem solving.</description></item><item><title>The Complete DSA with Python - Master Roadmap</title><link>https://blogs.codeverra.com/blog/dsa-00-master-roadmap/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-00-master-roadmap/</guid><description>A structured roadmap to mastering Data Structures and Algorithms using Python, from basics to advanced topics.</description></item><item><title>Two Pointers Pattern - Complete Guide</title><link>https://blogs.codeverra.com/blog/dsa-patterns-01-two-pointers/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-patterns-01-two-pointers/</guid><description>Master the two pointers technique with clear explanations, Python implementations, and practice problems.</description></item><item><title>Type Hints in Python</title><link>https://blogs.codeverra.com/blog/python-18-type-hints/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-18-type-hints/</guid><description>&lt;h1 id="type-hints-in-python"&gt;Type Hints in Python&lt;/h1&gt;
&lt;h3 id="writing-code-that-explains-itself--the-typing-module-and-beyond"&gt;Writing Code That Explains Itself &amp;ndash; The typing Module and Beyond&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="before-we-begin--why-type-hints-matter"&gt;Before We Begin &amp;ndash; Why Type Hints Matter&lt;/h2&gt;
&lt;p&gt;Here is a function:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;calculate_discount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;discount&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;is_member&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What type is &lt;code&gt;price&lt;/code&gt;? A float? An int? A string like &lt;code&gt;&amp;quot;1299&amp;quot;&lt;/code&gt;?
What is &lt;code&gt;discount&lt;/code&gt;? A percentage like &lt;code&gt;18.5&lt;/code&gt;? Or a multiplier like &lt;code&gt;0.185&lt;/code&gt;?
What does &lt;code&gt;is_member&lt;/code&gt; do to the result?&lt;/p&gt;
&lt;p&gt;You cannot tell without reading the implementation. In a codebase with
hundreds of functions, this adds up to an enormous cognitive load.&lt;/p&gt;</description></item><item><title>What is DSA and Why Do We Learn It</title><link>https://blogs.codeverra.com/blog/dsa-01-what-is-dsa/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-01-what-is-dsa/</guid><description>A clear introduction to Data Structures and Algorithms - what they are, why they matter, and how to approach learning them.</description></item><item><title>Working with the Real World in Python</title><link>https://blogs.codeverra.com/blog/python-19-working-with-real-world/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-19-working-with-real-world/</guid><description>Learn how Python interacts with real-world systems - APIs, files, databases, and external libraries.</description></item><item><title>Complete Guide to Numpy Library in Python</title><link>https://blogs.codeverra.com/blog/numpy-practice/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/numpy-practice/</guid><description>Complete practice session on Numpy in python</description></item><item><title>Complete Guide to Pandas in Python</title><link>https://blogs.codeverra.com/blog/pandas-practice/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/pandas-practice/</guid><description>Complete practice session on Pandas in python</description></item><item><title>Master Collections in Python</title><link>https://blogs.codeverra.com/blog/python-06-collections-practice/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-06-collections-practice/</guid><description>Complete practice session on collections in python</description></item><item><title>Master Loops in Python</title><link>https://blogs.codeverra.com/blog/python-04-loops-practice/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-04-loops-practice/</guid><description>Complete practice session on Loops in python</description></item><item><title>Numpy Masterclass - Beginner to Advanced</title><link>https://blogs.codeverra.com/blog/numpy-masterclass/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/numpy-masterclass/</guid><description>Get a comprehensive introduction to Numpy library in python</description></item><item><title>Pandas Masterclass - Beginner to Advanced</title><link>https://blogs.codeverra.com/blog/pandas-masterclass/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/pandas-masterclass/</guid><description>Get a comprehensive introduction to pandas library in python</description></item><item><title>Exception Handling in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/python-08-exception-handling/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-08-exception-handling/</guid><description>Learn about try-except-finally and custom exceptions in Python</description></item><item><title>File Handling in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/python-09-file-handling/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-09-file-handling/</guid><description>Learn about working with files in Python</description></item><item><title>Filtering and Querying data</title><link>https://blogs.codeverra.com/blog/sql-part2/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part2/</guid><description>Learn about WHERE, GROUPBY and other important commands</description></item><item><title>Functions in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/python-07-functions/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-07-functions/</guid><description>Learn everything about writing fcuntions in Python</description></item><item><title>Group by and Aggregations</title><link>https://blogs.codeverra.com/blog/sql-part3/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part3/</guid><description>Learn about grouping and aggregating on tables</description></item><item><title>Higher Order Functions and Decorators in Python</title><link>https://blogs.codeverra.com/blog/python-13-decorators/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-13-decorators/</guid><description>Learn about higher order functions like map, filter, reduce and decorators</description></item><item><title>Indexes and Schema Design</title><link>https://blogs.codeverra.com/blog/sql-part7/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part7/</guid><description>Learn about using and creating indexes on tabels to improve query performance</description></item><item><title>Introduction to SQL and Databases</title><link>https://blogs.codeverra.com/blog/sql-part1/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part1/</guid><description>Introduction to PostgreSQl and writing queries using pgAdmin tool</description></item><item><title>Iterators and Generators in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/python-14-iterators-generators/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-14-iterators-generators/</guid><description>Learn about iterables and iterators and generators in python</description></item><item><title>Itertools Module in Python - Complete Guide</title><link>https://blogs.codeverra.com/blog/python-15-itertools/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-15-itertools/</guid><description>Learn about the very useful itertools library in python</description></item><item><title>Joins and Relationships</title><link>https://blogs.codeverra.com/blog/sql-part4/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part4/</guid><description>Learn about different types of joins</description></item><item><title>Joins and Relationships</title><link>https://blogs.codeverra.com/blog/sql-part5/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part5/</guid><description>Learn about different types of joins</description></item><item><title>Modifying data &amp; Schema Changes</title><link>https://blogs.codeverra.com/blog/sql-part6/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-part6/</guid><description>Learn about making changes to the existing tables</description></item><item><title>Practice Pandas on IPL Dataset</title><link>https://blogs.codeverra.com/blog/ipl_pandas/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/ipl_pandas/</guid><description>Master data analysis in Python using the pandas library using hands on practice on IPL dataset</description></item><item><title>Practice Pandas on Titanic Dataset</title><link>https://blogs.codeverra.com/blog/titanic_pandas/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/titanic_pandas/</guid><description>Master data analysis in Python using the pandas library using hands on practice on Titanic dataset</description></item><item><title>Practice Pandas on Zomato Dataset</title><link>https://blogs.codeverra.com/blog/pandas_zomato/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/pandas_zomato/</guid><description>Master data analysis in Python using the pandas library using hands on practice on Zomato dataset</description></item><item><title>SQL Practice on Cricket Dataset: 12 Questions with Solutions</title><link>https://blogs.codeverra.com/blog/sql-practice-cricketdb/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-practice-cricketdb/</guid><description>Pratice easy, medium and hard questions on cricket dataset.</description></item><item><title>SQL Practice on Shopping Dataset: SQL Questions with Solutions</title><link>https://blogs.codeverra.com/blog/sql-practice-shopdb/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sql-practice-shopdb/</guid><description>Pratice easy, medium and hard questions on cricket dataset.</description></item><item><title>A Practical DSA Learning Roadmap</title><link>https://blogs.codeverra.com/blog/dsa_roadmap/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa_roadmap/</guid><description>A structured roadmap to learn Data Structures and Algorithms the right way and why it matters beyond interview preparation</description></item><item><title>Analysis of Time Complexity Explained with Python Examples</title><link>https://blogs.codeverra.com/blog/time_complexity/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/time_complexity/</guid><description>A beginner-friendly and practical guide to understanding time complexity with clear explanations and Python examples written as plain text.</description></item><item><title>Array Patterns for Problem Solving</title><link>https://blogs.codeverra.com/blog/array_patterns/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/array_patterns/</guid><description>A structured guide to common array problem-solving patterns, helping you identify the right approach instead of memorizing solutions.</description></item><item><title>BFS vs DFS Explained Clearly</title><link>https://blogs.codeverra.com/blog/bfs_dfs/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/bfs_dfs/</guid><description>A detailed and conceptual explanation of Breadth-First Search (BFS) and Depth-First Search (DFS), covering their working principles, differences, complexities, and real-world applications.</description></item><item><title>Binary Search Explained Clearly</title><link>https://blogs.codeverra.com/blog/binary_search/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/binary_search/</guid><description>A clear and structured explanation of binary search, including how it works, requirements, examples, complexities, and interview insights.</description></item><item><title>Complete Python Programming Syllabus (Beginner to Advanced)</title><link>https://blogs.codeverra.com/blog/python-syllabus/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-syllabus/</guid><description>A structured Python programming roadmap from zero to professional level, covering fundamentals, core concepts, advanced topics, and real-world applications.</description></item><item><title>Concept of Dynamic Programming Explained Clearly</title><link>https://blogs.codeverra.com/blog/dynamic_programming/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dynamic_programming/</guid><description>A clear and conceptual explanation of Dynamic Programming, focusing on overlapping subproblems and optimal substructure with intuitive examples.</description></item><item><title>Different Sorting Algorithms Explained Clearly</title><link>https://blogs.codeverra.com/blog/sorting_algo/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/sorting_algo/</guid><description>A structured and easy-to-understand explanation of major sorting algorithms, their working ideas, time and space complexities, and real-world usage.</description></item><item><title>DSA With Python - Zero to Hero (Curriculum)</title><link>https://blogs.codeverra.com/blog/dsa-with-python-curriculum/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/dsa-with-python-curriculum/</guid><description>Learn Python programming along with Data Structures and Algorithms from scratch and become a hero in the field.&amp;#34;</description></item><item><title>Recursion Explained from Basics</title><link>https://blogs.codeverra.com/blog/recursion/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/recursion/</guid><description>A clear and beginner-friendly explanation of recursion, covering how it works, its components, types, advantages, disadvantages, and use cases.</description></item><item><title>Searching in Arrays (Sorted and Unsorted)</title><link>https://blogs.codeverra.com/blog/searching_in_arrays/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/searching_in_arrays/</guid><description>A clear and practical guide to searching techniques in arrays, explaining linear search and binary search with concepts, complexities, and real-world use cases.</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/06_lld_interview_questions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/06_lld_interview_questions/</guid><description>&lt;h1 id="low-level-design-interview-questions--a-complete-walkthrough"&gt;Low-Level Design Interview Questions — A Complete Walkthrough&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Who this is for:&lt;/strong&gt; Anyone preparing for low-level design interviews — or anyone who wants to see the OOP, SOLID, and design-pattern concepts from the previous documents come together into real, working designs. We&amp;rsquo;ll walk through six classic problems end-to-end.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#1-how-to-approach-any-lld-interview-problem"&gt;How to Approach Any LLD Interview Problem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-the-universal-framework"&gt;The Universal Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-common-pitfalls"&gt;Common Pitfalls in LLD Interviews&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-problem-1--design-a-parking-lot"&gt;Problem 1 — Design a Parking Lot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-problem-2--design-an-elevator-system"&gt;Problem 2 — Design an Elevator System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#6-problem-3--design-a-library-management-system"&gt;Problem 3 — Design a Library Management System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#7-problem-4--design-a-vending-machine"&gt;Problem 4 — Design a Vending Machine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#8-problem-5--design-a-splitwise-like-expense-sharing-system"&gt;Problem 5 — Design a Splitwise-Like Expense Sharing System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#9-problem-6--design-a-ride-hailing-system"&gt;Problem 6 — Design a Ride-Hailing System (Uber-Lite)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#10-meta-patterns"&gt;Meta-Patterns Across All Six Problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#11-final-interview-tips"&gt;Final Interview Tips&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="1-how-to-approach-any-lld-interview-problem"&gt;1. How to Approach Any LLD Interview Problem&lt;/h2&gt;
&lt;p&gt;The LLD interview isn&amp;rsquo;t really about the specific problem — parking lot, elevator, chess, whatever. &lt;strong&gt;It&amp;rsquo;s about demonstrating a structured thinking process.&lt;/strong&gt; The interviewer watches &lt;em&gt;how&lt;/em&gt; you decompose ambiguity, handle tradeoffs, and communicate design decisions.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06a_lld_parking_lot_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06a_lld_parking_lot_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-1--designing-a-parking-lot"&gt;LLD Deep Dive #1 — Designing a Parking Lot&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is:&lt;/strong&gt; A genuine, step-by-step walkthrough of how to &lt;em&gt;think through&lt;/em&gt; a Parking Lot LLD problem in an interview. Not a finished design dropped on you — but the reasoning, the false starts, the alternatives weighed, and the justifications that lead to each design decision.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Time investment:&lt;/strong&gt; Read this slowly. If you&amp;rsquo;re doing this for interview prep, it&amp;rsquo;s worth treating each section as its own thinking exercise — pause and ask yourself &amp;ldquo;what would I do here?&amp;rdquo; before reading on.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06b_lld_elevator_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06b_lld_elevator_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-2--designing-an-elevator-system"&gt;LLD Deep Dive #2 — Designing an Elevator System&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is:&lt;/strong&gt; A genuine, step-by-step walkthrough of how to think through an Elevator LLD problem in an interview. We&amp;rsquo;ll reason from first principles, weigh alternatives, and document each design decision — building toward a clean, extensible design centered on the State pattern.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#1-why-this-problem-matters"&gt;Why This Problem Matters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-stage-1--receiving-the-problem"&gt;Stage 1 — Receiving the Problem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-stage-2--clarifying-requirements"&gt;Stage 2 — Clarifying Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-stage-3--identifying-entities"&gt;Stage 3 — Identifying Entities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-stage-4--modeling-requests"&gt;Stage 4 — Modeling Requests (Internal vs External)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#6-stage-5--the-state-pattern-decision"&gt;Stage 5 — The State Pattern Decision&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#7-stage-6--implementing-the-states"&gt;Stage 6 — Implementing the States&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#8-stage-7--the-elevator-class"&gt;Stage 7 — The Elevator Class&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#9-stage-8--the-dispatcher-and-scheduling-strategy"&gt;Stage 8 — The Dispatcher and Scheduling Strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#10-stage-9--the-building-top-level-coordinator"&gt;Stage 9 — The Building (Top-Level Coordinator)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#11-stage-10--validating-with-a-mental-walkthrough"&gt;Stage 10 — Validating with a Mental Walkthrough&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#12-stage-11--anticipating-follow-up-questions"&gt;Stage 11 — Anticipating Follow-Up Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#13-final-reflection"&gt;Final Reflection — What This Problem Teaches&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="1-why-this-problem-matters"&gt;1. Why This Problem Matters&lt;/h2&gt;
&lt;p&gt;If Parking Lot is the canonical &amp;ldquo;model relationships&amp;rdquo; problem, Elevator is the canonical &amp;ldquo;model state transitions&amp;rdquo; problem. It&amp;rsquo;s specifically designed (whether interviewers know it or not) to make the &lt;strong&gt;State pattern&lt;/strong&gt; shine.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06c_lld_library_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06c_lld_library_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-3--designing-a-library-management-system"&gt;LLD Deep Dive #3 — Designing a Library Management System&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is:&lt;/strong&gt; A genuine, step-by-step walkthrough of how to think through a Library Management LLD problem. We&amp;rsquo;ll reason from first principles, weigh alternatives, and document each design decision — building toward a clean, extensible system that handles books, members, loans, fines, and reservations.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#1-why-this-problem-matters"&gt;Why This Problem Matters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-stage-1--receiving-the-problem"&gt;Stage 1 — Receiving the Problem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-stage-2--clarifying-requirements"&gt;Stage 2 — Clarifying Requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-stage-3--identifying-entities"&gt;Stage 3 — Identifying Entities (And the Big Modeling Decision)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-stage-4--modeling-books-vs-book-copies"&gt;Stage 4 — Modeling Books vs Book Copies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#6-stage-5--modeling-members-and-their-policies"&gt;Stage 5 — Modeling Members and Their Policies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#7-stage-6--the-loan-lifecycle"&gt;Stage 6 — The Loan Lifecycle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#8-stage-7--the-reservation-queue"&gt;Stage 7 — The Reservation Queue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#9-stage-8--search-functionality"&gt;Stage 8 — Search Functionality&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#10-stage-9--the-library-top-level-coordinator"&gt;Stage 9 — The Library (Top-Level Coordinator)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#11-stage-10--validating-with-a-mental-walkthrough"&gt;Stage 10 — Validating with a Mental Walkthrough&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#12-stage-11--anticipating-follow-up-questions"&gt;Stage 11 — Anticipating Follow-Up Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#13-final-reflection"&gt;Final Reflection — What This Problem Teaches&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="1-why-this-problem-matters"&gt;1. Why This Problem Matters&lt;/h2&gt;
&lt;p&gt;The library system is the canonical &amp;ldquo;policy-driven domain modeling&amp;rdquo; interview problem. What it tests:&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06d_lld_tic_tac_toe_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06d_lld_tic_tac_toe_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-4-designing-a-tic-tac-toe-game"&gt;LLD Deep Dive #4: Designing a Tic Tac Toe Game&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document covers:&lt;/strong&gt; A rigorous, step-by-step examination of how to approach a Tic Tac Toe Low-Level Design (LLD) problem in a technical interview. The document walks through the reasoning process at each design juncture, evaluates competing alternatives, and provides justification for every decision made. The finished design is a consequence of the reasoning, not its starting point.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to read this document:&lt;/strong&gt; Read it slowly and deliberately. The problem appears trivial at the surface, since Tic Tac Toe requires only a three by three grid, two players, and a rule for detecting three marks in a row. That surface simplicity is precisely why the problem is used in interviews: it invites the unwary candidate to produce a short procedural script, when the actual expectation is a properly modelled, extensible, and testable object-oriented design.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06e_lld_ecommerce_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06e_lld_ecommerce_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-4-designing-a-grocery--e-commerce-management-system"&gt;LLD Deep Dive #4: Designing a Grocery / E-Commerce Management System&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is:&lt;/strong&gt; A step-by-step walkthrough of the reasoning process required to design an e-commerce LLD problem in an interview setting. The specific flavour is a grocery store, though the design generalises to any online retail system. Every design decision is derived from first principles, alternatives are evaluated at each fork, and the resulting system is one whose components can be explained, defended, and extended.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06f_lld_ride_sharing_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06f_lld_ride_sharing_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-4-designing-a-ride-sharing-system"&gt;LLD Deep Dive #4: Designing a Ride-Sharing System&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is.&lt;/strong&gt; This is a comprehensive, first-principles walkthrough of how to design a ride-sharing system (of the Uber or Ola variety) as a low-level design (LLD) interview problem. It reasons from the vague problem statement through requirement clarification, entity identification, class hierarchy decisions, behavioural modelling with design patterns, and finally a fully composed system. Every design choice is stated together with the alternatives that were considered and the criteria that decided between them, so that a learner reading this can not only reproduce the design but also defend it and adapt it.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06g_lld_atm_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06g_lld_atm_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-4-designing-an-atm-system"&gt;LLD Deep Dive #4: Designing an ATM System&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is:&lt;/strong&gt; A structured, step-by-step walkthrough of the ATM low-level design problem as it would be reasoned through in a technical interview. The document proceeds from first principles, weighs alternative designs at each decision point, and arrives at a solution that combines the State pattern, the Strategy pattern, the Command pattern, and a clean separation between hardware and software concerns. Definitions of every technical term are provided when the term is introduced, so the document can be read without prior familiarity with the design-pattern literature.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06h_lld_movie_booking_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06h_lld_movie_booking_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-4-designing-a-movie-ticket-booking-system-bookmyshow-style"&gt;LLD Deep Dive #4: Designing a Movie Ticket Booking System (BookMyShow-style)&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Purpose of this document.&lt;/strong&gt; A staged walkthrough of how to reason through a Movie Ticket Booking Low-Level Design (LLD) problem in an interview setting. Each design decision is presented alongside the alternatives that were considered and the rationale for the final choice. The resulting design is modular, extensible, and treats concurrency as a first-class concern rather than a post-hoc extension.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06i_lld_text_editor_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06i_lld_text_editor_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-4--designing-a-text-editor"&gt;LLD Deep Dive #4 — Designing a Text Editor&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is:&lt;/strong&gt; A genuine, step-by-step walkthrough of how to &lt;em&gt;think through&lt;/em&gt; a Text Editor LLD problem in an interview. Not a finished design dropped on you — but the reasoning, the false starts, the alternatives weighed, and the justifications behind each design decision.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Time investment:&lt;/strong&gt; Read this slowly. If you&amp;rsquo;re doing this for interview prep, treat each stage as its own thinking exercise — pause and ask yourself &amp;ldquo;what would I do here?&amp;rdquo; before reading on.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06j_lld_splitwise_deep_dive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/low_level_design/interview_questions/06j_lld_splitwise_deep_dive/</guid><description>&lt;h1 id="lld-deep-dive-5-designing-splitwise-expense-sharing"&gt;LLD Deep Dive #5: Designing Splitwise (Expense Sharing)&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What this document is.&lt;/strong&gt; This is a complete, step by step walkthrough of how to design an expense sharing system of the kind popularised by the Splitwise application. It reasons from first principles, states the alternatives at every decision point, and justifies the option that is chosen. The design developed here is implemented as a small, runnable, modular Python project that accompanies this document, so that every concept discussed in prose can be examined and executed as real code.&lt;/p&gt;</description></item><item><title/><link>https://blogs.codeverra.com/blog/python-beginners-introduction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blogs.codeverra.com/blog/python-beginners-introduction/</guid><description>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Python: Where to Start and Where It Can Take You | Codeverra&lt;/title&gt;
&lt;link rel="preconnect" href="https://fonts.googleapis.com"&gt;
&lt;link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&amp;family=Source+Sans+3:wght@300;400;500;600&amp;family=JetBrains+Mono:wght@400;500&amp;display=swap" rel="stylesheet"&gt;
&lt;style&gt;
:root {
- ink: #1a1a1a;
- ink-light: #444;
- ink-faint: #888;
- paper: #f7f4ef;
- paper-dark: #ede9e2;
- rule: #d8d2c8;
- accent: #c0392b;
- accent-2: #2c6e8a;
- accent-3: #27704a;
- code-bg: #1e1e2e;
- code-text: #cdd6f4;
- code-green: #a6e3a1;
- code-blue: #89b4fa;
- code-pink: #f38ba8;
- code-yellow:#f9e2af;
- serif: 'Playfair Display', Georgia, serif;
- sans: 'Source Sans 3', system-ui, sans-serif;
- mono: 'JetBrains Mono', 'Fira Code', monospace;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
background: var( - paper);
color: var( - ink);
font-family: var( - sans);
font-size: 17px;
line-height: 1.75;
-webkit-font-smoothing: antialiased;
}
/* ---- HEADER ---- */
.site-header {
background: var( - ink);
padding: 14px 40px;
display: flex;
align-items: center;
justify-content: space-between;
position: sticky;
top: 0;
z-index: 100;
border-bottom: 2px solid var( - accent);
}
.site-logo {
font-family: var( - mono);
font-size: 15px;
color: #fff;
letter-spacing: 0.08em;
text-decoration: none;
}
.site-logo span { color: var( - accent); }
.header-tag {
font-family: var( - sans);
font-size: 12px;
font-weight: 500;
color: #888;
letter-spacing: 0.1em;
text-transform: uppercase;
}
/* ---- HERO ---- */
.hero {
background: var( - ink);
color: #fff;
padding: 80px 40px 70px;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background:
repeating-linear-gradient(
90deg,
transparent,
transparent 79px,
rgba(255,255,255,0.03) 79px,
rgba(255,255,255,0.03) 80px
);
pointer-events: none;
}
.hero-inner {
max-width: 820px;
margin: 0 auto;
position: relative;
}
.hero-label {
font-family: var( - mono);
font-size: 12px;
color: var( - accent);
letter-spacing: 0.15em;
text-transform: uppercase;
margin-bottom: 24px;
display: block;
}
.hero h1 {
font-family: var( - serif);
font-size: clamp(36px, 5vw, 58px);
font-weight: 700;
line-height: 1.15;
margin-bottom: 28px;
letter-spacing: -0.01em;
}
.hero h1 em {
font-style: italic;
color: #c8bfae;
}
.hero-sub {
font-size: 18px;
color: #b0a898;
font-weight: 300;
max-width: 600px;
line-height: 1.6;
margin-bottom: 40px;
}
.hero-meta {
display: flex;
gap: 32px;
font-size: 13px;
color: #666;
font-family: var( - mono);
flex-wrap: wrap;
}
.hero-meta span { color: #888; }
.hero-meta strong { color: #aaa; }
/* ---- TABLE OF CONTENTS ---- */
.toc-bar {
background: var( - paper-dark);
border-bottom: 1px solid var( - rule);
padding: 0;
}
.toc-inner {
max-width: 820px;
margin: 0 auto;
padding: 20px 40px;
}
.toc-title {
font-family: var( - mono);
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var( - ink-faint);
margin-bottom: 12px;
}
.toc-list {
display: flex;
flex-wrap: wrap;
gap: 8px 0;
list-style: none;
counter-reset: toc;
}
.toc-list li {
counter-increment: toc;
width: 50%;
font-size: 14px;
color: var( - ink-light);
padding: 2px 0;
}
.toc-list li::before {
content: counter(toc, decimal-leading-zero) ". ";
font-family: var( - mono);
font-size: 11px;
color: var( - accent);
margin-right: 6px;
}
.toc-list a {
color: inherit;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color 0.2s, color 0.2s;
}
.toc-list a:hover { color: var( - ink); border-bottom-color: var( - accent); }
/* ---- MAIN CONTENT ---- */
.main {
max-width: 820px;
margin: 0 auto;
padding: 60px 40px 80px;
}
/* ---- SECTIONS ---- */
.section { margin-bottom: 72px; }
.section-label {
font-family: var( - mono);
font-size: 11px;
color: var( - accent);
letter-spacing: 0.15em;
text-transform: uppercase;
display: block;
margin-bottom: 12px;
}
h2 {
font-family: var( - serif);
font-size: 32px;
font-weight: 700;
line-height: 1.2;
color: var( - ink);
margin-bottom: 20px;
padding-bottom: 14px;
border-bottom: 2px solid var( - rule);
}
h3 {
font-family: var( - serif);
font-size: 22px;
font-weight: 600;
margin-top: 40px;
margin-bottom: 14px;
color: var( - ink);
}
h4 {
font-family: var( - sans);
font-size: 14px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var( - ink-faint);
margin-top: 28px;
margin-bottom: 10px;
}
p { margin-bottom: 18px; color: var( - ink-light); }
p strong { color: var( - ink); font-weight: 600; }
/* ---- PULLQUOTE ---- */
.pullquote {
border-left: 4px solid var( - accent);
margin: 36px 0;
padding: 20px 28px;
background: var( - paper-dark);
font-family: var( - serif);
font-size: 20px;
font-style: italic;
color: var( - ink);
line-height: 1.5;
}
/* ---- CALLOUT BOX ---- */
.callout {
border: 1px solid var( - rule);
border-left: 4px solid var( - accent-2);
background: #f0f6fa;
padding: 20px 24px;
margin: 28px 0;
border-radius: 0 4px 4px 0;
}
.callout.green { border-left-color: var( - accent-3); background: #f0faf4; }
.callout-title {
font-family: var( - mono);
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var( - accent-2);
margin-bottom: 8px;
display: block;
}
.callout.green .callout-title { color: var( - accent-3); }
.callout p { margin: 0; font-size: 15px; }
/* ---- CODE BLOCKS ---- */
pre {
background: var( - code-bg);
border-radius: 6px;
padding: 24px 28px;
overflow-x: auto;
margin: 24px 0;
position: relative;
border: 1px solid #313244;
}
pre .lang-tag {
position: absolute;
top: 10px;
right: 14px;
font-family: var( - mono);
font-size: 10px;
color: #45475a;
letter-spacing: 0.1em;
text-transform: uppercase;
}
code {
font-family: var( - mono);
font-size: 14px;
line-height: 1.7;
color: var( - code-text);
}
p code, li code {
background: var( - paper-dark);
color: var( - accent);
padding: 1px 6px;
border-radius: 3px;
font-size: 13.5px;
border: 1px solid var( - rule);
}
.kw { color: var( - code-pink); }
.fn { color: var( - code-blue); }
.st { color: var( - code-green); }
.cm { color: #6c7086; font-style: italic; }
.nm { color: var( - code-yellow); }
.op { color: #cba6f7; }
/* ---- COMPARISON TABLE ---- */
.compare-table {
width: 100%;
border-collapse: collapse;
margin: 28px 0;
font-size: 15px;
}
.compare-table thead tr {
background: var( - ink);
color: #fff;
}
.compare-table th {
font-family: var( - sans);
font-weight: 600;
font-size: 13px;
letter-spacing: 0.05em;
padding: 12px 16px;
text-align: left;
}
.compare-table td {
padding: 11px 16px;
border-bottom: 1px solid var( - rule);
color: var( - ink-light);
vertical-align: top;
}
.compare-table tbody tr:nth-child(even) { background: var( - paper-dark); }
.compare-table tbody tr:hover { background: #e8e3da; }
.badge {
display: inline-block;
font-family: var( - mono);
font-size: 11px;
padding: 2px 8px;
border-radius: 2px;
font-weight: 500;
}
.badge-green { background: #e6f4ea; color: #27704a; }
.badge-yellow { background: #fef9e7; color: #9a7d0a; }
.badge-red { background: #fdecea; color: #c0392b; }
/* ---- SYNTAX RULES LIST ---- */
.rules-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 24px 0;
}
.rule-card {
background: var( - paper-dark);
border: 1px solid var( - rule);
border-top: 3px solid var( - accent-2);
padding: 18px 20px;
border-radius: 0 0 4px 4px;
}
.rule-card h5 {
font-family: var( - sans);
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var( - ink);
margin-bottom: 8px;
}
.rule-card p { font-size: 14px; margin: 0; }
/* ---- DATATYPE CARDS ---- */
.dtype-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin: 28px 0;
}
.dtype-card {
background: var( - paper-dark);
border: 1px solid var( - rule);
padding: 20px;
border-radius: 4px;
transition: box-shadow 0.2s, transform 0.2s;
}
.dtype-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); transform: translateY(-2px); }
.dtype-name {
font-family: var( - mono);
font-size: 13px;
font-weight: 500;
color: var( - accent);
display: block;
margin-bottom: 4px;
}
.dtype-label {
font-size: 16px;
font-weight: 600;
color: var( - ink);
display: block;
margin-bottom: 8px;
}
.dtype-eg {
font-family: var( - mono);
font-size: 12px;
color: var( - accent-2);
background: #e8f0f5;
padding: 4px 8px;
border-radius: 3px;
display: inline-block;
margin-bottom: 10px;
}
.dtype-card p { font-size: 13px; margin: 0; color: var( - ink-faint); }
/* ---- INSTALL STEPS ---- */
.steps { list-style: none; counter-reset: steps; margin: 24px 0; }
.steps li {
counter-increment: steps;
display: flex;
gap: 20px;
margin-bottom: 24px;
align-items: flex-start;
}
.steps li::before {
content: counter(steps);
flex-shrink: 0;
width: 36px;
height: 36px;
background: var( - ink);
color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: var( - mono);
font-size: 13px;
font-weight: 500;
margin-top: 2px;
}
.steps li div { flex: 1; }
.steps li strong { display: block; font-size: 16px; margin-bottom: 4px; color: var( - ink); }
.steps li p { font-size: 15px; margin: 0; }
/* ---- DIVIDER ---- */
.divider {
border: none;
border-top: 1px solid var( - rule);
margin: 56px 0;
}
/* ===================== ROADMAP ===================== */
.roadmap-section {
background: var( - ink);
color: #fff;
margin: 0 -40px;
padding: 72px 40px;
}
.roadmap-section h2 {
color: #fff;
border-bottom-color: #333;
font-size: 36px;
}
.roadmap-section p { color: #a0998e; }
/* Phase selector */
.phase-tabs {
display: flex;
gap: 0;
margin: 40px 0 0;
border-bottom: 1px solid #333;
flex-wrap: wrap;
}
.phase-tab {
font-family: var( - mono);
font-size: 12px;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 12px 22px;
border: none;
background: none;
color: #555;
cursor: pointer;
border-bottom: 3px solid transparent;
margin-bottom: -1px;
transition: color 0.2s, border-color 0.2s;
}
.phase-tab.active { color: #fff; border-bottom-color: var( - accent); }
.phase-tab:hover:not(.active) { color: #aaa; }
/* Phase content */
.phase-panel { display: none; padding-top: 36px; }
.phase-panel.active { display: block; }
.phase-header {
display: flex;
align-items: flex-start;
gap: 24px;
margin-bottom: 32px;
}
.phase-num {
font-family: var( - serif);
font-size: 72px;
font-weight: 700;
color: #2a2a2a;
line-height: 1;
flex-shrink: 0;
}
.phase-info h3 {
font-family: var( - serif);
font-size: 28px;
font-weight: 600;
color: #fff;
margin: 0 0 6px;
}
.phase-info p { font-size: 15px; color: #888; margin: 0; }
.topics-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
margin-bottom: 32px;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
background: #1e1e1e;
border: 1px solid #2a2a2a;
border-radius: 4px;
padding: 14px 16px;
transition: border-color 0.2s, background 0.2s;
cursor: default;
}
.topic-item:hover { background: #222; border-color: #444; }
.topic-dot {
width: 8px;
height: 8px;
border-radius: 50%;
flex-shrink: 0;
background: var( - accent);
}
.topic-dot.blue { background: var( - accent-2); }
.topic-dot.green { background: var( - accent-3); }
.topic-dot.yellow { background: #d4a017; }
.topic-dot.purple { background: #8b5cf6; }
.topic-text {
font-size: 14px;
color: #ccc;
flex: 1;
}
.topic-badge {
font-family: var( - mono);
font-size: 10px;
padding: 2px 7px;
border-radius: 2px;
background: #2a2a2a;
color: #666;
white-space: nowrap;
}
.topic-badge.core { background: #2a1a1a; color: var( - accent); }
.topic-badge.practice { background: #1a2a1a; color: var( - accent-3); }
.topic-badge.advanced { background: #1a1a2a; color: var( - accent-2); }
/* Resource links within phase */
.phase-resources {
background: #161616;
border: 1px solid #2a2a2a;
border-left: 3px solid var( - accent);
padding: 20px 24px;
border-radius: 0 4px 4px 0;
}
.phase-resources h5 {
font-family: var( - mono);
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var( - accent);
margin-bottom: 12px;
}
.resource-links { list-style: none; }
.resource-links li {
font-size: 14px;
color: #888;
padding: 5px 0;
border-bottom: 1px solid #222;
}
.resource-links li:last-child { border-bottom: none; }
.resource-links a { color: #6ba8c4; text-decoration: none; }
.resource-links a:hover { color: #89b4fa; text-decoration: underline; }
/* ---- SPECIALISATIONS ---- */
.spec-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
margin: 32px 0;
}
.spec-card {
background: #161616;
border: 1px solid #2a2a2a;
border-radius: 4px;
padding: 24px;
transition: border-color 0.2s;
}
.spec-card:hover { border-color: #444; }
.spec-tag {
font-family: var( - mono);
font-size: 10px;
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 3px 9px;
border-radius: 2px;
display: inline-block;
margin-bottom: 14px;
}
.spec-card h4 {
font-family: var( - sans);
font-size: 17px;
font-weight: 600;
text-transform: none;
letter-spacing: 0;
color: #e0d8cc;
margin-bottom: 10px;
margin-top: 0;
}
.spec-card p { font-size: 13.5px; color: #777; margin-bottom: 14px; }
.spec-skills {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.skill-chip {
font-family: var( - mono);
font-size: 11px;
padding: 3px 8px;
background: #222;
border: 1px solid #333;
border-radius: 2px;
color: #999;
}
/* FOOTER */
.site-footer {
background: #111;
color: #555;
text-align: center;
padding: 40px;
font-size: 13px;
font-family: var( - mono);
border-top: 1px solid #222;
}
.site-footer a { color: #777; text-decoration: none; }
.site-footer a:hover { color: #aaa; }
/* ---- RESPONSIVE ---- */
@media (max-width: 680px) {
.hero { padding: 50px 24px 40px; }
.main { padding: 40px 24px 60px; }
.toc-inner { padding: 16px 24px; }
.toc-list li { width: 100%; }
.rules-grid { grid-template-columns: 1fr; }
.dtype-grid { grid-template-columns: 1fr 1fr; }
.topics-grid { grid-template-columns: 1fr; }
.spec-grid { grid-template-columns: 1fr; }
.roadmap-section { margin: 0 -24px; padding: 48px 24px; }
.site-header { padding: 12px 24px; }
h2 { font-size: 26px; }
}
/* ANIMATIONS */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.hero-inner { animation: fadeUp 0.6s ease both; }
.section { animation: fadeUp 0.5s ease both; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;! - HEADER - &gt;
&lt;header class="site-header"&gt;
&lt;a class="site-logo" href="https://codeverra.com"&gt;&lt;span&gt;//&lt;/span&gt; codeverra&lt;/a&gt;
&lt;span class="header-tag"&gt;Python Fundamentals Series&lt;/span&gt;
&lt;/header&gt;
&lt;! - HERO - &gt;
&lt;div class="hero"&gt;
&lt;div class="hero-inner"&gt;
&lt;span class="hero-label"&gt;Lecture 01 / Python Fundamentals&lt;/span&gt;
&lt;h1&gt;Python: Where to Start&lt;br&gt;and &lt;em&gt;Where It Can Take You&lt;/em&gt;&lt;/h1&gt;
&lt;p class="hero-sub"&gt;
A complete introduction to why Python matters, how to set it up, the basics of its syntax,
and an honest roadmap of everything that lies ahead for you.
&lt;/p&gt;</description></item></channel></rss>