← UiPath Interview Insights

UiPath·Software Engineer·Onsite - Multi Round·Intermediate

IntermediateRejected
Apr 2026

Summary

Three-round backend interview at UiPath for an SDE-2 role covering DSA, a live coding exercise, and low-level design. Finished with a rejection that felt pretty arbitrary given how close to complete everything was, and the last interviewer seemed checked out before the round even started.

Questions Asked (3)

Q1

Solve two medium-to-hard algorithmic problems covering dynamic programming, strings, and greedy approaches within one hour.

Algorithms & Data Structures
Author's notes

Finished both in time which felt good.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem constraints and edge cases, then outline a brute-force solution before optimizing with the appropriate technique (DP, string manipulation, or greedy). Implement and test each solution incrementally, ensuring time and space complexity are analyzed and communicated throughout.

Pro tip: Verbally walk through your thought process and trade-offs before coding; interviewers value clear reasoning and the ability to adapt when hints are given, often more than a perfect solution.

1. Understand and Clarify

Restate the problem in your own words, ask clarifying questions about input size, constraints, and edge cases, and confirm expected output format.

2. Explore Approaches

Discuss a brute-force solution and its complexity, then identify patterns (overlapping subproblems, optimal substructure, local optimality) that suggest DP, string algorithms, or greedy.

3. Design and Optimize

Choose the most efficient approach, define state or greedy criteria, and outline the algorithm step-by-step before writing code.

4. Implement and Test

Write clean, modular code, then test with provided examples and edge cases, debugging aloud as you go.

5. Analyze and Reflect

State time and space complexity, discuss potential improvements or alternative solutions, and summarize key insights.

Key Points to Mention

  • Time and space complexity analysis for each approach
  • Edge cases such as empty input, large inputs, and boundary conditions
  • Trade-offs between different algorithms (e.g., DP vs greedy)
  • Correctness proof or invariant for greedy choices
  • Optimization techniques like memoization, tabulation, or two-pointer
  • Clear communication of thought process and willingness to adapt

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Build a working event booking system using a backend framework of your choice, including business logic, authentication, and schema design, within one hour.

System DesignAPI & IntegrationsData Modeling
Author's notes

This was the most unusual round I've done.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scoping down to a minimal viable product (MVP) that can be built in one hour. Choose a familiar framework (e.g., Node.js/Express, Python/Flask, or Ruby on Rails) and use rapid development tools like SQLite and JWT for authentication. Focus on core functionality: user registration/login, event creation, and booking with basic validation, while explaining design decisions and trade-offs.

Pro tip: Use an in-memory or file-based database (e.g., SQLite) to avoid setup overhead, and leverage framework generators or scaffolding to speed up development. Communicate your progress and decisions clearly, as the interviewer values your thought process as much as the final code.

1. Clarify Requirements and Scope

Ask clarifying questions to understand must-have features (e.g., user roles, event capacity, booking constraints) and agree on an MVP scope that fits the time limit.

2. Design Schema and API

Sketch a simple database schema (users, events, bookings) and define RESTful endpoints (e.g., POST /register, POST /login, POST /events, POST /bookings).

3. Set Up Project and Authentication

Initialize the project with your chosen framework, set up the database, and implement authentication (e.g., JWT) with password hashing.

4. Implement Core Business Logic

Code the main endpoints: user registration/login, event creation, and booking with validation (e.g., check event capacity, prevent double-booking).

5. Test and Explain

Run quick tests (e.g., using curl or Postman) to demonstrate functionality, and explain your design choices, trade-offs, and potential improvements.

Key Points to Mention

  • Choice of framework and rationale (e.g., Express for speed, Flask for simplicity)
  • Database schema design: tables for users, events, bookings with relationships and constraints
  • Authentication mechanism: JWT tokens, password hashing (bcrypt), and secure storage
  • Business logic: event capacity checks, booking validation, and error handling
  • API design: RESTful endpoints, status codes, and request/response formats
  • Trade-offs and scalability: what you would improve with more time (e.g., caching, database indexing, microservices)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Design a bill-splitting application similar to Splitwise, including schema design and expense handling logic, covering all stated requirements.

System DesignData ModelingTechnical Trade-offs
Author's notes

Left one requirement unfinished and explained verbally how I'd approach it.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying functional and non-functional requirements, then design a normalized schema for users, groups, expenses, and settlements. Explain the core expense-splitting logic (equal, exact, percentage, shares) and how balances are computed, and discuss trade-offs like using a ledger vs. materialized balances.

Pro tip: Emphasize idempotency and consistency in expense creation and settlement, as financial data requires strong guarantees; mention how you'd handle concurrency and auditability.

1. Clarify Requirements

Ask about scale, supported split types, currencies, and whether real-time updates or offline support are needed. Confirm non-functional requirements like consistency and latency.

2. Design Schema

Propose tables for users, groups, group_members, expenses, expense_splits, and settlements. Include fields like amount, currency, payer_id, and timestamps, and discuss indexing for common queries.

3. Expense Handling Logic

Explain how to validate and store different split types, compute each participant's share, and update balances. Describe how to handle rounding and currency conversion.

4. Balance Calculation & Settlements

Detail how to compute net balances per user per group, either on-the-fly or via materialized views, and how settlements reduce balances. Discuss simplifying debts with algorithms like minimum cash flow.

5. Trade-offs & Scalability

Compare normalized vs. denormalized approaches, discuss consistency models (strong vs. eventual), and how to scale reads/writes (caching, sharding, event sourcing).

Key Points to Mention

  • Normalized schema with separate tables for expenses and splits to support multiple split types and auditability.
  • Idempotent expense creation using client-generated IDs to prevent duplicate charges.
  • Balance calculation strategies: on-the-fly aggregation vs. materialized balances with periodic reconciliation.
  • Handling multiple currencies and rounding rules to avoid fractional cents issues.
  • Concurrency control (e.g., optimistic locking or serializable transactions) for simultaneous expense additions.
  • Debt simplification algorithm (e.g., greedy or minimum cash flow) to minimize number of transactions.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.