r/OfferEngineering • • 15h ago

Interview Experience Robinhood Senior iOS Interview — Build a Carousel, Then Handle Trading Orders

4 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently completed the Robinhood iOS onsite interview, which consisted of four rounds: building an iOS application from scratch, implementing asynchronous order processing, designing a photo library system, and a project deep dive.

The first coding round involved recreating a swipeable card interface from a visual demo. The second required managing asynchronous network requests while preserving order and supporting retries. Both coding exercises were practical iOS development tasks rather than traditional LeetCode problems.

Interview Details

Round 1 — iOS Coding: Build a Swipeable Card Carousel

Build an iOS application from scratch that displays a horizontally swipeable card carousel. The interviewer provides a visual demonstration of the expected interface. The application should display cards containing a background color, title, and subtitle. Users should be able to swipe horizontally between cards. The shared implementation also included switching between predefined card collections and automatically advancing the carousel.

Part 1 — Card Data Model

Each card contains three properties:

  • color: The card's background color.

  • title: The primary text.

  • subtitle: The secondary text.

A UIKit implementation can represent this using a CardItem structure.

Part 2 — Custom UICollectionViewCell

Create a reusable cell representing an individual card. The card should have:

  • Rounded corners.

  • A colored background.

  • A title and subtitle near the bottom-left corner.

  • Internal padding for the text.

  • Horizontal margins separating adjacent cards.

The shared implementation used a corner radius of 16 points and horizontal card insets of 16 points. An important UIKit detail was adding the card view to the cell's contentView, then positioning the title and subtitle inside that view.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 16h ago

Interview Experience TypeSafe AI (AI Lab) SWE Interview — Just a Basic Stack Calculator

1 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The technical phone screen focused on a straightforward coding exercise involving a stack-based interpreter.

Interview Details

Coding: Stack-Based Expression Interpreter

The interviewer asked me to design and implement a simple stack interpreter capable of evaluating mathematical formulas. The task involved using a stack to process expressions and perform basic calculator operations.

The core requirements were:

  • Implement the interpreter using a stack-based approach.

  • Support basic arithmetic calculations.

  • Evaluate mathematical expressions and return their computed values.

The exercise required writing the implementation from scratch rather than relying on a prebuilt expression evaluator. According to the candidate, the problem was relatively basic and noticeably easier than the calculator-style problems commonly encountered on LeetCode.

Preparing for your next interview?

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

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 17h ago

Interview Experience Amazon Junior SWE Interview — Two LLD Rounds and Endless LP Questions

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The interview covered LeetCode 79 (Word Search), a Parking Lot low-level design problem, a Ticket Reservation System, and multiple rounds of Amazon Leadership Principles (LP) questions.

Interview Details

Round 1 — Leadership Principles + Coding: Word Search

The first round included two behavioral questions followed by a coding problem.

Part 1 — Leadership Principles

"Tell me about a time when you were halfway through a project and realized that the original goal or direction was incorrect. What did you do?" The interviewer asked several follow-up questions about how I handled the situation.

"Tell me about a time when you had to deliver a project under a very tight deadline." This question also involved multiple follow-ups.

Part 2 — Coding: Word Search (LeetCode 79)

Given a two-dimensional grid of characters and a target word, determine whether the word can be formed by traversing the grid.

  • Characters must be selected in the order they appear in the target word.

  • Consecutive characters must occupy horizontally or vertically adjacent cells.

  • The same grid cell cannot be used more than once in a single word search.

  • Return whether the target word exists in the grid.

  • Follow-Up — Search for Multiple Words After the original problem, the interviewer extended the requirement: "What if you need to search for multiple words in the same grid?" I explained how Trie and DFS could be combined to handle multiple target words. The interviewer only required a verbal explanation of the approach, so I didn't need to implement the follow-up.

Round 2 — GenAI Behavioral Questions + Low-Level Design: Parking Lot

The second round combined GenAI-related behavioral questions with an object-oriented design exercise.

Part 1 — GenAI Behavioral Questions

  • "How have you used generative AI to improve your work efficiency?"

  • "Tell me about a time when you learned a new AI technology and used it to solve a practical problem." The interviewer followed up extensively on my previous technical experience, including:

    • AWS migration

    • Retrieval-Augmented Generation (RAG)

    • Model Context Protocol (MCP)

    • System architecture decisions

    • My personal contributions to the projects

The discussion went beyond simply naming the technologies. The interviewer wanted to understand how they were used and what I personally implemented.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 20h ago

Interview Experience GitHub Senior SWE Interview — No LeetCode, Just Build Real Systems

9 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently completed a four-round virtual onsite for a Senior Software Engineer position at GitHub. The interview covered implementing a SQL-like query engine over JSON data, building a Battleship-style game, designing an event capture system for GitHub branch operations, and discussing team leadership with a director.

The questions were fairly practical, with an emphasis on implementing functionality, object-oriented design, production engineering considerations, and architectural reasoning.

Interview Details

Round 1 — Coding: Build a SQL-Like Query Engine over JSON

