Lyft Software Engineer Interview Experience Aug 2026

Sharing a Lyft Software Engineer Interview Experience submitted to Chill Interview.

Interview Summary

The Lyft process started with a practical coding screen built around an existing paginated API, followed by an onsite covering coding, system design, and a hiring-manager conversation. The coding questions emphasized understanding an unfamiliar codebase, maintaining state across calls, and correctly handling scheduling rules rather than solving highly abstract algorithm problems.

The system design round asked for a distributed web crawler targeting Wikipedia-scale content. That was the most difficult part of the loop for me, mainly because I was less familiar with crawler architecture and did not organize the discussion as clearly as I wanted.

Interview Details

Technical Phone Screen — Stateful Fetching over a Paginated API The interviewer provided a relatively large amount of existing code and asked me to implement one additional method inside it. An upstream function had behavior conceptually similar to: fetch(page). Each call returned the items from one page together with a reference to the next page. The new method, fetch_n, needed to return up to n items across page boundaries.

One important requirement was that repeated calls were stateful. If a previous call fetched more items from the upstream API than it ultimately returned, the unused portion needed to remain available so that the next fetch_n call could continue from exactly where the previous one stopped.

The interview focused heavily on understanding the existing interfaces, clarifying input/output behavior, and handling boundary conditions correctly.

  • Follow-Up — Unreliable Upstream Fetches The interviewer then asked how the design should change if the upstream fetch operation were unreliable. The discussion moved toward how fetch_n should behave when page retrieval occasionally fails or produces transient errors, while still preserving the correct continuation state.

Onsite Coding — Assign Scheduled Jobs to Workers The onsite coding round provided a set of tasks. Each task contained:

  • A start time represented using a 24-hour clock
  • A duration in minutes

The goal was to assign all tasks using the minimum number of workers. Each worker could execute only one task at a time but could process multiple non-overlapping tasks sequentially. There was also a deterministic assignment rule: when multiple workers were available for a task, the worker with the smallest worker index had to be selected. The final output needed to show which worker was assigned to each task, reported according to the tasks' original indices.

System Design — Distributed Wikipedia Web Crawler The system design round asked me to design a distributed web crawler, using Wikipedia as the target content source. The discussion centered on how a crawler should discover, schedule, and process a very large number of pages across multiple machines. The exact scale assumptions and follow-up questions were not fully captured in my notes. This was the round where I struggled the most because I had less prior experience with large-scale crawling systems and felt that my explanation became less structured as the discussion progressed.

Hiring Manager — Behavioral Discussion The hiring-manager round consisted of fairly standard behavioral questions. TThe conversation covered typical experience-based topics around previous projects, collaboration, decision-making, and work situations.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 16 hours ago

OpenAI Senior Software Engineer Interview Experience - only 4 rounds, none of them was easy

Sharing an OpenAI Senior Software Engineer Interview Experience submitted to Chill Interview.

Interview Summary

The OpenAI onsite consisted of four rounds: coding, system design, behavioral, and a technical presentation. The coding round focused on implementing a production-style work queue with reservations, failures, timeouts, retries, and a dead-letter queue, while the system design round used a crossword-puzzle scenario and went particularly deep on preventing duplicate work.

The presentation round went well, but I struggled more with system design. One takeaway from that round was to clarify the requirements carefully before committing to an architecture, especially when the interviewer intends to explore correctness and duplicate-processing behavior in depth.

Interview Details

Coding — Work Queue with Retries and Dead-Letter Queue The coding round asked me to implement a work queue and the main operations required to manage jobs through their lifecycle. The queue needed to support operations including:

  • reserve — claim work for processing
  • complete — mark successfully processed work as finished
  • fail — report an unsuccessful processing attempt

The interviewer then extended the basic queue with production-oriented behavior.

  • Timeouts and Retries: Reserved work could time out if processing did not complete within the expected window, and failed or expired work needed to support retry behavior.
  • Dead-Letter Queue: Work that could no longer be successfully processed after the allowed retry behavior needed to be moved into a DLQ rather than continuously recycled through the main queue.

The round was therefore as much about state transitions and failure handling as about the core queue data structure.

System Design — Crossword Puzzle System The system design round used a crossword puzzle as the product scenario. The prompt was fairly open-ended, and the interviewer expected the candidate to clarify the product requirements before moving into architecture.

A major portion of the follow-up discussion focused on avoiding duplicate work—ensuring that concurrent or repeated processing did not unnecessarily perform the same unit of work multiple times. The exact crossword functionality, APIs, scale assumptions, and additional requirements were not specified in the interview notes, so I would avoid reconstructing those details.

This was the round where I felt my performance was weakest.

Behavioral — Leadership-Principle-Style Questions The behavioral round followed a format similar to Amazon-style Leadership Principle interviews. I was asked several experience-based questions covering different workplace and leadership themes, along with:

  • Why OpenAI? The exact behavioral prompts were not included in the interview notes.

Presentation — Eight-Slide Project Deep Dive The final round was a presentation. I presented a previous project or technical experience to the interviewers. This round felt strong overall, and the discussion following the presentation went well.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 18 hours ago

LinkedIn Staff Software Engineer Interview Experience - was downleveled from Sr.Staff

Interview Summary

The eventual loop contained a behavioral/domain round, AI-assisted coding, system design, and regular coding. The biggest challenge was domain alignment: several interviews went deeply into CI/CD and package-management topics, while my previous experience was in a different area.

Interview Details

Round 1 — Behavioral + CI/CD Domain Knowledge The first interviewer was a manager. The conversation initially focused on my previous scope and behavioral examples. An unusual part of the discussion was leveling. The interviewer felt some of the examples I gave demonstrated broader scope than the Staff opening, but also explained that the Senior Staff version of the role required stronger domain expertise in the team's specific area. The interview then shifted from behavioral questions into technical domain knowledge.

  • CI/CD and Developer Experience: I was asked several questions about continuous integration, continuous delivery, package management, and related developer-infrastructure concepts.
  • Domain Fit: Some questions overlapped with systems I had worked on previously, while others were much more specific to the team's CI/CD domain and were harder for me to answer confidently.

Round 2 — AI-Assisted Coding: Graph Navigation Scenario The AI coding round used a long scenario involving multiple locations connected by routes, with some locations containing supplies. The first part asked me to determine the distance from a designated landing location to an appropriate nearby supply location. The underlying structure was a graph-navigation problem, although the business framing made the prompt relatively lengthy. The problem then added a second, more difficult part.

  • Changing Structure: The follow-up required reasoning about a transformed version of the graph with additional structural constraints. The exact second-part requirements are no longer clear enough for me to reproduce precisely.
  • AI Usage: I initially used the AI assistant to help reason about the algorithm and generate code, with my role focused on reviewing and evaluating the result. During the second part, however, the interviewer asked me to reason about the algorithm without AI. I struggled to reach a complete solution before eventually returning to the AI tool.

