<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: henry</title>
    <description>The latest articles on DEV Community by henry (@henry123).</description>
    <link>https://dev.to/henry123</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4130904%2Fae4cadb3-3070-4f81-9875-e7527999a2e3.png</url>
      <title>DEV Community: henry</title>
      <link>https://dev.to/henry123</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/henry123"/>
    <language>en</language>
    <item>
      <title>Coding Interview Patterns and the Sliding Window Invariant</title>
      <dc:creator>henry</dc:creator>
      <pubDate>Wed, 30 Sep 2026 14:35:32 +0000</pubDate>
      <link>https://dev.to/henry123/coding-interview-patterns-and-the-sliding-window-invariant-2odh</link>
      <guid>https://dev.to/henry123/coding-interview-patterns-and-the-sliding-window-invariant-2odh</guid>
      <description>&lt;p&gt;Recognizing a coding interview pattern is useful only when you can explain why the pattern applies. Sliding window is a good example. It is tempting to see an array or string and start moving two pointers, but the important decision is what those pointers represent.&lt;/p&gt;

&lt;p&gt;Consider this practice question: find the length of the longest contiguous substring with no repeated characters. For the string abcaef, the answer is five, corresponding to bcaef. The problem gives you a window whose validity you can test and restore as you move through the input&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvigi0l0c7mdhngytxbs1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvigi0l0c7mdhngytxbs1.png" alt=" " width="800" height="380"&gt;&lt;/a&gt;&lt;br&gt;
Worked example using the string abcaef. The longest substring without repeated characters is bcaef.&lt;/p&gt;

&lt;p&gt;State what must remain true&lt;/p&gt;

&lt;p&gt;Let the left and right positions define the current substring. After processing each new character and repairing the window, every character inside that substring must be unique. That statement is the invariant: the property you preserve as the algorithm progresses.&lt;/p&gt;

&lt;p&gt;Read the characters from left to right. The window grows from a to ab to abc. When the next a arrives, keeping the original a would create a duplicate. Move the left boundary past that earlier a. The valid window becomes bca. Adding e and f then produces bcaef.&lt;/p&gt;

&lt;p&gt;Notice what you did not do. You did not restart the entire search after seeing a duplicate. Earlier positions that would still include the repeated a cannot produce a valid window ending at the current position. Moving the boundary discards those possibilities for a reason.&lt;/p&gt;

&lt;p&gt;Choose an implementation you can explain&lt;/p&gt;

&lt;p&gt;One approach uses a set of characters. When a new character is already present, repeatedly remove the leftmost character and advance the left boundary until the duplicate has been removed. Then add the new character and update the best length.&lt;/p&gt;

&lt;p&gt;Another approach records the most recent index of each character. On a repeat, move the left boundary to the larger of its current value and one position after the previous occurrence. That maximum matters. A character that appeared before the current window must not pull the boundary backward.&lt;/p&gt;

&lt;p&gt;Both approaches require assumptions about character comparison and indexing. For a basic practice problem, ordinary character units may be sufficient. If the question concerns user-visible Unicode characters, clarify the required unit instead of silently assuming that every language handles strings identically.&lt;/p&gt;

&lt;p&gt;Derive the running time from movement&lt;/p&gt;

&lt;p&gt;In the set-based approach, a nested loop does not automatically mean quadratic time. The right boundary advances across the string once. The left boundary also advances at most across the string once. With average constant-time hash-set operations, the total work is linear in the input length.&lt;/p&gt;

&lt;p&gt;Space depends on the maximum number of distinct characters held in the window. State that relationship before claiming constant space. A fixed, bounded alphabet and an unrestricted character set are different assumptions.&lt;/p&gt;

&lt;p&gt;The PhantomCodeAI coding interviews hub includes pattern-based preparation. When using a guide or an AI hint, ask it to explain the invariant before showing an implementation. That makes the exercise transferable to unfamiliar wording.&lt;/p&gt;

&lt;p&gt;Learn when the pattern stops working&lt;/p&gt;

&lt;p&gt;The same boundary movement does not automatically solve every contiguous-subarray problem. For example, reasoning that extending a window always increases its sum depends on the values being nonnegative. Negative numbers can break that reasoning.&lt;/p&gt;