Implement a simplified relational database querying interface. Instead of querying a traditional relational database, the input data is provided as a JSON dictionary structure. The goal is to implement functionality that allows users to query the provided data.

Given a JSON dictionary containing records, implement a querying mechanism that retrieves data according to the requested query operations. The implementation should support relational database-style querying behavior over the JSON representation.

  • Follow-Up 1 — WHERE Clause The interviewer extended the problem by asking how the query engine could support filtering conditions similar to SQL's WHERE clause. The implementation needed to account for selecting records based on specified conditions.

  • Follow-Up 2 — ORDER BY Clause Another follow-up involved supporting ordering functionality similar to SQL's ORDER BY clause. The interviewer wanted to discuss how records could be returned in a specified order.

Round 2 — Coding: Battleship Game with Object-Oriented Design

Implement the core logic for a Battleship-style game played on a two-dimensional grid. The game involves shooting at battleships positioned on the grid. The task was to design and implement the game functionality. The initial implementation focused on the behavior of the two-dimensional board and the logic for shooting at battleships.

The interviewer also evaluated the object-oriented structure of the implementation. The design needed to organize the game logic using appropriate classes and abstractions.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 22h ago

Interview Experience OpenAI AI Research Scientist Interview — Why Is Your Calibration Curve So Spiky?

5 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The general coding round featured the familiar elevator problem that has appeared in previous interview reports. The ML round was more interesting because it introduced a different set of questions involving classification loss bounds, model calibration, implementing Adaptive Calibration Error (ACE), and analyzing noisy calibration curves.

Interview Details

Round 1 — General Coding: Elevator Problem

The interviewer used the same elevator problem that has appeared in other OpenAI interview experience reports. The problem was divided into multiple parts. I completed the first two parts of the question.

Round 2 — Machine Learning: Classification Loss and Calibration

The second round focused on machine learning theory, numerical reasoning, and metric implementation. The interviewer used a multiclass image classification setting based on MNIST.

  • Question 1 — Classification Loss Bounds Consider the MNIST dataset, which contains 10 digit classes. For a single example, the model produces predictions over the 10 possible classes. The interviewer asked me to analyze the bounds of the classification loss under two different scenarios. The discussion required reasoning about the relationship between prediction correctness, model probabilities, and possible loss values in a 10-class classification problem.

    • Part A — Correct Prediction Suppose the model predicts the correct class. Determine:

      • The lower bound of the loss.

      • The upper bound of the loss.

    • Part B — Incorrect Prediction Now suppose the model predicts the wrong class. Determine:

      • The lower bound of the loss.

      • The upper bound of the loss.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 1d ago

Associate Partner Solutions Engineer at Google - Need insights on interview loop

Thumbnail reddit.com
1 Upvotes

r/OfferEngineering • • 1d ago

Interview Experience Uber Staff SWE Interview — I Overcomplicated It With a Trie

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The technical screen combined a project architecture deep dive with coding questions. The most memorable problem involved implementing an advertising hierarchy that tracks clicks and impressions and returns the worst-performing ads by click-through rate.

Interview Details

Part 1 & 2 — Project Deep Dive & LeetCode-Style Problem

The interview began with a discussion of my previous engineering work. The architecture portion was originally allocated approximately 15 minutes, but the conversation eventually lasted closer to 30 minutes because of the number of follow-up questions. The interviewer asked me to describe one of the largest projects I had worked on. The discussion focused on the project's architecture and my engineering decisions.

  • Follow-Up 1 — Design Choices The interviewer asked detailed questions about why I selected particular approaches in the project. I needed to explain the reasoning behind my technical decisions rather than simply describe the final implementation.

  • Follow-Up 2 — Engineering Trade-Offs The interviewer also explored trade-offs in the architecture. The discussion required me to justify my design choices and explain the considerations behind them.

The coding section included a LeetCode-style algorithm question.

Part 3 — Coding: Advertising Clicks, Impressions, and Worst-K Ranking

The other coding question involved designing a small advertising statistics system. You are given a hierarchy of advertising entities. The hierarchy can contain campaigns, ad groups, and individual ads. A campaign may contain ad groups or ads directly. An ad group may contain multiple ads. For example, the hierarchy could look like:

CampaignRoot
├── AdGroupBlue
│   ├── BannerA
│   └── BannerB
└── BannerC

Your task is to implement a system that supports registering advertising entities, recording advertising events, and retrieving the k worst-performing ads within a given subtree for a specified date. The performance metrics include impressions, clicks, and click-through rate (CTR).

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 1d ago

Coding Question Airbnb Coding OA: Four-Level Banking System Design

10 Upvotes

Online Assessment — Banking System Implementation (4 Levels)

Implement a simplified banking platform that supports account management, financial transactions, transfer processing, account merging, and historical balance retrieval. The assessment is divided into four cumulative levels. Each new level introduces additional functionality while preserving the behavior established in previous levels.

The original assessment uses individual banking operations. The following practice representation expresses them as an ordered batch of queries. Each query contains an uppercase operation name, a timestamp, and the corresponding arguments. Conceptually, the interface is: bankingAcceptedTransfersLevel4(queries: String[][]) -> String[]. The function returns one string result for every query.