Round 3 — System Design: CI Job Scheduler The system design interview asked me to design a job scheduler for a continuous-integration system. The core scheduling portion felt reasonably comfortable, but the interviewer added several CI-specific follow-ups that required deeper domain knowledge.

  • Build Output: One question asked how stdout or other live build output from running CI jobs should be surfaced to users in the UI.
  • Repository Integration: We also discussed how source-control changes should trigger CI work, including different integration models between a Git hosting provider and the CI platform. This became a fairly detailed discussion about push-triggered events versus CI-side polling or pull-based discovery. The CI-specific parts of this round were more difficult for me than the generic scheduler design.

Round 4 — Coding: Navigate an Unexplored Grid with a Robot The final coding round involved controlling a robot inside a matrix whose layout was initially unknown. The robot exposed APIs that allowed the program to:

  • Rotate
  • Move forward
  • Detect whether movement was blocked by a wall
  • Reposition the robot to locations that had already been explored

The task was to discover enough of the unknown environment to find a path from the robot's starting position to a target location. Unlike a normal grid problem, the full map was not directly available as input. The program had to interact with the robot to discover neighboring locations and determine which areas were traversable.

This was the round I felt strongest about. I was able to make steady progress through the exploration and pathfinding requirements and felt the technical discussion went well.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 21 hours ago

Google L7 Senior Engineering Manager System Design Interview May 2026

>Sharing a Google L7 Senior EM System Design Interview Experience submitted to Chill Interview.

Interview Summary

The prompt asked me to design the storage and ingestion system behind a Street View-style product where taxis continuously capture and upload images, which are then consumed by downstream systems for image understanding, user-facing display, and map generation.

The interview was highly open-ended. The interviewer provided very little structure and mostly listened while I drove the discussion, occasionally interrupting to challenge specific design choices and tradeoffs. I received strong feedback and passed the round.

Interview Details

System Design — Street View Image Upload and Storage Assume a fleet of taxis is equipped with cameras that continuously capture street-level imagery. The images need to be uploaded into Google's backend and stored for several downstream use cases.

Those consumers may include:

  • Image-understanding and computer-vision pipelines
  • Street View-style user experiences
  • Systems that use the imagery to help construct or update map data

The interview expected me to drive the design from requirements through architecture rather than wait for a prescribed sequence of questions. The interviewer expected a thorough requirements discussion before moving into components. The conversation covered the scale of the taxi fleet and image traffic, reliability expectations, latency requirements, and the needs of downstream consumers. After presenting a high-level architecture, the interviewer repeatedly asked why particular components or storage choices were appropriate and what tradeoffs they introduced compared with alternatives.

A significant portion of the discussion focused on how the uploaded images should be persisted and exposed to downstream processing systems. The interviewer also asked an open-ended question:

  • Authentication and Security: One set of follow-ups focused on securing uploads from taxis. The interviewer asked how authentication should work and how the system should protect image-upload APIs from unauthorized access. A further scenario asked what should happen if an authentication token were compromised.
  • Upload Reliability and Poor Networks Another part of the discussion focused on the upload protocol itself. The interviewer asked how the upload API should acknowledge requests and what behavior should be expected when a taxi has an unreliable or intermittent network connection. This pushed the design toward reasoning about partial uploads, uncertain request outcomes, and reliable ingestion from clients that may frequently lose connectivity.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 1 day ago

Meta Senior Data Scientist Onsite Interview Experience May 2026

A candidate shared a Meta Senior Data Scientist Onsite Interview Experience to Chill Interview

Interview Summary

The Meta Data Scientist onsite covered Analytical Reasoning, Analytical Execution, SQL, and a newly introduced behavioral format. The analytical rounds were product-heavy: one focused on an ads-ranking algorithm and its longer-term business impact, while another used a new scheduled-post feature to combine statistical reasoning with product-success measurement.

The behavioral round had also recently changed. Instead of preparing many independent STAR stories, I was asked to choose one project for a deeper discussion, with the interviewer asking follow-ups throughout the walkthrough.

Interview Details

Analytical Reasoning — Ads Ranking Algorithm The Analytical Reasoning round used an ads-ranking algorithm as the main scenario. The discussion focused on how to evaluate whether an updated ranking system was actually better. In addition to the more standard product and experiment considerations, the interviewer introduced several follow-ups that I had not seen in previous interview reports.

One memorable question was: Medium-Term Revenue Impact: How would you estimate the effect of a ranking change on revenue beyond the immediate experiment window?

Analytical Execution — Scheduled Posts The Analytical Execution round introduced a proposed Facebook feature that allows users to schedule posts for future publication, with the goal of increasing engagement. The interviewer explicitly divided the round into two parts: statistics first, followed by product analysis.

  • Statistics: Most of the statistical discussion centered on the failure rate of scheduled posts. Several questions involved Bayesian reasoning, and the setup required a fair amount of clarification before answering. The exact probability assumptions and numerical values were not included in the interview notes.
  • Product: The second half asked how I would determine whether the scheduled-post feature was successful after launch, including what product outcomes should be measured.

SQL — Ad Impressions and Conversions The SQL round used advertising data involving impressions and conversions. The exact table schemas and individual SQL questions were not included in the interview notes. The interviewer was supportive throughout the round and provided frequent positive feedback.

Behavioral — Single Project Deep Dive The behavioral interview used a new format that had only recently been introduced. Rather than asking a sequence of unrelated behavioral questions requiring many separate stories, the interviewer asked me to select one project and walk through it in depth. The conversation was interactive: as I explained the project, the interviewer continuously asked follow-up questions about the context, my decisions, execution, and outcomes.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 1 day ago

Optiver Senior Quantitative Researcher Online Assessment Aug 2026

Interview Summary

This online assessment focused on quantitative research topics including stock transactions and currency arbitrage. The difficulty was rated as hard.

Interview Details

Question 1 — Count Valid Stock Transaction Sequences You begin with k shares of a stock. On each day, you may perform exactly one of two transactions:

  • Buy one additional share.
  • Sell one share, provided your holdings do not become negative.

Given a target holding n and a maximum of m transaction days, determine how many distinct valid transaction sequences leave you with exactly n shares after no more than m days. A sequence is invalid if the number of shares becomes negative at any point.

Example

targetShares = 3
initialShares = 2
maxDays = 3

The answer is: 4

The valid sequences are:

buy
buy, buy, sell
buy, sell, buy
sell, buy, buy

All four finish with exactly three shares without ever allowing the holdings to fall below zero.

Question 2 — Detect Currency Arbitrage You are given an n × n matrix of exchange rates. For every pair of currencies i and jrates[i][j] represents how many units of currency j can be obtained by exchanging one unit of currency i. An exchange sequence may pass through multiple currencies, but it must eventually return to the starting currency. Each completed cycle also incurs a transaction fee equal to 0.01% of the starting amount.