&lt;p&gt;Finish your practice by testing an empty string, a string of identical characters, a string with all unique characters, and a repeat that occurs outside the current window. Then explain the algorithm without naming the pattern. If you can justify each boundary movement, you understand more than its label.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>coding</category>
      <category>computerscience</category>
      <category>interview</category>
    </item>
    <item>
      <title>The failure question is not a trap. It is an ownership test.</title>
      <dc:creator>henry</dc:creator>
      <pubDate>Mon, 28 Sep 2026 12:12:32 +0000</pubDate>
      <link>https://dev.to/henry123/the-failure-question-is-not-a-trap-it-is-an-ownership-test-1od4</link>
      <guid>https://dev.to/henry123/the-failure-question-is-not-a-trap-it-is-an-ownership-test-1od4</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F63oeyxxzcpkj6wn5m5aw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F63oeyxxzcpkj6wn5m5aw.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;used to answer this with a failure that was secretly someone else's fault. Interviewers hear that immediately. Here is the structure that works and the kind of story worth telling.&lt;/p&gt;

&lt;p&gt;Written after telling this story badly several times · Updated September 2026 · 6 min readThe answer that quietly cost me&lt;br&gt;
A failure that was, conveniently, somebody else's fault.&lt;/p&gt;

&lt;p&gt;My old answer went something like: the deadline was unrealistic, requirements changed twice, and the release slipped. All true. Also a description of a situation rather than a decision, and every interviewer could hear that I had not taken anything personally out of it.&lt;/p&gt;

&lt;p&gt;This question is not looking for a flaw. It is looking for evidence that you can hold a decision that went wrong.&lt;br&gt;
The three part structure&lt;br&gt;
Under ninety seconds.A worked example: "I ran a schema migration on a Friday without a dry run because we were behind. It locked the orders table and checkout was down for forty minutes. The deadline was real but skipping the dry run was my call. We added a dry run and a rollback plan to the migration checklist, and I have not run one without both since."How I practised saying it calmly&lt;br&gt;
Out loud, with pushback.&lt;/p&gt;

&lt;p&gt;Writing the story was easy. Saying it without either minimising or over apologising took repetition. I uploaded my resume to Phantom Code AI[/&lt;a href="http://www.phantomcodeai.com" rel="noopener noreferrer"&gt;www.phantomcodeai.com&lt;/a&gt;] and used its mock practice so the follow up questions referenced the actual project, which made the rehearsal feel like a conversation rather than a monologue. Then a friend ran it once and told me my voice went up at the end, as if asking permission.&lt;/p&gt;

&lt;p&gt;That was the real fix. The story was fine. The delivery was apologising for existing.&lt;/p&gt;

&lt;p&gt;Common questions&lt;br&gt;
Short answers.&lt;/p&gt;

&lt;p&gt;Which failure should I choose?&lt;br&gt;
Can it be non technical?&lt;br&gt;
What if nothing big has gone wrong?&lt;br&gt;
How long should the answer be?&lt;br&gt;
Own one decision and show the change&lt;br&gt;
Everyone has shipped something that broke. The candidates who do well are the ones who can name their part in it without flinching and point at what is different now.&lt;/p&gt;

&lt;p&gt;Write yours in three sentences tonight. Read it back and delete any sentence that shifts the blame.&lt;/p&gt;

&lt;p&gt;Written by someone who now dry runs everything&lt;/p&gt;

&lt;p&gt;What failure would you tell?&lt;/p&gt;

&lt;p&gt;The good ones usually still sting a little.&lt;br&gt;
Some third-party reviews of these tools are published by competing products, so verify prices on official sites before buying.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Some interviews now let you use AI. That's harder, not easier.</title>
      <dc:creator>henry</dc:creator>
      <pubDate>Thu, 24 Sep 2026 13:32:57 +0000</pubDate>
      <link>https://dev.to/henry123/some-interviews-now-let-you-use-ai-thats-harder-not-easier-5gnk</link>
      <guid>https://dev.to/henry123/some-interviews-now-let-you-use-ai-thats-harder-not-easier-5gnk</guid>
      <description>&lt;p&gt;A growing number of companies hand you the tools and watch how you use them. Same 45 minutes, completely different scoring, and a very obvious gap between people who direct a model and people who follow one.&lt;/p&gt;

&lt;p&gt;Written after two AI-permitted rounds · Updated September 2026 · 8 min read&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fox9k3icupyuk3byeblnt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fox9k3icupyuk3byeblnt.png" alt=" " width="782" height="302"&gt;&lt;/a&gt;&lt;br&gt;
AI tools: allowed in this round&lt;br&gt;
45:00&lt;/p&gt;