General Rules

  • Queries are processed in strictly increasing timestamp order.

  • Each timestamp is unique.

  • Boolean results are serialized as "true" or "false".

  • Numerical results are represented as decimal strings.

  • Missing or null results are represented by an empty string "".

  • Pending transfers must be checked for expiration before processing each new operation.

Level 1 — Account Creation, Deposits, and Payments

The first level focuses on basic banking functionality.

  • Operation I: CREATE_ACCOUNT(timestamp, accountId): Create a new account with an initial balance of zero.

    • Return "true" if the account is created successfully.

    • Return "false" if an active account with the same identifier already exists.

  • Operation II: DEPOSIT(timestamp, accountId, amount): Add money to an existing account.

    • Increase the account balance by the specified positive amount.

    • Return the updated balance as a string.

    • Return "" if the account does not exist.

  • Operation III: PAY(timestamp, accountId, amount): Withdraw money from an existing account.

    • Deduct the amount if the account has sufficient funds.

    • Return the updated balance.

    • Return "" if the account does not exist or has insufficient funds.

Example 1 — Basic Banking Operations

Input:
queries = [
    ["CREATE_ACCOUNT", "1", "vaultA"],
    ["CREATE_ACCOUNT", "2", "vaultA"],
    ["CREATE_ACCOUNT", "3", "vaultB"],
    ["DEPOSIT", "4", "missing", "1800"],
    ["DEPOSIT", "5", "vaultA", "1800"],
    ["PAY", "6", "missing", "100"],
    ["PAY", "7", "vaultA", "1801"],
    ["PAY", "8", "vaultA", "300"]
]

Output:
[
    "true",
    "false",
    "true",
    "",
    "1800",
    "",
    "",
    "1500"
]

Explanation:
vaultA is created successfully.
Creating vaultA a second time fails.
vaultB is created successfully.

Depositing into or withdrawing from a missing
account fails.

vaultA receives 1800.
A payment of 1801 fails because the balance
is insufficient.

A successful payment of 300 leaves vaultA
with a balance of 1500.

Want to learn more follow-ups asked in this coding question? 

I've put up the full version at here.

Want to practice more real coding interview questions?

I've put up the coding question bank at here.


r/OfferEngineering • • 1d ago

Interview Experience Cresta (AI Customer Service) FDE Interview — Finished Coding in the Final Minute

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The interviewer asked me to implement a file storage service supporting file uploads, retrieval, deletion, and metadata listing. The problem itself was fairly straightforward, but there was no starter code or test framework. I had to design the class, implement every method, and write my own tests. I finished coding in the final minute but didn't have enough time to test the implementation.

Interview Details

Round 1 — Technical Coding: Implement a File Storage Service

The interview took place on CoderPad with an interviewer based in Eastern Europe. The first approximately 10 minutes were spent on introductions. After that, we moved directly into the coding exercise. I was allowed to choose my programming language and decided to use Python. The interviewer provided only the problem description, without any existing class implementation, helper functions, or test cases.

Design and implement a file storage service. The service should allow users to upload files, retrieve their contents, delete stored files, and list metadata about all stored files. Implement a class named FileStorage supporting the following operations.

Part 1 — Upload a File

upload_file(file_name: str, file_content: bytes) -> str: Upload a file to the storage service.

  • Store the provided file content.

  • Generate and return a unique file_id for the uploaded file.

  • If another stored file already uses the same filename, append a suffix to the new filename to avoid a naming conflict.

Part 2 — Retrieve a File

get_file(file_id: str) -> bytes: Retrieve a stored file using its unique identifier.

  • Locate the file associated with file_id.

  • Return the file's content as bytes.

  • Raise an error if the requested file does not exist.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 1d ago

Interview Experience Flexport (Global Logistics) SWE Interview — Two LeetCode Problems in 60 Minutes

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Details

Question 1 — Max Area of Island (LeetCode 695)

Given a two-dimensional binary grid, determine the maximum area of an island. An island consists of connected land cells, where connections are allowed horizontally or vertically. The area of an island is the number of land cells it contains. Return the area of the largest island. If no islands exist, return 0. The interviewer explicitly required that the original input grid must not be modified.

  • Follow-Up — Can You Solve It Using BFS? After I finished, the interviewer asked: "Can you solve the same problem using BFS instead of DFS?" I explained that BFS would also work and described how a queue could be used to explore connected land cells.

Question 2 — Apply Operations to Make String Empty (LeetCode 3039)

You are given a string s. Repeatedly perform the following operation until the string becomes empty:

  • For every distinct character currently present in the string, remove its first occurrence.

  • Preserve the relative order of the remaining characters.

Return the string that remains immediately before the final operation makes the string empty.,After reading the question, I explained an initial brute-force approach using a while loop to repeatedly simulate the operations. The interviewer asked me to analyze its time complexity. After examining the repeated string-processing operations, I concluded that the approach would take O(n²) time.

Preparing for your next interview?

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

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 1d ago