The task is to return True if there exists any closed sequence of exchanges that returns strictly more money than the starting amount after accounting for the fee, and False otherwise

Example

For two currencies:

2
1.0  0.8
1.25 1.0

the output is: False because completing the round trip does not produce a profit once the transaction fee is taken into account.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 1 day ago

Meta Senior Data Scientist Onsite Interview Experience May 2026 - Asked Ads Ranking, Scheduled Posts, SQL

A candidate shared a Meta Senior Data Scientist Onsite Interview Experience to Chill Interview

Interview Summary

The Meta Data Scientist onsite covered Analytical Reasoning, Analytical Execution, SQL, and a newly introduced behavioral format. The analytical rounds were product-heavy: one focused on an ads-ranking algorithm and its longer-term business impact, while another used a new scheduled-post feature to combine statistical reasoning with product-success measurement.

The behavioral round had also recently changed. Instead of preparing many independent STAR stories, I was asked to choose one project for a deeper discussion, with the interviewer asking follow-ups throughout the walkthrough.

Interview Details

Analytical Reasoning — Ads Ranking Algorithm The Analytical Reasoning round used an ads-ranking algorithm as the main scenario. The discussion focused on how to evaluate whether an updated ranking system was actually better. In addition to the more standard product and experiment considerations, the interviewer introduced several follow-ups that I had not seen in previous interview reports.

One memorable question was: Medium-Term Revenue Impact: How would you estimate the effect of a ranking change on revenue beyond the immediate experiment window?

Analytical Execution — Scheduled Posts The Analytical Execution round introduced a proposed Facebook feature that allows users to schedule posts for future publication, with the goal of increasing engagement. The interviewer explicitly divided the round into two parts: statistics first, followed by product analysis.

  • Statistics: Most of the statistical discussion centered on the failure rate of scheduled posts. Several questions involved Bayesian reasoning, and the setup required a fair amount of clarification before answering. The exact probability assumptions and numerical values were not included in the interview notes.
  • Product: The second half asked how I would determine whether the scheduled-post feature was successful after launch, including what product outcomes should be measured.

SQL — Ad Impressions and Conversions The SQL round used advertising data involving impressions and conversions. The exact table schemas and individual SQL questions were not included in the interview notes. The interviewer was supportive throughout the round and provided frequent positive feedback.

Behavioral — Single Project Deep Dive The behavioral interview used a new format that had only recently been introduced. Rather than asking a sequence of unrelated behavioral questions requiring many separate stories, the interviewer asked me to select one project and walk through it in depth. The conversation was interactive: as I explained the project, the interviewer continuously asked follow-up questions about the context, my decisions, execution, and outcomes.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 2 days ago

Coinbase Senior Software Engineer Interview Experience Aug 2026

Interview Summary

The Coinbase onsite consisted of four rounds, but only the first resembled a traditional algorithm interview. The next two were implementation-heavy exercises where the expectation was to write maintainable, production-style code, add meaningful tests, and reason about edge cases and concurrency. The interview environment allowed code execution and documentation lookup.

Overall, the questions were not exceptionally difficult algorithmically. The stronger emphasis was on correctness, clean interfaces, testing discipline, and whether the implementation would remain understandable and reliable in a production codebase.

Interview Details

Round 1 — Ordered Task Scheduling with Cooldown The first problem was similar to LeetCode 2365, Task Scheduler II. A sequence of tasks must be executed in the given order. Each task has an identifier, and two executions of the same task must be separated by at least a specified cooldown period. At most one task can execute per day, although idle days are allowed. The task was to determine the minimum number of days required to execute the entire sequence.

  • Edge Cases: The interviewer asked about a zero cooldown, an empty task list, and whether the implementation would still work if task identifiers were arbitrary strings rather than integers.
  • Maintainability: One follow-up was less algorithmic: which part of the implementation would be easiest for a future engineer to misunderstand or accidentally modify incorrectly, and how would I make that behavior clearer?

Round 2 — Production-Quality Moving Average The second round was an implementation exercise similar to LeetCode 346, Moving Average from Data Stream. The component was initialized with a window size k. Each call to next(value) needed to return the average of the most recent k values, or all values seen so far if fewer than k had arrived. The interviewer expected both the implementation and meaningful tests.

  • Correctness and Numerical Behavior: Test coverage included the partially filled window, the first fully populated window, subsequent rolling updates, a window size of one, and negative values. The discussion also touched on long-running numerical precision and input validation for invalid window sizes.
  • Concurrency: The interviewer asked how the API should behave if multiple threads called next() concurrently and whether the data structure should explicitly guarantee thread safety.

Round 3 — Dynamic Kth-Highest Leaderboard The third round asked me to implement a continuously updated leaderboard.

The system needed to support:

  • Adding a user's score
  • Updating an existing user's score
  • Removing a user
  • Returning the current kth-highest score

The value of k was fixed for the lifetime of the leaderboard, and tied scores did not require special ranking semantics. The removal and update operations were the main complications compared with a standard streaming Kth Largest problem.

  • Score Updates: The interviewer specifically asked what happens when the same user submits a new score and how to ensure that the user's previous score does not remain as stale state inside the ranking structures.
  • Testing: One important boundary case involved removing a user whose score sat exactly at the cutoff between the current top k scores and the remainder of the leaderboard.

Round 4 — Engineering Judgment, Testing, and Production Incidents The final round did not involve coding. It combined experience-based engineering questions with a discussion of Coinbase's systems.

Questions included:

  • Describe a piece of code I was especially proud of and explain why.
  • Walk through a production incident and my role in resolving it.
  • When, if ever, is it reasonable not to write tests?
  • How do I handle disagreement during code review?

The testing discussion went beyond raw coverage percentages and focused on whether important behavior, branches, and boundary conditions were actually protected.

The conversation later moved into Coinbase's business and engineering environment. I asked about correctness in systems involving money, which led to a broader discussion around topics such as idempotency and reconciliation.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 2 days ago

Is “Forward-Deployed Engineer” Becoming the Default AI Job?

I keep seeing some version of Forward-Deployed Engineer everywhere lately. What’s interesting is that these jobs don’t all look the same.

One role might be a Forward-Deployed Software Engineer building production systems around LLM APIs, agents, and RAG.

Another is basically a Forward-Deployed Full-Stack Engineer expected to ship an entire customer-facing AI product end to end.

Then you have Forward-Deployed Solution Engineers, where the job starts looking more like a hybrid of engineer, solutions architect, and consultant.

And on the more technical side, there are still Applied AI / Research Engineer roles focused on post-training, inference systems, SFT, RLHF/DPO/GRPO, etc.

It makes me wonder whether the AI job market is slowly splitting into two very different tracks:

1. Build better models

Research, post-training, evals, inference optimization, model architecture.

2. Make existing models actually useful

Agents, RAG, tool use, integrations, data pipelines, backend systems, product engineering, and working directly with customers.

And the second category seems to be showing up under the “forward-deployed” label more and more.