&lt;p&gt;!&lt;br&gt;
The short version: when AI is allowed, the code stops being the signal. What gets scored is whether you had a plan before you prompted, whether you reviewed what came back, and whether you can defend the result under questioning. Prompting fast and pasting fast is the fastest way to fail an open-tools round.&lt;/p&gt;

&lt;p&gt;This is about rounds where AI is explicitly permitted. When it isn't, using it is cheating, whatever a tool's marketing says.&lt;/p&gt;

&lt;p&gt;The round where my instincts were wrong&lt;br&gt;
I'd trained myself to hide the tools. Then they handed me one.&lt;/p&gt;

&lt;p&gt;Every piece of advice I'd absorbed said: close everything, prove it's all you. Then an interviewer said, "use whatever you'd use on a normal workday, just talk me through it." I froze for a second, which is a funny way to fail a round designed to be easier.&lt;/p&gt;

&lt;p&gt;What I learned over the next forty minutes is that open-tools rounds are not a relaxation of the standard. They move the standard somewhere harder to fake.&lt;/p&gt;

&lt;p&gt;When the code is free, the only thing left to evaluate is your judgement about it.&lt;br&gt;
What actually gets scored&lt;br&gt;
Four things, none of them typing.&lt;/p&gt;

&lt;p&gt;A plan before the prompt&lt;br&gt;
"Here's my approach; I'll use the tool for the boilerplate." Said out loud, before anything is generated.&lt;br&gt;
Review of what came back&lt;br&gt;
Reading the output critically, out loud, including what you'd change.&lt;br&gt;
Knowing when not to use it&lt;br&gt;
Writing the core logic yourself is a signal, not a weakness.&lt;br&gt;
Defending the result&lt;br&gt;
Every line is yours the moment you submit it.&lt;br&gt;
Two candidates, same tools&lt;br&gt;
The difference shows up in one question.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F943gabpiqn6ehqqt3uzf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F943gabpiqn6ehqqt3uzf.png" alt=" " width="652" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to practise for open-tools rounds&lt;br&gt;
Narrating is the skill.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsi87ki652h00e54zdks2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsi87ki652h00e54zdks2.png" alt=" " width="771" height="307"&gt;&lt;/a&gt;&lt;br&gt;
Practising this alone is awkward, because the natural way to use a tool at home is silently. So I made the narration the point. In my nightly sessions with Phantom Code AI I'd state my plan out loud first, then capture the problem and compare its approach and complexity against mine, saying what I'd keep and what I'd change. It covers coding, system design, SQL and behavioral rounds, so the same habit carried across the whole loop, including the closed-tools rounds where I practised without it entirely.&lt;/p&gt;

&lt;p&gt;What it can't do is play the interviewer who interrupts you at minute twelve to ask why. A friend did that once a week, and those sessions were where the narration actually became natural.&lt;/p&gt;

&lt;p&gt;The closed-tools rounds still exist&lt;br&gt;
And the rules there are absolute.&lt;/p&gt;

&lt;p&gt;Most interviews are still no-tools, and in those, hidden assistance is cheating regardless of how a product markets itself. Detection keeps improving on assessment platforms, and the follow-up question exposes borrowed answers faster than any software does. If the round is closed, close everything.&lt;/p&gt;

&lt;p&gt;Ask which kind of round it is. Ten seconds of clarification beats forty-five minutes of guessing.&lt;br&gt;
Common questions&lt;br&gt;
Short answers.&lt;/p&gt;

&lt;p&gt;Do companies allow AI now?&lt;br&gt;
What's scored when it's allowed?&lt;br&gt;
Should I use it if I'm faster alone?&lt;br&gt;
What if they don't say?&lt;br&gt;
The tools stopped being the secret&lt;br&gt;
For two years the anxious question was whether you could get away with using AI. The more interesting question now is whether you can be trusted with it, and that one you answer out loud.&lt;/p&gt;

&lt;p&gt;Next practice session, narrate the whole thing as if someone is listening. It's harder than it sounds and it's the entire skill.&lt;/p&gt;

&lt;p&gt;— Written after being told to use whatever I'd normally use&lt;/p&gt;

&lt;p&gt;Have you had an AI-permitted round yet?&lt;/p&gt;