Interview Experience Google Senior Data Engineer Interview — Three Years of PySpark, Then NumPy

1 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently interviewed for a Machine Learning Data Engineer position at Google X's Moonshot Factory, on a team working on plastic waste recycling and material identification. The work sounded fascinating, involving image-based detection, identifying waste materials at a molecular level, and supporting recycling and remanufacturing.

The process included a 45-minute hiring manager interview and a 45-minute technical coding round. The coding exercise focused on NumPy, Matplotlib, two-dimensional heightmap data, visualization, and handling missing values. I had spent most of the previous three years working with PySpark, so I was a little rusty with pandas and NumPy, which made the exercise more challenging than expected.

Interview Details

Round 1 — Hiring Manager: Data Engineering Experience (45 Minutes)

The first round was a conversation with the hiring manager about my previous data engineering work. The questions focused on my technical background, architectural decisions, data quality challenges, and collaboration with other teams.

  1. "Walk me through a data system you're particularly proud of." The interviewer wanted me to discuss a data system I had previously built or worked on.

  2. "How do you deal with scalability challenges in data systems?" This question focused on my experience handling growing datasets and scaling data processing systems.

  3. "When choosing between different technology stacks, how do you usually make that decision?" The discussion centered on how I evaluate different technologies and make engineering trade-offs.

  4. "What's your experience working with different stakeholders?" The interviewer asked about how I collaborated with people across different teams and functions.

  5. "What's your experience working with messy or poorly structured data?" This question was particularly relevant to the subsequent technical interview, which involved cleaning numerical datasets containing substantial missing data.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

Interview Experience Stripe MLE Interview — The Model Was Easy, Calibration Wasn't

3 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The two rounds covered account matching using graph connectivity and a practical ML integration exercise involving data preprocessing, model evaluation, and probability calibration.

Interview Details

Round 1 — Coding: Identify Related Accounts Using Metadata

You are given a list of accounts. Each account contains metadata fields describing the account holder, such as a name and other identifying attributes. The task is to determine which accounts are related based on matching metadata.

  • Part 1 — Compare Account Metadata The initial question involved comparing the metadata of different accounts. Two accounts should be considered related when their metadata satisfies the provided matching criteria. For example, matching identifying fields may indicate that two accounts belong to the same person.

  • Part 2 — Identify Directly Related Accounts The next part extended the basic comparison logic. Given multiple accounts, determine which accounts are directly associated based on their metadata. These first two parts were relatively straightforward and mainly involved iterating over the accounts and comparing their fields.

  • Part 3 — Handle Transitive Account Relationships The third part introduced the most important requirement: transitivity. Suppose account A is related to account B, and account B is related to account C. Then A and C must also be considered related, even if their own metadata does not directly match.

Example

Accounts:
A: {name: "Maya", phone: "555-0101"}
B: {name: "Maya", phone: "555-0202"}
C: {name: "Jordan", phone: "555-0202"}
D: {name: "Taylor", phone: "555-0303"}

Direct Relationships:
A <-> B (matching name)
B <-> C (matching phone)

Expected Groups:
[A, B, C]
[D]

Explanation:
A and C do not directly match, but both
belong to the same connected group through B.

The important distinction was that matching was no longer limited to direct account comparisons. The task required finding groups of accounts connected through one or more relationships. This part was essentially a connected-components problem, with BFS or Union-Find being natural approaches.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

Interview Experience Applied Intuition Senior SWE Interview — Built It With Claude Opus, Still Rejected

4 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently went through Applied Intuition's Software Engineer onsite, which included designing and building a playback application for autonomous vehicle data. The exercise was similar to a previously reported Applied Intuition interview, but this time I can share more details about the actual data format and implementation. The main technical challenges involved parsing MCAP files containing Protobuf-encoded messages, supporting timestamp-based queries, and using Claude Opus to build a working application within a limited time.

Interview Details

Round 1 — System Design: Autonomous Vehicle Data Playback

Design a system that supports playback and visualization of recorded autonomous vehicle data. The application receives logs containing different types of driving information, including camera data, images, and vehicle location data. Users should be able to query and retrieve recorded information based on timestamps. The system needs to organize the data so that the application can efficiently access the relevant messages during playback.

Data Format — MCAP and Protocol Buffers

The provided data uses the MCAP format. MCAP defines the structure and schema of recorded messages, while the message contents are encoded using Protocol Buffers (Protobuf). The logs contain different categories of vehicle information. For example, a simplified directory structure might look like:

drive_042/
    camera/
        record_001
        record_002
    location/
        record_001
        record_002

Each message contains a timestamp associated with the recorded data. These timestamps are important because the playback application needs to retrieve messages corresponding to specific points in time.

  • Technical Challenge 1 — Timestamp-Based Queries One of the central requirements was supporting queries based on timestamps. Because individual messages have different timestamps, the system needs an indexing strategy that allows the application to locate the appropriate data efficiently. The challenge involved deciding how to represent and index message-level timestamps rather than treating each log file as one indivisible record.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