The interesting part is that this could actually be a pretty big opportunity for traditional software engineers.

You probably don’t need to become an ML researcher.

But being good at backend / distributed systems may no longer be enough either.

A strong FDE seems to need some combination of:

  • backend and system design
  • fast product / full-stack execution
  • LLM APIs and model behavior
  • RAG and retrieval systems
  • agent/tool-calling workflows
  • evals and observability
  • customer-facing communication
  • turning vague business problems into something that can actually ship

That raises a few career questions I’m really curious about.

For backend engineers: how difficult is the transition actually? Is the biggest gap AI knowledge, product sense, or being comfortable working directly with customers?

For people already doing FDE work: how much of your job is really AI engineering versus integration / consulting / normal software engineering?

For career progression: where does an FDE go after 3–5 years? Staff engineer? Product? Solutions leadership? Engineering management? Or does FDE become its own long-term technical ladder?

And perhaps most importantly:

How are companies interviewing for these roles?

  • Are FDE interviews still mostly coding + system design?
  • Or are we moving toward a completely different loop involving AI application design, debugging an agent, customer scenarios, product cases, and system integration?
  • Would especially love to hear from people who have interviewed for FDE / Applied AI roles recently.
  • What company was it, what did the interview loop look like, and what skills did they actually care about?

I started a longer-running discussion here to collect FDE interview loops, required skills, and career paths across different AI companies.

reddit.com
u/Aoki_zhang — 2 days ago

Meta Might Be the Most “Grindable” FAANG Interview

After reading a lot of recent Meta SWE interview experiences, I’ve started to wonder whether Meta is actually one of the highest-ROI FAANG companies to prepare for.

Not necessarily the easiest interview. But maybe the most grindable.

What I mean is that Meta’s interview questions often seem relatively predictable compared with some other top companies.

For coding, a lot of the questions I’ve seen are recognizable LeetCode-style problems. They’re not always easy, especially once follow-ups and time pressure are added, but they usually don’t feel particularly obscure or dependent on some niche trick.

If you’ve done enough practice with common patterns — graphs, trees, intervals, BFS/DFS, heaps, hash maps, two pointers, etc. — there’s a decent chance you’ve seen something structurally similar before.

System design feels somewhat similar.

The questions are often built around fairly mainstream interview topics: feeds, messaging systems, storage, ranking/recommendation, rate limiting, large-scale APIs, and other systems that are already well covered by standard system design prep material.

Again, that doesn’t mean passing is easy.

You still need to solve coding problems quickly and cleanly, handle follow-ups without getting stuck, communicate while coding, make reasonable system design tradeoffs, and perform consistently across multiple rounds.

But the interesting distinction is that the preparation itself seems to transfer unusually well into the actual interview.

You can spend six weeks grinding common LeetCode patterns and mainstream system design, and a meaningful amount of that preparation may actually show up in your Meta loop.

That isn’t always true elsewhere.

Some companies have much higher interviewer variance. Others emphasize domain knowledge, practical coding, debugging, OOD, unusual system design prompts, or team-specific expertise.

And at some companies, getting through resume screening or team matching may be just as difficult as passing the interview itself.

So if someone told me:

“I have 6–8 weeks to prepare and my only goal is to maximize my probability of breaking into a FAANG-level company,”

I’m starting to think Meta might be one of the most rational companies to optimize for.

Not because the bar is low.

But because the bar is relatively legible.

You know roughly what game you’re playing, and you can get substantially better at that game through targeted preparation.

That makes me curious whether Meta might actually have one of the highest prep ROIs in Big Tech.

Does this match what people who interviewed there recently experienced?

Does Meta feel unusually predictable compared with Google, Amazon, Apple, Netflix, Databricks, Airbnb, etc.?

And if you had only two months to prepare for one Big Tech interview loop, which company would you choose purely based on prep ROI?

I’ve been noticing this pattern while going through recent Meta interview experiences on Chill Interview, so I’ve also been collecting the recurring coding and system design themes there. If you interviewed with Meta recently, would love to have you add your experience as another data point -> here

reddit.com
u/Aoki_zhang — 2 days ago

Linkedin Senior Software Engineer Interview - looks like Linkedin starts hiring after recent layoffs

Interview Summary

The LinkedIn onsite consisted of three coding rounds, one system design interview, and a Host Manager round. The coding questions were not especially difficult, but interviewers consistently pushed beyond the initial implementation into edge cases, alternative constraints, complexity analysis, and what changes when the input becomes extremely large.

Compared with some faster-paced interview loops, each LinkedIn round generally centered on one main problem and explored it in depth. The Host Manager interview also carried more weight than I initially expected and focused heavily on project ownership, cross-team collaboration, feedback, and motivation for changing roles.

Interview Details

Coding Round 1 — Pow(x, n): The first problem was essentially LeetCode 50, Pow(x, n): implement exponentiation for a floating-point base and integer exponent. The interviewer cared heavily about correctness around edge cases rather than simply getting the common case working. Follow-ups included negative exponents, a zero base, and what happens when the exponent is the smallest representable negative integer. I was asked to discuss both recursive and iterative implementations and compare their practical behavior, including stack usage.

Coding Round 2 — Find K Closest Elements: The second problem was similar to LeetCode 658, Find K Closest Elements. Given a sorted array, a target x, and an integer k, return the k values closest to x while keeping the result sorted. The interviewer wanted me to explain the behavior carefully when two values were equally far from the target. One follow-up removed the sorted-array guarantee and asked how the problem would change. Another variation assumed the array was too large to fit entirely in memory and asked how I would reduce the amount of data that needed to be loaded or examined.

Coding Round 3 — Count Distinct Values in a Huge Sorted Array: The third problem was more custom. I was given a very large sorted array and asked to count how many distinct values it contained. The important constraint was that the number of unique values, k, was much smaller than the total number of elements, n. For example, the array could contain billions of entries while only a few hundred distinct values existed.

The interviewer pushed on whether the sorted structure could be exploited so the algorithm did not need to inspect every element individually. The discussion focused on skipping over long runs of identical values rather than scanning the entire array one entry at a time. The interviewer also asked what happens when the assumption no longer helps—for example, when almost every element in the array is unique.

System Design — LinkedIn-Style Feed System: The system design round asked me to design a user feed. The requirements included a read-heavy workload, near-real-time updates with a small amount of acceptable delay, and ranked results, although the ranking model itself was out of scope. The interviewer explored the tradeoff between generating feeds when content is published versus assembling them when users read. A major follow-up involved users with extremely large follower counts and how their posts should be treated differently from ordinary accounts.

  • Storage, Caching, and Consistency: We also discussed keeping inbox/feed storage bounded, handling bursts when popular users publish content, caching feeds for active versus inactive users, updating ranking information, and ensuring that users can immediately see content they just published themselves.

