<?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: subbu uppalapati</title>
    <description>The latest articles on DEV Community by subbu uppalapati (@subbu_uppalapati_727d6e7a).</description>
    <link>https://dev.to/subbu_uppalapati_727d6e7a</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3877707%2Fb664c674-cb84-4f7a-b0b3-6c99db9e12a1.jpg</url>
      <title>DEV Community: subbu uppalapati</title>
      <link>https://dev.to/subbu_uppalapati_727d6e7a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/subbu_uppalapati_727d6e7a"/>
    <language>en</language>
    <item>
      <title>The 8-Week Technical Interview Prep System That Actually Works (for Busy Engineers)</title>
      <dc:creator>subbu uppalapati</dc:creator>
      <pubDate>Tue, 05 May 2026 19:24:46 +0000</pubDate>
      <link>https://dev.to/subbu_uppalapati_727d6e7a/the-8-week-technical-interview-prep-system-that-actually-works-for-busy-engineers-apj</link>
      <guid>https://dev.to/subbu_uppalapati_727d6e7a/the-8-week-technical-interview-prep-system-that-actually-works-for-busy-engineers-apj</guid>
      <description>&lt;p&gt;Most technical interview prep fails for one reason: people optimize for volume, not system.&lt;/p&gt;

&lt;p&gt;You can solve 200 problems and still underperform in interviews if you don’t train timing, communication, and feedback loops.&lt;/p&gt;

&lt;p&gt;This is the 8-week framework I use for engineers who are preparing while working full-time.&lt;/p&gt;

&lt;p&gt;Who this is for&lt;br&gt;
Software engineers with limited prep time (60–90 mins on weekdays)&lt;br&gt;
Candidates targeting backend/full-stack/senior roles&lt;br&gt;
Anyone who wants structure instead of random grinding&lt;br&gt;
Why typical prep breaks down&lt;br&gt;
Common patterns:&lt;/p&gt;

&lt;p&gt;Doing random problems with no sequencing&lt;br&gt;
Ignoring system design until too late&lt;br&gt;
Practicing coding, but not explaining decisions clearly&lt;br&gt;
Treating behavioral prep as last-minute “story writing”&lt;br&gt;
Interview success is multi-dimensional. You need:&lt;/p&gt;

&lt;p&gt;Problem-solving accuracy&lt;br&gt;
Time management&lt;br&gt;
Communication quality&lt;br&gt;
System design tradeoff clarity&lt;br&gt;
Behavioral story depth&lt;br&gt;
The 8-week framework&lt;br&gt;
Weeks 1–2: Baseline + gap map&lt;br&gt;
Goal: establish where you are and what to prioritize.&lt;/p&gt;

&lt;p&gt;Take 2 timed coding mocks&lt;br&gt;
Do 1 system design mock (record yourself if possible)&lt;br&gt;
List your top 10 behavioral stories (conflict, impact, ownership, failure, leadership)&lt;br&gt;
Build a gap map:&lt;br&gt;
Coding: patterns you miss repeatedly&lt;br&gt;
Design: weak areas (estimation, APIs, tradeoffs, scale)&lt;br&gt;
Behavioral: unclear or low-signal stories&lt;br&gt;
Output: your prep backlog, ranked by expected interview impact.&lt;/p&gt;

&lt;p&gt;Weeks 3–5: Core build&lt;br&gt;
Goal: build consistency and pattern fluency.&lt;/p&gt;

&lt;p&gt;Weekly structure:&lt;/p&gt;

&lt;p&gt;3 coding sessions (timed + postmortem)&lt;br&gt;
1 system design session (whiteboard/doc + tradeoff discussion)&lt;br&gt;
1 behavioral session (story rehearsal with STAR clarity)&lt;br&gt;
1 review block (fix repeated mistakes)&lt;br&gt;
Coding focus:&lt;/p&gt;

&lt;p&gt;Don’t just solve — explain choices out loud&lt;br&gt;
Track failure reasons (not just wrong/right)&lt;br&gt;
Re-solve misses after 72 hours&lt;br&gt;
System design focus:&lt;/p&gt;

&lt;p&gt;Start from requirements and constraints&lt;br&gt;
Practice explaining why you chose architecture X over Y&lt;br&gt;
Explicitly cover bottlenecks, failure modes, and scaling path&lt;br&gt;
Behavioral focus:&lt;/p&gt;

&lt;p&gt;One story should map to multiple question variants&lt;br&gt;
Add concrete metrics and decision points&lt;br&gt;
Keep answers crisp and structured&lt;br&gt;
Weeks 6–7: Simulation phase&lt;br&gt;
Goal: convert preparation into interview performance.&lt;/p&gt;