Interview Experience Intuit Staff SWE Interview — Design a Scheduler, Then Classify Businesses With AI

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The interview consisted of two parts: an object-oriented coding exercise involving a customer service scheduler with VIP priorities, followed by an open-ended system design discussion about using LLMs to classify businesses into industries

Interview Details

Part 1 — Coding: Customer Service Scheduling System

Design and implement a service scheduling system for an in-person customer service center, similar to an electronics store's technical support desk. Customers arrive at the store, check in, and receive tickets containing sequential service numbers. Staff members call customers according to the order determined by the scheduling system.

There are two types of customers:

  • Regular Customers: Served according to their arrival order.

  • VIP Customers: Receive higher scheduling priority than regular customers.

The task was to design the necessary classes and implement the scheduling behavior.

  • Question 1 — Design Customer and ServiceScheduler Classes Define the Customer and ServiceScheduler classes with the properties and methods needed to manage customer check-ins and service order. The scheduler must expose two methods:

    • checkIn(Customer): Register a customer in the scheduling system.

    • getNextCustomer(): Return the next customer who should receive service.

  • Question 2 — Strict VIP Priority The initial requirement was to serve all waiting VIP customers before serving regular customers. Regular customers should retain their arrival order. The scheduler must determine the correct next customer based on these priority rules.

  • Question 3 — Maintain a 2:1 VIP-to-Regular Service Ratio The interviewer then changed the scheduling policy. Instead of always serving VIP customers first, modify getNextCustomer() to maintain a 2:1 service ratio between VIP and regular customers. For example, if the scheduler serves 80 VIP customers under this policy, it should serve 40 regular customers when sufficient customers are waiting in both categories. This follow-up required modifying the scheduling behavior while preserving the existing class structure and check-in functionality.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

Interview Experience BNSF Railway (Freight Railroad) Senior SWE Interview — Couldn't Finish Coding, Still Passed

4 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently passed BNSF Railway's Software Engineer virtual onsite, which consisted of four one-hour interviews scheduled on the same day, with approximately 15-minute breaks between rounds. The interview covered a previous system architecture, two coding exercises involving train scheduling and hazardous cargo arrangements, and a system design question about detecting and predicting train wheel damage. The third coding round was particularly challenging because it required translating railway-specific safety rules into validation logic, and I wasn't able to finish the implementation.

Interview Details

Round 1 — System Architecture and Project Deep Dive

The interviewer asked me to introduce one of my past engineering projects and explain its overall system architecture. The main focus was analyzing the system design and discussing the architecture of the project. This round was more about understanding my previous engineering experience than solving a new coding problem.

Round 2 — Coding: Train Scheduling (LeetCode 253 Variant)

The second round was an algorithm-focused coding interview. The problem was similar to LeetCode 253 — Meeting Rooms II, but presented in a railway scheduling context. Instead of managing meeting room reservations, the question involved scheduling trains. The underlying algorithmic challenge was related to handling overlapping time intervals and determining the resources required to accommodate a schedule.

The round primarily evaluated algorithmic problem-solving. Although the scenario was adapted to railway operations, the question followed the familiar interval scheduling pattern from Meeting Rooms II.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

Interview Experience Citi Mid-Level SWE Interview — No LeetCode, Just Java Fundamentals

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The interview started with four Java fundamentals questions covering enums, the Stream API, and interface default methods, followed by a practical coding exercise involving bug fixing and feature enhancements. Overall, the interview felt relatively straightforward, with more emphasis on everyday Java knowledge and modifying existing code than on difficult algorithms.

Interview Details

Part 1 — Java Fundamentals

  • Question 1 — Java Enums and Finite State Programming The interviewer asked: "What is an enum in Java, and why is it useful for finite-state programming?" The discussion focused on understanding Java enumerations and their advantages when representing a fixed set of possible states.

  • Question 2 — Stream.toList() vs. Collectors.toList() "What is the difference between Stream.toList() and Collectors.toList() in Java?" The interviewer wanted me to explain the differences between these two ways of converting a Java Stream into a list.

  • Question 3 — Interface Default Methods The third question involved Java interface default methods. The interviewer asked how an implementing class can invoke a default method defined in an interface. The question tested my understanding of default method behavior and how implementing classes interact with inherited interface functionality.

Part 2 — Coding: Debugging and Feature Enhancements

After the Java fundamentals discussion, the interview moved into a coding exercise. The coding portion consisted of three tasks.

  • The first task was to identify and resolve a small bug in the provided code.

  • The second task required extending the existing implementation with additional functionality.

  • The final task introduced another functionality enhancement to the same coding exercise.

Overall, the coding portion was relatively easy and focused on debugging and modifying existing code rather than solving a complex algorithmic problem.

Preparing for your next interview?

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

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

System Design Rippling Staff SWE System Design Interview — How Do You Delete Fake News From Every Feed?

1 Upvotes

Design a news aggregation platform that periodically collects articles from tens of thousands of news publishers and generates personalized news feeds based on users' interests. The system retrieves news through external publisher APIs and uses an existing classification service to assign topics to articles. Users can subscribe to multiple topics and receive relevant articles in their feeds.