Host Manager — Projects, Collaboration, and Career Motivation: The Host Manager asked about a recent project I had led, my specific role in it, a disagreement with another team, a project whose direction changed midway through execution, and the most useful feedback I had received. Follow-ups consistently returned to what I personally did and what measurable result came from the work. One question asked what I wanted from my next role that my current position could not provide. This felt less like a standard behavioral question and more like an attempt to understand whether my motivation for switching jobs was specific and sustainable.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 2 days ago

Google Senior Software Engineer Interview Experience Aug 2026 - Easy Initial Problem & Hard Follow-ups

Interview Summary

The Google L5 onsite consisted of three coding rounds, one system design round, and a Googleyness & Leadership interview. Most technical rounds followed the same pattern: the initial problem was manageable, but the interviewer spent much of the remaining 45 minutes adding follow-ups around larger inputs, streaming data, memory limits, alternative representations, or complexity.

Coding was done in a Google Doc without execution or syntax highlighting, so manually walking through test cases mattered more than in an environment where code could be run.

Interview Details

Coding Round 1 — Maximum Equal-Length Pieces: The first problem was similar to LeetCode 1891, Cutting Ribbons. Given several pieces of wood with different lengths and an integer K, determine the maximum possible length of an equal-sized segment such that at least K segments can be produced. The interviewer then added several follow-ups:

  • Search Space and Precision: Why should the candidate-length upper bound be based on the longest individual piece rather than the total combined length? How would the problem change if lengths were floating-point values instead of integers?
  • Complexity: Explain the runtime carefully, including why the logarithmic factor depends on the numerical search range rather than simply on the number of input elements.

Coding Round 2 — Union of Sorted Interval Lists: The second problem was a variation of the classic interval-list problem. Two interval lists were given, with each list already sorted and internally non-overlapping. Instead of finding intersections, the task was to return their union as a merged list of non-overlapping intervals. The interviewer progressively expanded the problem:

  • Many Lists: How would the design change if there were K individually sorted interval lists rather than only two?
  • Large / Streaming Inputs: What if each list was too large to fit in memory and could only be read incrementally? A final variation removed the assumption that intervals within each individual input list were already non-overlapping.

Coding Round 3 — Nested List Weighted Sum: The third coding problem was similar to LeetCode 339, Nested List Weight Sum. Integers at greater nesting depths receive larger weights, and the task is to compute the total weighted sum. The interviewer asked me to discuss both recursive and level-based traversal approaches and compare when each might be preferable. The follow-up changed the input representation completely: instead of receiving an already parsed nested structure, the input was now a raw string that had to be interpreted directly.

For example, a rewritten input could be: "[5, 7, [3, 11], [4, [20]]]" Using depth 1 for top-level values, depth 2 for the next nested level, and depth 3 for the deepest value, the expected weighted sum is: 5×1 + 7×1 + 3×2 + 11×2 + 4×2 + 20×3 = 108

The parsing logic therefore needed to handle brackets, commas, nesting depth, and multi-digit integers correctly. The interviewer also asked me to manually walk through a nested portion of the example to verify edge-case behavior.

System Design — Large-Scale Web Crawler: The system design round asked me to design a web crawler at very large scale. After clarification, the assumed requirements were roughly tens of billions of pages, periodic recrawling, output feeding a search index, and no JavaScript rendering requirement.

  • Crawling Policy and Deduplication: The interviewer went deeply into balancing crawl priority with per-host politeness, handling and caching robots.txt, URL-level and content-level deduplication, and what happens when a probabilistic deduplication mechanism produces a false positive.
  • Scale and Reliability: Other follow-ups covered crawler traps such as infinite calendars and dynamically generated URLs, distributing work across crawler nodes, recovering when workers fail, persisting frontier state, and identifying likely bottlenecks if the entire corpus had to be refreshed within 24 hours.

Googleyness & Leadership — Ownership, Failure, and Ambiguity: The final round was conducted by a manager and consisted of behavioral questions with substantial follow-up. I was asked about a project I was most proud of, a situation where requirements or information were highly ambiguous, and an experience working with someone difficult. Other questions covered a failure, the hardest feedback I had received, what I changed afterward, and something I would handle differently if I could repeat the experience.

The interviewer consistently pushed beyond the initial story into why I made particular decisions, what measurable result followed, and what I learned from the outcome.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 2 days ago

Anthropic Senior SWE technical screen - felt very hard even though I prepped this question

Interview Summary

The Anthropic technical screen focused on distributing a very large model checkpoint across a fleet of GPU workers as quickly as possible. I had prepared the peer-to-peer direction, but I spent too much time walking through intermediate approaches and trying to derive the optimal strategy. By the time I reached the full design, the discussion had lost momentum and there was limited time left for deeper exploration.

Interview Details

Technical Phone Screen — Fast Model Distribution Across GPU Workers:

The system design question asked me to distribute an approximately 500 GB model checkpoint from a central repository to a fleet of 100–1,000 GPU workers. Every worker needed to receive and verify the complete model before the new version could begin serving traffic.

The source repository had limited outbound bandwidth, while workers could transfer model data to one another. One notable constraint was that each worker’s downloads and uploads shared the same 10 Gbps network capacity.

  • Distribution Strategies: The discussion began with simple direct downloads and then considered pipelined transfer, tree-based fanout, and chunked peer-to-peer distribution. The goal was to use aggregate cluster bandwidth rather than forcing every worker to download the entire model directly from the central repository.
  • Chunking and Forwarding: The checkpoint could be divided into chunks so workers could begin forwarding data before receiving the complete model. The deployment system also needed to track chunk ownership and determine when each worker had received and verified the full checkpoint.
  • Failure and Scale Requirements: The design needed to account for failed workers, slow network links, corrupted chunks, retrying transfers from alternative peers, and future expansion to approximately 10,000 workers.
  • Interview Direction: I initially tried to demonstrate a gradual evolution from basic approaches toward peer-to-peer distribution. I spent significant time calculating and explaining several intermediate strategies, but some details in those suboptimal designs became unclear and the interviewer appeared to lose interest.
  • Lower-Bound Discussion: My impression was that the interviewer cared less about finding one exact topology and more about whether I could establish a reasonable theoretical lower bound for the rollout time and defend the design relative to that bound.
  • Time Management: I eventually moved directly to the peer-to-peer design and proactively covered the remaining reliability and operational considerations. However, there was limited time left, and the interviewer did not engage deeply with many of the follow-up areas I raised.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 3 days ago

Amazon Staff Software Engineer Interview Process Aug 2026

Interview Summary

The Amazon virtual onsite consisted of five rounds, and Leadership Principles were embedded into every interview rather than isolated into a separate behavioral round. In several rounds, the LP discussion took 20–30 minutes before the technical portion even began, so behavioral preparation was at least as important as coding preparation.

The technical questions themselves were mostly medium-level and covered Top K Frequent Elements, Asteroid Collision, a multi-branch library system, Course Schedule, and merging sorted arrays. Interviewers consistently asked for edge cases, production implications, or follow-up variations after the main question.