&lt;p&gt;Run 2–3 full mock loops (coding + design + behavioral)&lt;br&gt;
Use real timing and no interruptions&lt;br&gt;
Score each round with a rubric&lt;br&gt;
Patch the top 3 recurring weaknesses only&lt;br&gt;
At this stage, avoid collecting new resources. Execution &amp;gt; novelty.&lt;/p&gt;

&lt;p&gt;Week 8: Final polish&lt;br&gt;
Goal: consistency under pressure.&lt;/p&gt;

&lt;p&gt;Company-specific prep (question style, role expectations, domain)&lt;br&gt;
Light reps, not burnout&lt;br&gt;
Sleep and recovery discipline&lt;br&gt;
Day-before checklist:&lt;br&gt;
communication warm-up&lt;br&gt;
key design templates&lt;br&gt;
behavioral story anchors&lt;br&gt;
logistics sanity check&lt;br&gt;
Weekly schedule (for full-time engineers)&lt;br&gt;
A realistic template:&lt;/p&gt;

&lt;p&gt;Mon: Coding (75 min)&lt;br&gt;
Tue: System design (75 min)&lt;br&gt;
Wed: Coding (75 min)&lt;br&gt;
Thu: Behavioral + communication (60 min)&lt;br&gt;
Fri: Coding timed mock (75 min)&lt;br&gt;
Sat: Mock interview + review (2–3 hrs)&lt;br&gt;
Sun: Rest or light review (45 min)&lt;br&gt;
Consistency beats intensity.&lt;/p&gt;

&lt;p&gt;Readiness scorecard (simple but effective)&lt;br&gt;
Track weekly (1–5 scale):&lt;/p&gt;

&lt;p&gt;Coding accuracy under time&lt;br&gt;
Ability to explain approach before coding&lt;br&gt;
System design structure and tradeoff depth&lt;br&gt;
Behavioral story clarity and specificity&lt;br&gt;
Recovery speed after mistakes&lt;br&gt;
If a metric is flat for 2+ weeks, change method — not effort.&lt;/p&gt;

&lt;p&gt;Common failure modes (and fixes)&lt;br&gt;
“I practice a lot but still freeze in interviews.”&lt;br&gt;
-&amp;gt; Add verbal walkthrough practice and timed mocks.&lt;/p&gt;

&lt;p&gt;“I’m good at coding but weak in design rounds.”&lt;br&gt;
-&amp;gt; Do weekly architecture drills with explicit tradeoff narration.&lt;/p&gt;

&lt;p&gt;“Behavioral feels vague and repetitive.”&lt;br&gt;
-&amp;gt; Build a story bank with measurable outcomes and decision tension.&lt;/p&gt;

&lt;p&gt;“I’m burning out.”&lt;br&gt;
-&amp;gt; Reduce volume, keep cadence, protect sleep.&lt;/p&gt;

&lt;p&gt;Final thought&lt;br&gt;
Interview prep is not a motivation problem.&lt;br&gt;
It’s a systems problem.&lt;/p&gt;

&lt;p&gt;If you run a structured 8-week loop with clear feedback, your confidence and outcomes improve dramatically.&lt;/p&gt;

&lt;p&gt;If helpful, I can share a free one-page version of this framework with a weekly checklist.&lt;/p&gt;

</description>
      <category>career</category>
      <category>softwareengineering</category>
      <category>interview</category>
      <category>productivity</category>
    </item>
    <item>
      <title>What Amazon, Google, and Meta actually test in coding interviews (with specific problems)</title>
      <dc:creator>subbu uppalapati</dc:creator>
      <pubDate>Tue, 14 Apr 2026 13:57:09 +0000</pubDate>
      <link>https://dev.to/subbu_uppalapati_727d6e7a/what-amazon-google-and-meta-actually-test-in-coding-interviews-with-specific-problems-2o6j</link>
      <guid>https://dev.to/subbu_uppalapati_727d6e7a/what-amazon-google-and-meta-actually-test-in-coding-interviews-with-specific-problems-2o6j</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Meta: Two stages, two completely different problems&lt;/li&gt;
&lt;li&gt;Google: The problem that reveals who actually prepares&lt;/li&gt;
&lt;li&gt;Amazon: The company where coding is table stakes&lt;/li&gt;
&lt;li&gt;The pattern across all three&lt;/li&gt;
&lt;li&gt;What to prioritize per company&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;Most interview prep advice is generic. "Know your trees." "Practice dynamic programming." "Be comfortable with graphs." It's not wrong — it's just not enough.&lt;/p&gt;