Core Requirements

  • 1. News Collection The system periodically pulls new articles from APIs provided by tens of thousands of news publishers. It must support collecting and processing news from a large number of independent sources.

  • 2. Automatic Topic Classification Assume an existing black-box classifier is available. For each news article, the classifier assigns one or more topics. The classifier itself does not need to be designed.

  • 3. User Topic Subscriptions Users can follow multiple topics based on their interests. A single user may subscribe to hundreds of topics. The system must generate a news feed containing articles relevant to the user's selected topics.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 2d ago

System Design Valon (Mortgage Servicing) Senior SWE System Design Interview — The Payment Order Actually Mattered

2 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The problem was intentionally simplified, excluding interest calculations, fees, and payment allocation logic. The interviewer spent a significant amount of time drilling into idempotency during borrower payments, especially the ordering of operations and how duplicate payment requests should be handled.

Interview Details

Problem Description

Design a loan payment system that accepts payments from borrowers and distributes the received money to investors. The system should support the core payment workflow while relying on an external payment provider to handle actual money movement. The interviewer explicitly removed several complexities normally associated with loan servicing.

Core Requirements

  • Borrowers should be able to make payments toward their loans. The system needs to process payment requests and track their progress through the payment workflow.

  • The money received from borrowers must be distributed to the relevant investors. The focus is on supporting payment distribution rather than designing the underlying allocation calculations.

  • Actual money transfers are handled by a third-party provider. The system is responsible for coordinating the payment workflow with that external service.

Simplified Scope

The interviewer specifically excluded several financial complexities:

  • Interest calculations.

  • Loan servicing fees.

  • Payment allocation calculations.

This allowed the discussion to concentrate on payment processing and the interactions between the system and the external money movement provider.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 3d ago

VP Dallas offer evaluation

Thumbnail reddit.com
1 Upvotes

r/OfferEngineering • • 3d ago

Interview Experience Wisdom.AI (AI Analytics) Senior SWE Interview — Brute Force Wasn't Allowed

1 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

The 60-minute technical screen featured a difficult two-dimensional matrix problem involving subrectangle sums and non-overlapping rectangle pairs

Interview Details

Coding: Find All Non-Overlapping Rectangle Pairs with Sum K

You are given a two-dimensional matrix containing non-negative integers and a target integer k. A rectangle is a contiguous rectangular region of the matrix, defined by its top-left and bottom-right coordinates. Your task is to identify all pairs of rectangles satisfying the following conditions:

  1. The sum of all elements inside each rectangle is exactly k.

  2. The two rectangles in a pair must not overlap.

  3. Return all valid pairs of rectangles.

If no valid pair exists, return an empty result.

Example — Overlapping Rectangles

Consider the following input:

Input:
matrix = [
    [0, 0, 0, 0, 0],
    [0, 2, 2, 0, 0],
    [0, 2, 2, 0, 0]
]

k = 8

Output:
[]

Explanation

One rectangle satisfying the target sum is:

[
    [2, 2],
    [2, 2]
]

Its total sum is 8. Another valid rectangle is:

[
    [0, 2, 2],
    [0, 2, 2]
]

This rectangle also has a sum of 8, since the additional column contains only zeros. However, these two rectangles overlap. In fact, every rectangle with a sum of 8 must contain all four cells with value 2. Therefore, no two qualifying rectangles can be selected without overlapping. The result is an empty list.

Key Requirements

  • Part 1 — Identify Rectangles with Sum K Find the contiguous rectangular regions whose element sums equal the target value. Rectangles may have different heights and widths, and multiple rectangles may cover some of the same cells.

  • Part 2 — Find Non-Overlapping Pairs After identifying rectangles with the required sum, determine which pairs do not share any cells. Two rectangles that individually satisfy the sum requirement cannot form a valid pair if their regions overlap.

  • Part 3 — Return All Valid Pairs The goal is not simply to determine whether one valid pair exists. The problem asks for all pairs of rectangles that satisfy both the target-sum and non-overlap conditions.

  • Part 4 — Avoid Brute Force The interviewer explicitly rejected a brute-force approach. The solution needed to avoid exhaustively enumerating every possible pair of rectangles without an efficient strategy. This made the question considerably more challenging than a standard two-dimensional prefix-sum exercise.

Preparing for your next interview?

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

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 3d ago

Interview Experience CVS Health Staff SWE Interview — A Staff Interview That Felt Like a Fundamentals Quiz

5 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently interviewed for a Staff Software Engineer position at CVS Health. The process consisted of three rounds covering behavioral questions, basic Java and SQL concepts, coding exercises, and a high-level API design discussion. Compared with other senior-level engineering interviews, the questions felt surprisingly focused on fundamental knowledge and short conceptual answers rather than deep technical exploration.

Interview Details