Interview Details

Round 1 — Ownership, Dive Deep + Top K Frequent Elements The behavioral portion focused on Ownership and Dive Deep. I was asked about a situation where I took responsibility for something outside my formal scope and another situation where I investigated deeply enough to uncover a problem that others had missed. The second story received especially detailed follow-ups about how I isolated the issue, which metrics or signals I examined, and why earlier hypotheses turned out to be incorrect.

The coding problem was similar to LeetCode 347, Top K Frequent Elements: given a collection of values, return the K most frequently occurring elements. Follow-Up: How would the design change if values arrived continuously as a stream and the system needed to expose the current Top K at any time?

Round 2 — Customer Obsession, Are Right, A Lot + Asteroid Collision The LP portion focused on Customer Obsession and Are Right, A Lot. Questions included a time when I changed an existing technical direction because it was better for users, and an example where my judgment turned out to be wrong. The interviewer pushed on what information originally supported my decision, what evidence eventually contradicted it, and how I responded after realizing the mistake.

The coding problem was similar to LeetCode 735, Asteroid Collision. Positive and negative integers represented objects moving in opposite directions, with the magnitude representing their size. When objects moving toward one another collided, the smaller one disappeared, while equal-sized objects both disappeared.

A rewritten set of test cases would be:

[7, 12, -4]     -> [7, 12]
[9, -9]         -> []
[11, 3, -8]     -> [11]
[-4, -2, 2, 6]  -> [-4, -2, 2, 6]

The interviewer paid attention to whether I proactively tested cases where objects never actually collide despite containing both positive and negative values.

Round 3 — Deliver Results, Bias for Action + Library Management Design This round started with Deliver Results and Bias for Action. I was asked about a project with a very aggressive deadline and another case where I had to make progress before all of the required information was available. The technical portion asked me to design a library management system spanning multiple library branches. The system needed to support searching for books, checking availability, reservations, borrowing, pickup, and returns, while preventing conflicting loans for the same physical copy.

  • Data and API Design: The interviewer wanted the model to distinguish a book title from its individual physical copies across different locations. The discussion also covered how users would search for a title and identify which branch currently had an available copy.
  • Consistency and Failure Handling: Follow-ups covered concurrent attempts to borrow the same copy, processing returns, maintaining borrowing history, and what should happen if a downstream notification fails after the return itself has already succeeded.

The system design discussion consumed the remaining interview time, so there was no separate coding problem in this round.

Round 4 — Bar Raiser + Course Schedule The Bar Raiser focused on Have Backbone; Disagree and Commit and Learn and Be Curious. I was asked about a disagreement with a manager or senior stakeholder, a situation where I disagreed with the final decision but still committed to executing it, and something I had proactively learned recently. The coding problem was similar to LeetCode 207, Course Schedule: given courses and prerequisite relationships, determine whether it is possible to complete all courses.

  • Follow-Up 1: Instead of returning only whether completion is possible, return one valid course ordering.
  • Follow-Up 2: If the prerequisites contain a cycle, identify the courses participating in that cycle.

There was not enough time to fully implement the final follow-up, so that portion remained a design and reasoning discussion.

Round 5 — Invent and Simplify, Hire and Develop the Best + Sorted Array Merge The final round was with the hiring manager and focused on Invent and Simplify and Hire and Develop the Best. Behavioral questions included a time when I simplified something unnecessarily complex, an example of helping another person grow, and an area where I believed I still needed to improve.

The coding problem asked me to merge three individually sorted arrays into a single sorted result while removing duplicate values. The interviewer asked me to consider cases such as heavy overlap between all three arrays and one of the inputs being empty. Follow-Up: Generalize the problem from three sorted arrays to K sorted arrays.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 3 days ago

Meta Paid ~$100M for Jiahui Yu — He Still Left

Jiahui Yu just announced that he’s leaving Meta to start a company, and the timing is pretty interesting.

He was one of the high-profile AI researchers Meta recruited from OpenAI and became a key figure around TBD Lab’s multimodal work. Public reporting also suggested Meta was offering extremely aggressive packages to recruit this tier of AI talent.

So seeing someone leave this quickly makes me wonder whether the bigger issue at Meta AI is no longer compensation, but the organization itself.

A few things I’m curious about:

  1. If compensation is already extraordinary, what actually drives someone like this to leave? More research freedom? Faster execution? Ownership? Or simply much larger founder upside?
  2. How stable is TBD’s direction internally? Meta’s AI org has gone through repeated restructurings and priority changes. For ambitious research teams, constantly shifting scope can matter more than compensation.
  3. What does this environment look like for regular ICs? Top researchers can leave and start companies. Everyone else still has to deal with changing priorities, org reshuffles, scope competition, and projects that may suddenly lose sponsorship.
  4. What exactly is the startup bet? If you already have one of the best-paid AI jobs in the industry and still choose to leave, you must believe the ownership/upside or ability to move faster is worth giving up a lot.

My current take is that Meta has clearly proven it can recruit elite AI talent with money.

The harder question may be whether it can create an environment where those people want to stay for five or ten years.

Money solves recruiting. It doesn’t automatically solve research freedom, organizational stability, ownership, or retention.

Anyone working around Meta AI / TBD have a different read on this?

I started a longer-running thread here to build a map of influential AI companies, what each one is actually building, and which layer of the AI stack they’re competing in: forum link

reddit.com
u/Aoki_zhang — 3 days ago

Doordash Senior Software Engineer Interview Experience - Every Problem Was Delivery in Disguise

Interview Summary

The DoorDash onsite consisted of three coding rounds followed by a system design interview. The base problems were mostly recognizable medium-level patterns, but nearly every round added a business-oriented twist or follow-up involving larger scale, concurrency, streaming data, or distributed systems.

The overall pacing was fast. Finishing the initial coding problem was usually only the starting point, with much of the interview spent discussing how the same idea would behave under more realistic DoorDash-style constraints.

Interview Details

Round I (Coding): The first problem was a DoorDash-flavored version of a familiar LeetCode-style minimum processing speed problem. The base algorithm was recognizable, but the interviewer cared a lot about how quickly I could get through it and move on to the follow-ups.

Round II (Coding): This one was similar to First Unique Number, except restaurant IDs arrived continuously. I needed to support: 1) adding restaurant IDs; 2) returning the earliest restaurant that had appeared exactly once.

Round III (Coding): Given a parentheses string, return the minimum number of deletions needed to make it valid.

Round IV (System Design): The design prompt was very DoorDash: "Show the top 10 restaurants by order volume over the last hour." The one-hour window continuously slides, a few seconds of latency is fine, and approximate answers are acceptable.

For anyone who wants learn more details about this interview experience, I’ve put the full write-up here.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 3 days ago

Microsoft AI Senior MLE Phone Screen - All Codings are Leetcode Problems

Interview Summary

