There was this case, back in 2015, of the guy who created Homebrew, that package manager basically every dev with a Mac has installed at some point. He went to interview at Google and got rejected. The reason was he couldn't invert a binary tree on the whiteboard, live, with the interviewer watching. Sounds like a joke but it isn't. The guy had built a tool used by millions of programmers, including people working inside Google itself, and still froze in that specific moment, in that specific format. That story got famous, turned into a meme, became one of those recurring "do technical interviews even make sense" debates. But what it really shows, in practice, is a mistake that keeps happening on both sides of the table to this day: treating a technical interview like a memorization test, when it's actually much closer to a simulation of how you think. Most people who prepare do basically this: open some coding practice site, grind through a pile of problems, memorize solution patterns, and walk into the interview hoping something similar shows up. Sometimes it works. But the moment the interviewer changes a variable, adds a new constraint, or just asks "why did you do it this way instead of another way", the person freezes. Because they never actually understood the problem, they just memorized the answer to a similar one. It's kind of like studying for a test by memorizing the answer key from an old practice exam. Works fine until the question comes back slightly different from what you trained on. What separates people who pass from people who don't, at least from what I've seen watching this kind of process, isn't how many exercises someone solved. It's the ability to think out loud, test an idea, notice it's wrong, correct course, and keep going without completely shutting down. A good interviewer isn't there just to see if you get it right on the first try. They want to see how you behave when you don't know the answer yet. Before opening any practice site, it's worth stopping for a minute and thinking about what's actually being evaluated. Every technical interview measures, in different proportions, three things: how you solve problems, how you communicate, and how well you know the specific technical stack for the role. Most people put ninety percent of their energy into the third one and forget the other two usually weigh more in the final decision. Communication in a technical interview means narrating your thinking while you solve. It's not decoration, it's part of what's being scored. Some people solve the problem silently, deliver the right answer, and still get rated worse than someone who takes a wrong turn along the way but keeps explaining each decision, questioning their own logic, until they land on something that works. Solving a problem at home alone, with no rush, is a completely different experience from solving it with someone watching every keystroke on the other side of a screen. Nervousness changes how your brain works, that's just how it is. Which is why training entirely alone has a ceiling. One thing that actually helps is recording your own screen while solving an exercise and narrating out loud, like you're explaining it to someone else. Feels a bit silly doing that alone in your room, but it quickly exposes where your reasoning stalls once there's an audience, even an imagined one. Practicing with another person, whether a colleague or a mock interview platform, works even better, because it introduces the hardest part to replicate solo: someone interrupting your thinking mid-stream with a question. Every company runs technical interviews differently, and ignoring that works against you. Big companies with standardized processes tend to lean on classic data structures and algorithms, because the goal there is filtering at scale, with hundreds of candidates going through the same funnel. Smaller startups usually value practical interviews more, like pair programming on a real problem or reviewing a project the candidate already built. Researching how a company's process actually works before studying avoids that classic mistake of spending a week drilling binary trees for an interview that, in practice, is going to put you in front of a real API with a real bug to debug. Glassdoor helps, LinkedIn helps, and just asking the recruiter directly what the technical interview format looks like is something almost nobody does, for some reason. You're going to freeze up. Everyone freezes at some point, even people who end up passing. The difference is what you do after freezing, not never freezing at all. Saying out loud that you're stuck usually works better than pretending everything's under control. A simple line like "let me think out loud here, I'm not seeing the path yet" already shows maturity and keeps the interviewer engaged with your process, instead of sitting through three minutes of awkward silence. Another thing that helps is going back to basics when stuck. Reread the prompt, write out a concrete example by hand, test an edge case. A lot of people freeze precisely because they try to jump straight to the optimal solution without first understanding the problem properly. And asking for a hint mid interview isn't failure, even though it feels that way. An interviewer giving you a nudge isn't failing you right there, they're checking whether you can absorb new information into your reasoning, which is basically what happens every day in a real job. There's one detail almost nobody trains for, which is the ending, when the interviewer asks if you have any questions. Most people use that moment just to ask about benefits or company culture, when it's actually a solid chance to show genuine technical interest. Asking about the stack, how the team handles technical debt, how deploys work, what broke on the last big project, all of that signals you're already thinking like someone who works there, not like someone trying to get in. The Homebrew guy never ended up working at Google. And Homebrew kept getting used anyway, including by people there. A technical interview measures a pretty narrow slice of skill, inside an artificial context, under artificial pressure. That doesn't invalidate the whole process, but it helps put it in the right size: it's a step to get through, not a verdict on your worth as a developer.


Rejected by Google because he froze on a binary tree at the whiteboard. Meanwhile his tool runs on the machine of most devs who passed that same interview. This isn't about luck, it's about how badly we still measure technical skill. Wrote about what actually separates who passes from who freezes in a technical interview, and it has nothing to do with how many LeetCode problems you solved.