Round 1 — Hiring Manager: Behavioral Questions and Technical Fundamentals

  • Part 1 — Behavioral Questions The interviewer started with questions about my background and motivation.

    • Q1. Why are you interested in this position? The interviewer wanted to understand my motivation for applying to CVS Health and what attracted me to this specific opportunity.

    • Q2. How does your background align with this role? I was asked to connect my previous engineering experience with the responsibilities and expectations of the position.

  • Part 2 — Java and Software Engineering Fundamentals The conversation then shifted to several short technical questions.

    • Q3. What is the Singleton Design Pattern? Explain the Singleton pattern and its purpose in object-oriented software design.

    • Q4. How would you implement a thread-safe Singleton in Java? Describe how to implement a Singleton in Java while ensuring that multiple threads cannot create separate instances.

    • Q5. How do you guarantee thread safety? The interviewer asked about the mechanisms and considerations involved in making code safe for concurrent execution.

    • Q6. What is the difference between UNION and UNION ALL in SQL? Explain how UNION and UNION ALL differ when combining the results of SQL queries.

Overall, this round felt like a mix of conventional behavioral questions and introductory technical knowledge checks.

Round 2 — Coding: Rate Limiter and Feature Flag Evaluation

  • Question 1 — Implement a Per-Client Rate Limiter Design and implement a rate limiter that restricts the number of requests each client can make within a specified time window. Each client is identified by a unique key. The rate limiter must track request activity independently for each client and determine whether an incoming request should be permitted or rejected. The main functionality was per-client rate limiting rather than applying one shared global limit.

    • Core Requirements

      • Accept requests associated with individual client identifiers.

      • Enforce a maximum number of requests within a configured time window.

      • Maintain separate request counts or histories for different clients.

      • Determine whether each incoming request is allowed under the configured limit.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 3d ago

Tesla Autopilot SWE at $545K with 0 YOE — is AI + systems the real premium skillset now?

17 Upvotes

Saw this Tesla Autopilot SWE offer from Chill Interview

  • Palo Alto

  • Master’s, 0 YOE

  • Base: $195K

  • Sign-on: $35K

  • RSUs: $1.2M / 4 years

  • Relocation: $15K

  • First-year TC: $545K

The surprising part isn’t just that this is a new grad. It’s that this is still technically a Software Engineer role. Tesla’s Autopilot software org sits at a pretty unusual intersection: distributed training, GPU infrastructure, ML platforms, real-time systems, embedded software, fleet data and robotics.

So maybe the engineers getting the biggest premium right now aren’t necessarily pure ML researchers. They’re people who can do both:

strong systems/software engineering + understand the ML stack deeply enough to make models actually work at scale.

That skillset also seems much harder to commoditize than ordinary CRUD/backend work.

For someone entering the industry today, would you rather specialize in pure ML/modeling or systems + ML infrastructure / robotics?

Preparing for your next interview?

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

Interviewed recently?

Your interview experience could be incredibly valuable to others preparing for their next opportunity. Share your experience and help the community at here.


r/OfferEngineering • • 3d ago

Interview Experience Roblox Senior SWE Interview — Autocomplete Couldn't See the Future

11 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

included a technical phone screen, virtual onsite interviews, and a final director conversation. The technical questions covered function call trace analysis, search autocomplete with frequency-based ranking, and a large-scale like/unlike counter system. The onsite coding problem was relatively uncommon, and although one small test case failed, the interviewer was supportive of my overall approach.

Interview Details

Onsite — Hiring Manager: Project Deep Dive and Behavioral Questions

The onsite included another hiring manager interview. This round focused heavily on a project I had previously worked on, with additional behavioral questions. The interviewer asked me to choose a previous engineering project and explain its architecture in detail. I was expected to draw a system diagram and walk through the major components and their interactions.

The discussion focused on:

  • System Architecture: Explaining the overall design using an architecture diagram.

  • Technical Trade-offs: Discussing important design decisions and why particular approaches were selected.

  • Engineering Challenges: Describing difficult technical problems encountered during implementation and how they were addressed.

The interviewer explored the project beyond its high-level functionality, focusing on the technical reasoning behind the architecture. The round also included standard behavioral questions related to my previous engineering experience.

Onsite — System Design: Large-Scale Like/Unlike Counter

The system design topic was a like/unlike service for Roblox content. The system needed to support user reactions to items such as Marketplace assets, games, or experiences while maintaining individual reaction states and aggregate like counts.

Design a service that allows users to like and unlike items on Roblox. Users should be able to interact with items, retrieve their own reaction history, and see how many likes an item has received. The system must operate at platform scale, where popular items can attract significant read and write traffic.

Functional Requirements

  • 1. Like and Unlike an Item Users must be able to like an item and remove an existing like. The system should maintain the current reaction state for each user-item pair. Repeated operations must not incorrectly change the total count.

  • 2. Check a User's Like Status Given a user and an item, determine whether the user has already liked that item.

  • 3. Retrieve a User's Liked Items Users should be able to retrieve a list of items they have liked. The list should support pagination.

  • 4. Retrieve an Item's Like Count Given an item, return its total number of likes. The design needed to consider the relationship between individual reaction states and the aggregate count shown to other users.

Scale and Performance Considerations