The Microsoft AI Engineer interview consisted of two algorithm rounds followed by a system design round focused heavily on practical LLM and RAG concepts. The coding questions themselves were standard, but interviewers paid attention to implementation quality, edge cases, and whether I could adapt when the assumptions of the original problem changed.

The final round was the most role-specific. It used a local sports-news recommendation product as the scenario but quickly expanded into retrieval architecture, model adaptation, inference latency, and hallucination control.

Interview Details

Round 1 — Merge Intervals: The first coding problem was LeetCode 56, Merge Intervals. Given a collection of intervals, return a consolidated set in which overlapping ranges have been merged. The interviewer paid particular attention to code readability and boundary conditions rather than treating this as purely an algorithm question. Discussion included empty input, a single interval, and overlapping boundary cases. The interviewer also looked at whether the Python implementation was concise and readable and whether I explained decisions while coding.

Round 2 — Lowest Common Ancestor in BST and Binary Tree: The second coding problem started with LeetCode 235, Lowest Common Ancestor of a Binary Search Tree. The initial version assumed the tree maintained normal BST ordering. The interviewer then removed that ordering property and asked how the problem changes for a general binary tree, making the problem equivalent to LeetCode 236, Lowest Common Ancestor of a Binary Tree. The main signal in this round was whether I could recognize that the assumptions enabling the first solution no longer applied and transition to the more general version of the problem.

Round 3 — Local Sports News Recommendation with RAG: The final round asked me to design a local sports information and recommendation system, but most of the discussion centered on how an LLM-powered product would retrieve and generate trustworthy answers.

  • Retrieval and Model Architecture: The interviewer asked how I would choose between managed vector-search infrastructure and operating a dedicated vector database, and how I would think about prompt engineering versus fine-tuning for the application.
  • Serving Quality and Hallucination: Follow-ups covered reducing inference latency, model optimization techniques such as quantization and distillation, and how the product should detect or reduce hallucinated information. The discussion also touched on retrieval grounding, output validation, and adversarial or red-team-style evaluation.

➡️ Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 4 days ago

Google Senior Software Engineer Interview Process Aug 2026 - Initial Questions Were Manageable, Follow-Ups Were Tough

Interview Summary

The Google L5 onsite consisted of three coding rounds, one system design round, and a Googleyness & Leadership interview. Most technical rounds followed the same pattern: the initial problem was manageable, but the interviewer spent much of the remaining 45 minutes adding follow-ups around larger inputs, streaming data, memory limits, alternative representations, or complexity.

Coding was done in a Google Doc without execution or syntax highlighting, so manually walking through test cases mattered more than in an environment where code could be run.

Interview Details

Coding Round 1 — Maximum Equal-Length Pieces: The first problem was similar to LeetCode 1891, Cutting Ribbons. Given several pieces of wood with different lengths and an integer K, determine the maximum possible length of an equal-sized segment such that at least K segments can be produced. The interviewer then added several follow-ups:

  • Search Space and Precision: Why should the candidate-length upper bound be based on the longest individual piece rather than the total combined length? How would the problem change if lengths were floating-point values instead of integers?
  • Complexity: Explain the runtime carefully, including why the logarithmic factor depends on the numerical search range rather than simply on the number of input elements.

Coding Round 2 — Union of Sorted Interval Lists: The second problem was a variation of the classic interval-list problem. Two interval lists were given, with each list already sorted and internally non-overlapping. Instead of finding intersections, the task was to return their union as a merged list of non-overlapping intervals. The interviewer progressively expanded the problem:

  • Many Lists: How would the design change if there were K individually sorted interval lists rather than only two?
  • Large / Streaming Inputs: What if each list was too large to fit in memory and could only be read incrementally? A final variation removed the assumption that intervals within each individual input list were already non-overlapping.

Coding Round 3 — Nested List Weighted Sum: The third coding problem was similar to LeetCode 339, Nested List Weight Sum. Integers at greater nesting depths receive larger weights, and the task is to compute the total weighted sum. The interviewer asked me to discuss both recursive and level-based traversal approaches and compare when each might be preferable. The follow-up changed the input representation completely: instead of receiving an already parsed nested structure, the input was now a raw string that had to be interpreted directly.

For example, a rewritten input could be: "[5, 7, [3, 11], [4, [20]]]" Using depth 1 for top-level values, depth 2 for the next nested level, and depth 3 for the deepest value, the expected weighted sum is: 5×1 + 7×1 + 3×2 + 11×2 + 4×2 + 20×3 = 108

The parsing logic therefore needed to handle brackets, commas, nesting depth, and multi-digit integers correctly. The interviewer also asked me to manually walk through a nested portion of the example to verify edge-case behavior.

System Design — Large-Scale Web Crawler: The system design round asked me to design a web crawler at very large scale. After clarification, the assumed requirements were roughly tens of billions of pages, periodic recrawling, output feeding a search index, and no JavaScript rendering requirement.

  • Crawling Policy and Deduplication: The interviewer went deeply into balancing crawl priority with per-host politeness, handling and caching robots.txt, URL-level and content-level deduplication, and what happens when a probabilistic deduplication mechanism produces a false positive.
  • Scale and Reliability: Other follow-ups covered crawler traps such as infinite calendars and dynamically generated URLs, distributing work across crawler nodes, recovering when workers fail, persisting frontier state, and identifying likely bottlenecks if the entire corpus had to be refreshed within 24 hours.

Googleyness & Leadership — Ownership, Failure, and Ambiguity: The final round was conducted by a manager and consisted of behavioral questions with substantial follow-up. I was asked about a project I was most proud of, a situation where requirements or information were highly ambiguous, and an experience working with someone difficult. Other questions covered a failure, the hardest feedback I had received, what I changed afterward, and something I would handle differently if I could repeat the experience.

The interviewer consistently pushed beyond the initial story into why I made particular decisions, what measurable result followed, and what I learned from the outcome.

➡️ Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 4 days ago

Meta Senior Software Engineer Interview Process

Interview Summary

The Meta process started with a 45-minute technical screen containing two coding questions, followed by a virtual onsite with two additional coding rounds, system design, and behavioral. Most coding questions were recognizable medium-level patterns, but the pace was fast: interviewers expected a complete implementation, self-generated test cases, and discussion of follow-ups within roughly 45 minutes.

A recurring theme was that simply reaching working logic was not enough. Interviewers frequently asked about boundary cases, alternative constraints, iterative versus recursive behavior, and whether I could catch problems myself while manually testing the code.

Interview Details

Technical Screen — Grid Pathfinding + Subarray Sum

  • The first question was similar to LeetCode 1091, Shortest Path in Binary Matrix. Given a binary matrix where open cells were traversable and blocked cells were not, find a path from the upper-left corner to the lower-right corner. The follow-up required returning the actual path rather than only determining its length.
  • Root-to-Leaf Number Sum: The second question was similar to LeetCode 129, Sum Root to Leaf Numbers. Each root-to-leaf path represents a number formed from the node values, and the task is to return the sum across all such paths. The interviewer also asked about an iterative version and what happens when recursion is used on an extremely deep tree.