&lt;p&gt;After building company-specific interview prep paths from confirmed candidate reports going back to 2022, here's what the data actually shows about how Amazon, Google, and Meta interview — and specifically where most candidates go wrong.&lt;/p&gt;




&lt;h2&gt;
  
  
  Meta: Two stages, two completely different problems
&lt;/h2&gt;

&lt;p&gt;Meta's process has a phone screen and an on-site. The problems that dominate each stage are different, and conflating them is a common prep mistake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phone screen staples:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LC 680 — Valid Palindrome II (near-certainty)&lt;/li&gt;
&lt;li&gt;LC 408 — Valid Word Abbreviation (common warm-up, finish under 10 min)&lt;/li&gt;
&lt;li&gt;LC 88 — Merge Sorted Array (expects O(1) space reverse-merge immediately)&lt;/li&gt;
&lt;li&gt;LC 3 — Longest Substring Without Repeating Characters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The phone screen pattern: sliding window and two-pointer problems where you're expected to jump to the O(n) solution within 3 minutes of reading the problem. Spending more than 2 minutes on brute force is a signal Meta interviewers watch for explicitly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On-site: the #1 most-reported Meta problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LC 1249 — Minimum Remove to Make Valid Parentheses. Appears in 95%+ of reported Meta on-sites.&lt;/p&gt;

&lt;p&gt;The trap is pushing characters instead of indices:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;minRemoveToMakeValid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;       &lt;span class="c1"&gt;# stores indices of unmatched '('
&lt;/span&gt;    &lt;span class="n"&gt;to_remove&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;)&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;          &lt;span class="c1"&gt;# matched pair
&lt;/span&gt;            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;to_remove&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;     &lt;span class="c1"&gt;# unmatched ')'
&lt;/span&gt;
    &lt;span class="n"&gt;to_remove&lt;/span&gt; &lt;span class="o"&gt;|=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;          &lt;span class="c1"&gt;# remaining stack = unmatched '('
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;''&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;to_remove&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The junior vs senior answer at Meta:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A junior pushes characters and tries to rebuild the string on the fly.&lt;/p&gt;

&lt;p&gt;A senior says: "I push the &lt;em&gt;index&lt;/em&gt; of every open paren. On a close paren, if the stack is non-empty I pop — matched. If empty, I mark that close paren's index for removal. After the pass, everything still on the stack is an unmatched open paren — mark those too. One reconstruction pass."&lt;/p&gt;

&lt;p&gt;The follow-up Meta always asks: "What if you need to handle square brackets too?" Answer: extend the stack to track pairs — push both the index and the bracket type.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Jedi round&lt;/strong&gt; (behavioral) is one round, culture-fit-heavy. Pick disagreements with real technical dimension — architecture, reliability, API design. Technical depth in behavioral answers impresses Meta interviewers even in that round.&lt;/p&gt;




&lt;h2&gt;
  
  
  Google: The problem that reveals who actually prepares
&lt;/h2&gt;

&lt;p&gt;Google's reputation for broad scope is real — arrays, binary search, trees, graphs, DP, heaps, backtracking, data-structure design, and Google-specific problem types. But there is one problem that shows up as a diagnostic filter more than any other:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LC 238 — Product of Array Except Self&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google asks this &lt;em&gt;specifically because division is prohibited&lt;/em&gt;. The question is whether you'll independently derive the prefix/suffix product trick or whether you'll ask "can I use division?" and get stuck.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;productExceptSelf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;

    &lt;span class="n"&gt;prefix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;output&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prefix&lt;/span&gt;
        &lt;span class="n"&gt;prefix&lt;/span&gt; &lt;span class="o"&gt;*=&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;suffix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;output&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*=&lt;/span&gt; &lt;span class="n"&gt;suffix&lt;/span&gt;
        &lt;span class="n"&gt;suffix&lt;/span&gt; &lt;span class="o"&gt;*=&lt;/span&gt; &lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;output&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The junior vs senior answer at Google:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A junior asks "Can I use division?" and gets stuck when told no.&lt;/p&gt;

&lt;p&gt;A senior says: "Division is forbidden and breaks on zeros anyway. Two passes — left prefix products into the output array, then multiply in a right suffix product in-place with a single variable. O(n) time, O(1) extra space, zeros propagate naturally with no special cases."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The complexity proof standard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google cares more about this than Meta or Amazon. Saying "O(n log n)" is weaker than:&lt;/p&gt;

&lt;p&gt;"The sort dominates at O(n log n). The merge pass is a single O(n) scan. Total: O(n log n) time, O(n) output space."&lt;/p&gt;