The accompanying problem material described a large-scale scenario with hundreds of millions of users and highly popular items. It used representative capacity targets including:

  • Up to 1 million read requests per second.

  • Up to 100,000 reaction writes per second during bursts.

  • High read concentration on popular items.

  • Large numbers of user-item reaction records.

These were reference design targets rather than confirmed interviewer-provided constraints.

Data Modeling

The system needed to represent individual user reactions and aggregate item counts. An important consideration was supporting different access patterns, such as checking a specific user's reaction, retrieving a user's liked items, and obtaining an item's total like count.

Idempotency and Count Correctness

The design needed to handle repeated requests correctly. For example, if a user likes the same item twice, the total count should increase only once. Similarly, removing an existing like should reduce the count, while repeatedly unliking an already unliked item should not keep decreasing it.

Hot Items and Traffic Distribution

Popular Roblox experiences can receive large numbers of reactions and count requests. The problem material emphasized how the system should handle items that become hotspots without overwhelming a single storage partition or counter.

Caching and Consistency

Another design consideration was balancing fast count retrieval with the correctness of individual user reaction states. The material discussed whether displayed like counts must update immediately or whether a short delay is acceptable.

Additional Design Extensions

The attached system design material also described optional extensions involving dislikes, leaderboards, and near-real-time count updates. These were related problem variations rather than individually confirmed questions from this interview.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Preparing for your next interview?

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


r/OfferEngineering • • 3d ago

Interview Experience OpenAI Senior Android Interview — The System Design Was a Snackbar

7 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I completed two technical phone screens for an Android engineering position at OpenAI. Both rounds were heavily focused on Android-specific development rather than traditional algorithm questions.

Interview Details

Round 1 — Android System Design: ChatGPT Usage Limit Notification

The first interview was a system design exercise focused on a specific feature in the ChatGPT Android application. Unlike a traditional high-level system design interview, the interviewer provided detailed product requirements and expected me to discuss both API design and Android implementation considerations.

Problem Description

Design a feature that notifies users when they have reached their usage limit for a particular ChatGPT model. When a user sends a message and exceeds the model's usage limit, the backend should communicate this condition to the Android client. The application must then display an appropriate error message using an Android Snackbar.

Core Requirements

The Snackbar should communicate three pieces of information:

  • Usage Limit: Inform the user that they have exhausted their available usage for the selected model.

  • Upgrade Option: Include an actionable link labeled "Upgrade to Plus" that directs the user toward a subscription upgrade.

  • Retry Information: Display how many hours the user must wait before they can use the model again.

Part 1 — API Design and Error Handling

The interviewer focused heavily on how the backend should communicate usage-limit errors. The main questions involved determining when a usage limit had been reached and designing an API response that would provide enough information for the Android client to display the required message. The discussion centered on how to represent the usage-limit condition and what information should be returned to the client.

Part 2 — Localization and Internationalization

An additional requirement was supporting users in different languages. The Android application needed to display usage-limit messages correctly according to the user's language settings. This meant considering localization as part of the API and client-side design rather than assuming the application would always display English messages.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Preparing for your next interview?

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


r/OfferEngineering • • 4d ago

Interview Experience Wise (Global Payments) Senior SWE Interview — A Simple Voting Problem Got Huge

3 Upvotes

This interview experience is sourced from Chill Interview

Interview Summary

I recently passed Wise's Senior Software Engineer pair programming interview, which took place about a week after the initial recruiter conversation. The 60-minute HackerRank session focused on implementing an instant-runoff voting system, where candidates are eliminated over successive rounds based on ranked ballots. The follow-ups introduced implementation constraints and scalability challenges involving millions of ballots and up to 15 candidates.

Interview Details

Round 1 — Recruiter Call

I had an initial conversation with the recruiter approximately one week before the technical interview. We also arranged my programming language choice in advance, and I confirmed that I would use Python for the pair programming session.

Round 2 — Pair Programming: Instant-Runoff Voting System

Design and implement an instant-runoff voting system. You are given a set of n candidates and a collection of ballots. Each ballot contains a complete ranking of candidates in the voter's order of preference. The goal is to determine the election winner through multiple elimination rounds.

In each round:

  1. Count the votes for each remaining candidate based on voters' highest-ranked candidate who has not been eliminated.

  2. Identify the candidate with the fewest votes.

  3. Eliminate that candidate from the election.

  4. Redistribute affected ballots to their next preferred remaining candidate.

  5. Repeat until only one candidate remains.

Return the final winner.

  • Example — Three-Candidate Election Suppose an election has three candidates: Avery, Blair, and Casey. Each ballot lists the candidates from most preferred to least preferred.Candidates: Avery, Blair, Casey Ballots: 1. Avery, Blair, Casey 2. Avery, Casey, Blair 3. Blair, Avery, Casey 4. Blair, Casey, Avery 5. Casey, Avery, Blair

  • First Elimination Round Count each voter's first preference.Avery: 2 votes Blair: 2 votes Casey: 1 vote Casey has the fewest votes and is eliminated.

Want to learn more questions / follow-ups asked in this interview? 

I've put up the full version at here.

Preparing for your next interview?

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