Virtual Onsite Coding 1 — Local Minimum + Near-Palindrome

  • The first was a variation of LeetCode 162, Find Peak Element, except the goal was to locate a local minimum instead of a peak. Follow-ups covered edge cases such as a one-element array and neighboring elements with equal values.
  • The second question was similar to LeetCode 560, Subarray Sum Equals K. Given an integer array and a target, return the number of contiguous subarrays whose sum equals the target. After coding, the interviewer asked me to propose test cases, including empty input, a single value, zeros, negative numbers, and a zero target.

Virtual Onsite Coding 2 — Island Size API + Root-to-Leaf Numbers

  • Starting from a binary-grid island problem similar to Number of Islands, I was asked to expose an API such as isSizeExist(size) that determines whether the grid contains an island with exactly the requested number of cells. I caught and corrected an implementation mistake while manually running a test case.
  • The second question was a variation of LeetCode 162, Find Peak Element, except the goal was to locate a local minimum instead of a peak. Follow-ups covered edge cases such as a one-element array and neighboring elements with equal values..

System Design — Search User Status Posts with AND / OR Queries The system design round asked me to build a text-search system for status updates posted by users. Search queries needed to support both AND and OR semantics, while ranking and relevance scoring were explicitly out of scope. The discussion centered on how textual posts should be represented and indexed for efficient search.

  • Index Updates and Query Execution: The interviewer asked how newly published statuses become searchable, including the processing steps between receiving a new post and updating the search index. We also discussed how multi-term AND and OR queries should be executed efficiently.
  • Scaling the Index: A major follow-up was what to do once the index became too large for one machine. The conversation covered distributing index data across multiple machines, how queries involving several terms reach the appropriate partitions, and the tradeoffs between partitioning around terms versus documents.

Behavioral — Ownership, Ambiguity, Feedback, and Conflict The behavioral interviewer moved through questions fairly quickly and consistently followed up on the details of each example. Questions included a recent project I was most proud of, a project that had to begin before all the information was available, and a situation where the direction changed midway through execution. I was also asked about critical feedback I had received and what changed afterward, as well as an experience working with a difficult colleague. Follow-ups repeatedly focused on my specific actions, reasoning, measurable impact, and what I would do differently in retrospect.

➡️ Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 4 days ago

DoorDash Senior Software Engineer Interview Process - tried my best still failed, this is the current job market

Interview Summary

The DoorDash process started with a recruiter call, followed by a Code Craft screen and a four-round virtual onsite covering debugging, behavioral / hiring manager questions, system design, and AI-assisted coding. The overall process moved quickly and was well organized, with plenty of scheduling options for the onsite.

A recurring theme was that DoorDash seemed to care less about producing code line by line and more about whether I could reason about production behavior, failures, concurrency, scalability, and system boundaries. My weaker rounds were the debugging interview and the AI coding exercise, and I ultimately received a rejection.

Interview Details

Recruiter Screen — Background and Why DoorDash: The recruiter conversation was straightforward and mainly covered basic background information. There were no substantial behavioral questions in this round beyond standard motivation questions such as Why DoorDash? I heard back within a couple of days and moved on to the technical screen.

Code Craft — Simplified Dasher Pay: The technical screen used a simplified version of the recurring Dasher Pay problem. Unlike some reported versions, this one did not introduce additional coding requirements such as double-pay-rate windows. After completing the core implementation, the interviewer shifted into lighter system-design-style follow-ups.

  • Production Failures: One follow-up asked what should happen if a downstream dependency became unavailable or failed during the workflow.
  • Implementation Environment: There was no starter code. In Java, I had to create the surrounding Main class and my own way of invoking the implementation to validate the results. A few simple test cases were provided, and adding additional corner cases would likely have helped demonstrate robustness.

I passed this round and advanced to a four-round virtual onsite.

Virtual Onsite Round 1 — Debugging a Random Dasher Picker: The debugging round used a randomized variant of Dasher Picker. The provided implementation maintained an index-to-Dasher mapping. The system supported adding Dashers, removing them, and selecting a random Dasher. The bugs were not limited to basic collection logic.

  • Correctness and Concurrency: In addition to fixing issues around maintaining valid indices after removals, the interviewer expected me to notice multi-threading concerns. The discussion included synchronization at the method versus block level and what can go wrong if a synchronized section makes a slow external API call and holds a lock during a timeout.
  • Distributed Follow-Up: After the local implementation was fixed, the interviewer asked how this design would change in a distributed environment and what new challenges would appear.

This was one of my weaker rounds. I had prepared more heavily for other Dasher Picker variants and was less comfortable with the concurrency portion.

Virtual Onsite Round 2 — Hiring Manager and Behavioral: The hiring manager round contained only a few main behavioral questions, but each answer received substantial follow-up. The interviewer focused on situations where I proactively identified a problem or initiated a project rather than simply executing assigned work. Follow-ups explored the business impact of my work, how I measured that impact, and how I use AI in my engineering workflow. The interviewer was friendly and left a meaningful amount of time for candidate questions.

Virtual Onsite Round 3 — Project Deep Dive + Alert Notification System: The system design interview was split into two parts. The first part of the interview were spent discussing one of my previous projects. The interviewer asked architecture-oriented follow-ups, including what I would change if I were building the system again. The second portion asked me to design a simplified Alert Notification System. Unlike a consumer notification service, this system did not directly send notifications to end users. Instead, alerts were delivered to downstream services.

  • Retry and Failure Handling: The interviewer went deeply into how retries would actually work rather than accepting a high-level answer such as placing failed messages into a retry queue.
  • Scalability: The design also needed to handle failures and increasing load. The interview interface included separate areas for requirements / notes and architecture diagrams, so clearly capturing functional and non-functional requirements early in the round was useful.

The interviewer was collaborative and provided hints throughout the discussion.

Virtual Onsite Round 4 — AI Coding: Multi-Service Refund Workflow: The final round was an AI-assisted coding exercise centered on a refund workflow represented by a DAG. There was no starter code. I needed to build multiple components, including a service that retrieved order information, a service that accepted refund operations, and the workflow connecting them. The important requirement was that these were not merely mocked classes calling one another inside a single process.

  • Real Local Services: The interviewer expected multiple services to actually run locally, expose HTTP endpoints on different ports, and communicate with one another through API calls.
  • AI-Assisted Implementation: I initially interpreted the problem as a more traditional coding exercise where several classes could simulate the services locally. After realizing the interviewer expected real HTTP services, I had AI substantially restructure the implementation. That change came late enough that I did not have much time to inspect or validate the generated code carefully.

The emphasis seemed to be on whether I could get the services running and interacting end to end within the available time, rather than building a particularly sophisticated DAG execution engine.

➡️ Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

reddit.com
u/Aoki_zhang — 4 days ago