&lt;p&gt;I want to know how common this is getting.&lt;br&gt;
Some third-party reviews of these tools are published by competing products, so verify prices on official sites before buying.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>career</category>
      <category>interview</category>
    </item>
    <item>
      <title>AI mock interviews vs human ones: I tried both. You need both.</title>
      <dc:creator>henry</dc:creator>
      <pubDate>Mon, 21 Sep 2026 13:39:04 +0000</pubDate>
      <link>https://dev.to/henry123/ai-mock-interviews-vs-human-ones-i-tried-both-you-need-both-3mm0</link>
      <guid>https://dev.to/henry123/ai-mock-interviews-vs-human-ones-i-tried-both-you-need-both-3mm0</guid>
      <description>&lt;p&gt;An AI never gets tired of your fifth attempt at the same problem. A human notices when you stop making eye contact. Here's what each is actually good for, and the weekly mix that worked.&lt;/p&gt;

&lt;p&gt;Written after 40+ practice sessions of both kinds · Updated September 2026 · 8 min read&lt;/p&gt;

&lt;p&gt;WHO SHOULD INTERVIEW YOU TONIGHT?&lt;br&gt;
🤖&lt;/p&gt;

&lt;p&gt;Short answer: use AI for volume and humans for realism. An AI mock interview tool like Phantom Code AI (free plan, from $19 a month) is unbeatable for nightly repetition across coding, system design, SQL and behavioral rounds. A human mock, from a peer or a paid coach, catches what AI can't: nerves, pacing, body language and the awkward silence. My mix: five AI sessions and one human session a week.&lt;/p&gt;

&lt;p&gt;Prices and features checked September 2026 and may change. Always verify on official websites before buying.&lt;/p&gt;

&lt;p&gt;Forty mocks, two very different teachers&lt;br&gt;
Neither one alone was enough.&lt;/p&gt;

&lt;p&gt;For the first month of my job search I only practised with an AI tool. My solutions got cleaner, my complexity explanations got sharper, and then my first real interviewer interrupted me mid-sentence and I lost the thread completely. The AI never interrupted.&lt;/p&gt;

&lt;p&gt;For the second month I added human mocks, and discovered the opposite problem: people are brilliant at pressure and terrible at availability. My peer partner cancelled twice in a week.&lt;/p&gt;

&lt;p&gt;!&lt;br&gt;
AI taught me what to say. Humans taught me how to say it with someone watching.&lt;br&gt;
What each one is actually good at&lt;br&gt;
An honest split.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fknvlzo400k5wf7bogo6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fknvlzo400k5wf7bogo6h.png" alt=" " width="717" height="317"&gt;&lt;/a&gt;&lt;br&gt;
Not clearly listed&lt;br&gt;
My experience across roughly forty sessions. "Limited" means it depends heavily on the person or tool.&lt;br&gt;
The pattern is clean. AI wins everything to do with volume and explanation. Humans win everything to do with being watched. Nothing in the chart is a close call.&lt;/p&gt;

&lt;p&gt;widely and are often $100 or more per session; peer platforms are often free. AI assumes one month of a paid plan or a free plan.&lt;br&gt;
Ten coaching sessions can cost more than a year of an AI tool. That does not make coaching bad; a great coach can c&lt;br&gt;
Common questions&lt;br&gt;
Quick answers.&lt;/p&gt;

&lt;p&gt;Are AI mocks as good as human ones?&lt;br&gt;
How much does a human coach cost?&lt;br&gt;
How often should I do mocks?&lt;br&gt;
Which AI mock tool should I use?&lt;br&gt;
Don't pick a side. Build a rhythm.&lt;br&gt;
The question isn't AI or human. It's what each one is for. Let AI carry the hundreds of repetitions nobody else has patience for, and save human time for the one thing it's uniquely good at: making you feel watched.&lt;/p&gt;

&lt;p&gt;Five nights with AI, one with a person. That rhythm got me further in four weeks than three months of either alone.&lt;/p&gt;

&lt;p&gt;Start AI practice tonight on a free plan&lt;br&gt;
Book one human mock for this weekend&lt;br&gt;
Ask the human to interrupt you on purpose&lt;br&gt;
Fix their notes with AI on Sunday&lt;br&gt;
— Someone who finally learned to talk slower&lt;/p&gt;

&lt;p&gt;Have you ever done a mock with a stranger?&lt;/p&gt;

&lt;p&gt;How did it compare to practising alone?&lt;br&gt;
Some third-party reviews of these tools are published by competing products, so verify prices on official sites before buying.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