&lt;p&gt;Handwaving complexity is a yellow flag at Google even when the solution is correct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top K Frequent Elements (LC 347)&lt;/strong&gt; is another Google-specific diagnostic. They want both the heap solution (O(n log k)) and the bucket sort solution (O(n)) — and an explanation of &lt;em&gt;why&lt;/em&gt; bucket sort is valid here (frequencies are bounded by n, which makes the index trick possible). The transition between the two is where they assess depth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Googleyness&lt;/strong&gt; is a structured rubric in the final behavioral round — intellectual curiosity, collaborative problem-solving style, comfort with ambiguity. It's a full interview section, not an afterthought.&lt;/p&gt;




&lt;h2&gt;
  
  
  Amazon: The company where coding is table stakes
&lt;/h2&gt;

&lt;p&gt;Amazon's loop includes a bar-raiser round dedicated entirely to Leadership Principles. But more importantly: every interviewer in the loop asks LP questions, not just the bar-raiser.&lt;/p&gt;

&lt;p&gt;There are 16 LPs. The most tested at senior levels:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deliver Results&lt;/strong&gt; — "How did you measure success? What were the metrics?" Have your numbers ready: latency reduction, defect rate, revenue impact, customer satisfaction score.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Have Backbone; Disagree and Commit&lt;/strong&gt; — The drill-down: "Did you fight for your position? Then what happened? Did you fully commit after the decision was made?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer Obsession&lt;/strong&gt; — "Tell me about a time when doing right by the customer conflicted with a technical constraint." They want the tension, not the easy version of the story.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rule: have 2+ STAR stories per LP. Amazon interviewers are trained to ask for a second example if the first is weak.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For coding&lt;/strong&gt;, Amazon patterns skew toward well-known mediums where clarity and communication matter as much as optimization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LC 128 — Longest Consecutive Sequence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The O(n) HashSet approach is required. The key insight: only numbers with no left neighbor (num - 1 not in the set) should trigger a count — otherwise you recount the same sequence multiple times and degrade to O(n²).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;longestConsecutive&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;num_set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nums&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;longest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;num_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;num_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;    &lt;span class="c1"&gt;# only start from sequence beginning
&lt;/span&gt;            &lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;num_set&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
            &lt;span class="n"&gt;longest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;longest&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;longest&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Amazon interviewers specifically appreciate when you articulate &lt;em&gt;why&lt;/em&gt; the O(n log n) sort approach misses the stated O(n) constraint — it signals you read requirements carefully.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LC 139 — Word Break&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The insight worth knowing: Word Break is structurally identical to Coin Change. Both are "try each option from each position" tabulation problems. If you understand the Coin Change recurrence, Word Break follows immediately — same DP shape, different domain.&lt;/p&gt;




&lt;h2&gt;
  
  
  The pattern across all three
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pattern&lt;/th&gt;
&lt;th&gt;Amazon&lt;/th&gt;
&lt;th&gt;Google&lt;/th&gt;
&lt;th&gt;Meta&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hash map / complement lookup&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prefix sums&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sliding window&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stack with index tracking&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Trees (BFS / DFS / LCA)&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Graphs&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DP (1D tabulation)&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;System design&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;td&gt;✓✓&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you're doing multi-company prep, master hash maps, prefix sums, sliding window, stack with index tracking, and BFS/DFS on trees first. That's the overlap that pays off across all three.&lt;/p&gt;




&lt;h2&gt;
  
  
  What to prioritize per company
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Meta:&lt;/strong&gt; Narrow to the 30–40 problems that appear most in confirmed reports. Get the sliding window template automatic before your phone screen. Know Valid Parentheses → Minimum Remove → Basic Calculator I → II → III as a progression — each builds directly on the last.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google:&lt;/strong&gt; Go wide but practice explaining your reasoning out loud the entire time. Google's diagnostic isn't whether you solved it — it's how you reason through it. Prove complexity claims step by step, not just state them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amazon:&lt;/strong&gt; LP prep deserves as much time as coding prep. Build 8–10 strong career stories. Map each story to multiple LPs it could cover. Know your metrics cold — every LP story needs a quantified result.&lt;/p&gt;




&lt;p&gt;I've been building these prep paths at &lt;a href="https://streamprep.dev" rel="noopener noreferrer"&gt;streamprep.dev&lt;/a&gt; — company-specific tracks built from confirmed interview reports, each problem with a guided discovery flow and the "what the interviewer is actually testing" framing shown above. Free during beta.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://streamprep.dev" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Explore company-specific interview paths on StreamPrep (Free during beta)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Curious what patterns people are seeing that aren't covered here — drop a comment.&lt;/p&gt;

</description>
      <category>career</category>
      <category>algorithms</category>
      <category>interview</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
