<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Amitxaidev on Medium]]></title>
        <description><![CDATA[Stories by Amitxaidev on Medium]]></description>
        <link>https://medium.com/@amitxaidev?source=rss-cc18e3e16bd0------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*M-sLL-FQOJG4Xk4E</url>
            <title>Stories by Amitxaidev on Medium</title>
            <link>https://medium.com/@amitxaidev?source=rss-cc18e3e16bd0------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 16:00:55 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@amitxaidev/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[How to Write an ATS-Friendly Resume in 2026 (and a Free Builder With 12 Templates)]]></title>
            <link>https://medium.com/@amitxaidev/how-to-write-an-ats-friendly-resume-in-2026-and-a-free-builder-with-12-templates-87278ab32773?source=rss-cc18e3e16bd0------2</link>
            <guid isPermaLink="false">https://medium.com/p/87278ab32773</guid>
            <category><![CDATA[resume-writing]]></category>
            <category><![CDATA[job-search]]></category>
            <category><![CDATA[resume]]></category>
            <category><![CDATA[career-advice]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Amitxaidev]]></dc:creator>
            <pubDate>Wed, 04 Nov 2026 06:19:39 GMT</pubDate>
            <atom:updated>2026-11-04T06:19:39.360Z</atom:updated>
            <content:encoded><![CDATA[<p>Recruiters skim for about 7 seconds, and software often reads it first. Here’s how to pass both.</p><p>You’ve applied to fifty jobs and heard nothing back. Your skills are probably fine. Your resume is losing in the first few seconds. An eye-tracking study by the job site Ladders found recruiters spend about seven seconds on a first look, and at many large companies an applicant tracking system (ATS) reads your resume before any human does.</p><p>I built a <a href="https://compiledcanvas.com/career/resume-builder.html">free resume builder</a> with 12 ATS-friendly templates for freshers and experienced developers, and wrote the rules below into it. It checks your bullets as you type. Here’s what it checks, and why.</p><h3>Rule 1: Simple beats pretty</h3><p>An ATS reads plain text. Two-column designs, text inside images and star-rating skill bars can come out scrambled. Use one column, normal fonts and real text. And use the exact words from the job post: if it says Spring Boot, don’t write only Spring.</p><h3>Rule 2: Write every bullet with the XYZ formula</h3><p>Laszlo Bock, who led hiring at Google, shared a simple formula: accomplished X, as measured by Y, by doing Z.</p><ul><li>Before: “Responsible for backend APIs.”</li><li>After: “Cut API response time by 40%, from 500 ms to 300 ms, by adding Redis caching.”</li></ul><p>No exact number? Use a fair estimate, a count or a scale: users, requests per day, hours saved, bugs closed. Then start with a strong verb: built, cut, led, shipped.</p><h3>Rule 3: Get the layout right</h3><ul><li>Header: name, city, phone, email, LinkedIn, GitHub. No photo or date of birth for big-tech roles.</li><li>Summary: two lines, with your years, your strongest skill and one result.</li><li>Experience: newest first, 3 to 5 XYZ bullets per job.</li><li>Skills: grouped into languages, frameworks and tools. No star ratings.</li><li>Length: one page if you have under about ten years of experience.</li></ul><h3>5 mistakes that get resumes rejected</h3><ul><li>Typos. Read it out loud, one line at a time.</li><li>Duties instead of results (“worked on”, “involved in”).</li><li>One resume for every job. Tweak the summary and skills each time.</li><li>Every tool you’ve ever touched. If you can’t answer two questions on it, cut it.</li><li>A file called resume_final_FINAL2.docx. Send a PDF named with your name.</li></ul><h3>Fresher? Your projects are your experience</h3><p>Put education near the top, then projects written with the same XYZ bullets. “Made a to-do app” is weak; “Built a to-do API in Spring Boot with JWT login, used by 200 people” is strong. Add checkable numbers like your LeetCode count and a GitHub link. If you’re preparing for coding rounds too, the free <a href="https://www.youtube.com/playlist?list=PLUDfZ2cL52Lg">DSA in Java course</a> and its <a href="https://compiledcanvas.com/dsa/">352-problem practice sheet</a> are a good place to start.</p><h3>Build yours free</h3><p>The <a href="https://compiledcanvas.com/career/resume-builder.html">Compiled Canvas resume builder</a> has 12 templates, a Fresher/Experienced switch, live suggestions on every bullet, and PDF or Word download. Everything stays in your browser; nothing is uploaded and there’s no sign-up. The <a href="https://compiledcanvas.com/career/resume-guide.html">resume guide</a> has more before-and-after examples, and the <a href="https://compiledcanvas.com/career/linkedin-guide.html">LinkedIn guide</a> has a headline maker for your profile.</p><p>📝 <a href="https://compiledcanvas.com/career/resume-builder.html">Open the free resume builder</a><br>🔔 <a href="https://www.youtube.com/@compiledcanvas?sub_confirmation=1">Subscribe to Compiled Canvas</a> for the full resume and LinkedIn video lessons.</p><p><em>Originally published at </em><a href="https://compiledcanvas.com/blog/ats-friendly-resume-free-builder.html"><em>https://compiledcanvas.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=87278ab32773" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Generative AI for Beginners: 6 Free Lessons on How ChatGPT Actually Works]]></title>
            <link>https://medium.com/@amitxaidev/generative-ai-for-beginners-6-free-lessons-on-how-chatgpt-actually-works-537867423843?source=rss-cc18e3e16bd0------2</link>
            <guid isPermaLink="false">https://medium.com/p/537867423843</guid>
            <category><![CDATA[prompt-engineering]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[chatgpt]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Amitxaidev]]></dc:creator>
            <pubDate>Wed, 04 Nov 2026 06:18:03 GMT</pubDate>
            <atom:updated>2026-11-04T06:18:03.493Z</atom:updated>
            <content:encoded><![CDATA[<p>Tokens, embeddings, attention, model types, temperature and prompts, explained simply, with Python you can run.</p><p>Everyone uses ChatGPT. Very few people can explain what happens between pressing Enter and seeing the answer. That gap matters: once you understand tokens, context windows and temperature, you write better prompts, pick cheaper models, and stop being surprised when a chatbot “forgets” or makes something up.</p><p>This is a free course I’m building on YouTube, <a href="https://www.youtube.com/playlist?list=PLRL2nIvx6KmE">Generative AI with Python</a>. Each lesson is short, uses everyday pictures, and has small Python programs you can run from the <a href="https://compiledcanvas.com/gen-ai/">lesson pages on compiledcanvas.com</a>. Here are the first six.</p><h3>Lesson 1: What is generative AI?</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FPiPeKwAzh7w%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPiPeKwAzh7w&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FPiPeKwAzh7w%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/f8e1dd8f2e0134aab3a87860dedc0890/href">https://medium.com/media/f8e1dd8f2e0134aab3a87860dedc0890/href</a></iframe><p>AI, machine learning, deep learning and generative AI aren’t four separate things. They’re four circles, each inside the last. AI is any machine doing something that looks smart. Machine learning learns patterns from examples instead of hand-written rules. Deep learning does that with many-layered neural networks. Generative AI is the deep learning that creates new text, images or code.</p><p>▶ <a href="https://www.youtube.com/watch?v=PiPeKwAzh7w">Watch lesson 1</a> · <a href="https://compiledcanvas.com/gen-ai/01-what-is-generative-ai.html">Read the lesson page</a></p><h3>Lesson 2: How LLMs work</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F-JwguQV3eHY%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D-JwguQV3eHY&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F-JwguQV3eHY%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/905e1bc77111092d9dc910a5dccaacca/href">https://medium.com/media/905e1bc77111092d9dc910a5dccaacca/href</a></iframe><p>A large language model never sees your words. It sees numbers. Text is cut into tokens (100 tokens is about 75 English words), each token becomes an embedding (a list of numbers where similar meanings sit close together), and the model scores every possible next token. It picks one, adds it to the text, and asks again. That’s it: next-token prediction, one token at a time.</p><p>▶ <a href="https://www.youtube.com/watch?v=-JwguQV3eHY">Watch lesson 2</a> · <a href="https://compiledcanvas.com/gen-ai/02-how-llms-work.html">Run the Python tokenizer and softmax</a></p><h3>Lesson 3: Transformers and attention</h3><p>“The animal didn’t cross the street because it was too tired.” You know “it” means the animal. For a computer that’s hard, and the 2017 paper Attention Is All You Need solved it. Each word scores every other word for relevance, using a query, a key and a value, a bit like a YouTube search. Because every word is processed at once, transformers train fast on GPUs.</p><p>▶ <a href="https://www.youtube.com/watch?v=HW19mkHq4Gk">Watch lesson 3</a> · <a href="https://compiledcanvas.com/gen-ai/03-transformers-attention.html">Build attention in Python</a></p><h3>Lesson 4: Open vs closed models, reasoning and multimodal</h3><p>Closed models (GPT, Claude, Gemini) run on the company’s servers and you pay per use. Open-weight models you can download and run yourself. Reasoning models think before answering: slower and pricier, better at maths and code. Multimodal models take images and audio. The lesson ends with a simple way to choose.</p><p>▶ <a href="https://www.youtube.com/watch?v=7bdX4UPCRh0">Watch lesson 4</a> · <a href="https://compiledcanvas.com/gen-ai/04-model-landscape.html">Read the lesson page</a></p><h3>Lesson 5: Context window, temperature and cost</h3><p>Why does your chatbot forget? Its context window is a whiteboard: only what fits on it is seen, and old text falls off. Temperature is the randomness dial: low for facts and code, higher for brainstorming. And you pay for tokens in and tokens out, so pasting a huge document every turn gets expensive fast.</p><p>▶ <a href="https://www.youtube.com/watch?v=-HmWJx_9F0A">Watch lesson 5</a> · <a href="https://compiledcanvas.com/gen-ai/05-context-temperature-cost.html">Try the temperature demo</a></p><h3>Lesson 6: The 5 parts of a great prompt</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F9crw9ZEzzJs%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9crw9ZEzzJs&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F9crw9ZEzzJs%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/fa7a9572f43dac4658d90a20d4469559/href">https://medium.com/media/fa7a9572f43dac4658d90a20d4469559/href</a></iframe><p>Vague in, vague out. A strong prompt has five parts: a role (who it should be), instructions (one clear job), context (what it can’t know), examples (show what good looks like) and an output format (bullets, JSON, a table). And give it a way out: tell it to say “I don’t know” when it isn’t sure.</p><p>▶ <a href="https://www.youtube.com/watch?v=9crw9ZEzzJs">Watch lesson 6</a> · <a href="https://compiledcanvas.com/gen-ai/06-prompt-anatomy.html">Use the prompt builder</a></p><h3>What’s next</h3><ul><li>Zero-shot, few-shot and chain-of-thought prompting.</li><li>Calling an LLM API from Python, then building a chatbot.</li><li>RAG: making an AI answer from your own documents.</li><li>AI agents that use tools.</li><li>Each lesson also has a 1-minute <a href="https://compiledcanvas.com/stories/">Web Story</a> with a quiz.</li></ul><p>▶ <a href="https://www.youtube.com/playlist?list=PLRL2nIvx6KmE">Watch the full Generative AI playlist on YouTube</a><br>🔔 <a href="https://www.youtube.com/@compiledcanvas?sub_confirmation=1">Subscribe to Compiled Canvas</a> for a new lesson every week.</p><p><em>Originally published at </em><a href="https://compiledcanvas.com/blog/generative-ai-for-beginners-free-course.html"><em>https://compiledcanvas.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=537867423843" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Learn DSA in Java in 2026: A Free, Step-by-Step Video Course]]></title>
            <link>https://medium.com/@amitxaidev/how-to-learn-dsa-in-java-in-2026-a-free-step-by-step-video-course-4d2b38a4d8c5?source=rss-cc18e3e16bd0------2</link>
            <guid isPermaLink="false">https://medium.com/p/4d2b38a4d8c5</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[algorithms]]></category>
            <category><![CDATA[data-structures]]></category>
            <category><![CDATA[coding-interviews]]></category>
            <category><![CDATA[java]]></category>
            <dc:creator><![CDATA[Amitxaidev]]></dc:creator>
            <pubDate>Wed, 04 Nov 2026 06:14:28 GMT</pubDate>
            <atom:updated>2026-11-04T06:14:28.957Z</atom:updated>
            <content:encoded><![CDATA[<p>The order that actually works, the 10 lessons to start with, and a 352-problem practice sheet. All free.</p><p>Most people who quit DSA don’t quit because it’s hard. They quit because they study it in a random order. They watch a dynamic programming video on Monday, a graphs video on Wednesday, and by Friday nothing connects.</p><p>I’m a Java developer with 11 years in the industry, and I’m building the course I wish I’d had: <a href="https://www.youtube.com/playlist?list=PLUDfZ2cL52Lg">DSA in Java, from zero, in the right order</a>. Every lesson is a short video with pictures and graphs instead of heavy theory, plus a free practice page with LeetCode problems, hints and Java solutions on <a href="https://compiledcanvas.com/dsa/">compiledcanvas.com</a>.</p><p>Here are the first 10 lessons, what each one teaches, and the one idea from each you should walk away with.</p><h3>1. Start with the roadmap</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fz7LRqT8mBQ4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dz7LRqT8mBQ4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fz7LRqT8mBQ4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/3a830209f0448449c9e5f48823753d5d/href">https://medium.com/media/3a830209f0448449c9e5f48823753d5d/href</a></iframe><p>Before any code: what to learn, in what order, and how long each part takes. The short version is Big O first, then arrays and strings, then hashing, recursion, linked lists, stacks, trees, graphs and finally dynamic programming. Practise 3 to 5 problems per pattern instead of 500 random ones.</p><p>▶ <a href="https://www.youtube.com/watch?v=z7LRqT8mBQ4">Watch: DSA Roadmap 2026</a> · <a href="https://compiledcanvas.com/dsa/">See the full 26-topic roadmap and practice sheet</a></p><h3>2. Big O: why two correct programs aren’t equal</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FjZeS1tRzGs4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DjZeS1tRzGs4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FjZeS1tRzGs4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/4b67b7d1916ae12b26b4dd34e9556935/href">https://medium.com/media/4b67b7d1916ae12b26b4dd34e9556935/href</a></iframe><p>Two programs can give the same answer, and one takes a second while the other takes hours. Big O is how you tell them apart before you run anything. O(1) is one step. O(log n) halves the work each step, so a million items need about 20. O(n) is one loop. O(n²) is a loop inside a loop, and that’s where solutions time out.</p><blockquote><em>Big O drops constants. 3n + 5 is just O(n).</em></blockquote><p>▶ <a href="https://www.youtube.com/watch?v=jZeS1tRzGs4">Watch: Big O Notation Explained Simply</a> · <a href="https://compiledcanvas.com/dsa/01-complexity/">Practise: complexity problems</a></p><h3>3. Calculating complexity of any code</h3><p>Once you know the shapes, four rules cover almost every snippet: nested loops multiply, loops in a row add, a counter that doubles or halves is log n, and for recursion you multiply the number of calls by the work per call. The video walks through tricky cases like an outer loop that doubles with an inner loop that runs n times. That’s O(n log n), not O(n²).</p><p>▶ <a href="https://www.youtube.com/watch?v=PxjhjjhEIqw">Watch: How to Calculate Time Complexity of Any Code</a></p><h3>4. The Java you actually need for DSA</h3><p>Your logic can be perfect and Java can still fail your code. Two Integer objects holding 1000 are not == to each other. An int sum quietly overflows past 2.1 billion and turns negative. Building a string with + inside a loop is secretly slow. This lesson covers ArrayList, HashMap, HashSet and ArrayDeque, and the traps that fail real interviews.</p><p>▶ <a href="https://www.youtube.com/watch?v=YvtYDDQgn9U">Watch: Complete Java for DSA</a> · <a href="https://compiledcanvas.com/dsa/02-java-basics/">Practise: Java basics problems</a></p><h3>5. The only math you need</h3><p>Checking if a billion is prime by looping to n takes a billion steps. Stopping at the square root takes 31,623. That’s the flavour of math in coding interviews: primes, the Sieve of Eratosthenes, GCD with Euclid’s trick, and taking answers modulo 1⁰⁹ + 7. One Java gotcha: −7 % 3 is −1, not 2.</p><p>▶ <a href="https://www.youtube.com/watch?v=y1GZw3VByAU">Watch: Basic Math for DSA</a> · <a href="https://compiledcanvas.com/dsa/03-math/">Practise: math problems</a></p><h3>6. Bit manipulation</h3><p>Every number appears twice except one. Find it. Most people reach for a HashMap. XOR every number together instead: pairs cancel out (x ^ x = 0) and the single number is left, in O(1) extra memory. The lesson builds AND, OR, XOR and shifts from scratch, plus the classic tricks like n &amp; (n − 1) for powers of two.</p><p>▶ <a href="https://www.youtube.com/watch?v=ZzdK8SqvsGU">Watch: Bit Manipulation from Scratch</a> · <a href="https://compiledcanvas.com/dsa/04-bit-manipulation/">Practise: bit problems</a></p><h3>7. Arrays, properly</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F4NdluWqUZ3c%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D4NdluWqUZ3c&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F4NdluWqUZ3c%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/acec43d3e1c777760d2a98758c95572b/href">https://medium.com/media/acec43d3e1c777760d2a98758c95572b/href</a></iframe><p>Why is reading arr[999999] one step, but inserting at the front a million? Because Java jumps straight to an address, but inserting shifts every value one seat to the right. This lesson uses lockers and cinema seats to make arrays obvious, and ends with reversing an array in place with two pointers.</p><p>▶ <a href="https://www.youtube.com/watch?v=4NdluWqUZ3c">Watch: Array Data Structure in Java</a> · <a href="https://compiledcanvas.com/dsa/05-arrays/">Practise: array problems</a></p><h3>8. Prefix sum: any range sum in one step</h3><p>Build an array of running totals once, in O(n). After that, the sum of any range L to R is prefix[R + 1] − prefix[L], one subtraction. It’s the trick behind a whole family of LeetCode problems. The most common mistake is forgetting that +1.</p><p>▶ <a href="https://www.youtube.com/watch?v=liU6avyvXQM">Watch: Prefix Sum Explained</a> · <a href="https://compiledcanvas.com/dsa/06-prefix-sum/">Practise: prefix sum problems</a></p><h3>9. Two pointers: five patterns</h3><p>Two indexes instead of two nested loops. Opposite ends for palindromes and pair sums in a sorted array; slow and fast pointers to remove duplicates in place. O(n) time, O(1) extra space. The video covers five patterns you’ll see again and again.</p><p>▶ <a href="https://www.youtube.com/watch?v=nk0jXt4HEuA">Watch: Two Pointers in Java: 5 Patterns</a> · <a href="https://compiledcanvas.com/dsa/07-two-pointers/">Practise: two pointer problems</a></p><h3>10. Sliding window</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FMPqi3WLXj9w%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DMPqi3WLXj9w&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FMPqi3WLXj9w%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/73c9ceab2e60083992336ba3feaaa8b4/href">https://medium.com/media/73c9ceab2e60083992336ba3feaaa8b4/href</a></iframe><p>Don’t recompute every window from scratch. Add the number that enters, drop the one that leaves. Fixed windows keep size k; variable windows grow on the right and shrink on the left while a rule is broken. Shrink with while, not if.</p><p>▶ <a href="https://www.youtube.com/watch?v=MPqi3WLXj9w">Watch: Sliding Window in Java</a> · <a href="https://compiledcanvas.com/dsa/08-sliding-window/">Practise: sliding window problems</a></p><h3>How to use this course</h3><ul><li>Watch one lesson a day, in order. Each is about 10 to 15 minutes.</li><li>After each video, solve 2 or 3 problems from its <a href="https://compiledcanvas.com/dsa/">practice page</a> before reading the hints.</li><li>Short on time? Tap through the 1-minute <a href="https://compiledcanvas.com/stories/">Web Stories</a> for each lesson, with a quiz and a cheat sheet.</li><li>New lessons come out every day: Kadane’s algorithm, Dutch National Flag, matrices, strings, KMP and more.</li></ul><p>▶ <a href="https://www.youtube.com/playlist?list=PLUDfZ2cL52Lg">Watch the full DSA in Java playlist on YouTube</a><br>🔔 <a href="https://www.youtube.com/@compiledcanvas?sub_confirmation=1">Subscribe to Compiled Canvas</a> so you don’t miss the next lesson.</p><p><em>Originally published at </em><a href="https://compiledcanvas.com/blog/learn-dsa-in-java-2026-free-course.html"><em>https://compiledcanvas.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4d2b38a4d8c5" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>