Atlassian-style preparation
Practice data structures, code design and changing system requirements. Explain tradeoffs and how you adapt.
Explore questions and sources →RESUMEWORLDS / ORIGINAL QUESTION LIBRARY
104 coding exercises with authored examples and private grading cases, plus 50 system-design scenarios with constraints and failure rounds.
Download public question bankPublic links share question material. Your code, drafts, interview history, hidden tests and reference implementations stay private. Coding execution requires a configured isolated runner.
Practice data structures, code design and changing system requirements. Explain tradeoffs and how you adapt.
Explore questions and sources →Rehearse collaborative implementation, debugging and explaining your career decisions. Prepare for role-specific craft conversations.
Explore questions and sources →Practice algorithms, data structures and service design. Explain customer impact and failure handling.
Explore questions and sources →Write executable code, test boundaries, explain complexity and reason about resilient distributed systems.
Explore questions and sources →Solve unfamiliar algorithm problems aloud. Explain assumptions, alternatives and complexity before optimizing.
Explore questions and sources →Original exercises mapped to public guidance. Company-style relevance does not mean a company asked these questions.
Company-style selections are editorial practice suggestions. View topics and source →
154 of 154 original questions
A career dashboard receives n signed activity changes. Return their total without changing their order or values.
Visitor IDs may repeat in the practice log. Count how many distinct integer IDs occurred.
Daily momentum can rise or fall. Find the maximum sum of a nonempty contiguous segment of the daily changes.
Count index pairs i < j whose activity costs add to the target budget. Equal values at different indexes count separately.
Given sorted availability scores, return the zero-based index of the first score at least the target. Return n if none qualifies.
Review n positive workloads in order across at most d days. Each day takes a contiguous group. Find the smallest daily capacity that can complete every workload.
Each activity is labeled by an integer topic ID. Find the longest contiguous window containing at most k distinct topics.
Positive IDs open actions; negative IDs close the matching positive ID. Actions must close in reverse opening order. Print 1 if the entire sequence is correctly nested and fully closed, otherwise 0.
Mentoring sessions use half-open intervals [start, end). Find the minimum number of rooms needed. A room ending at time t can be reused by a session starting at t.
Given an undirected unweighted graph, return the fewest edges from source to target, or -1 if unreachable. Duplicate edges and self-loops are allowed.
You have unlimited tokens of each given positive value. Return the fewest tokens needed to total exactly the target, or -1 if impossible.
Find the length of the longest strictly increasing subsequence of milestone scores. A subsequence preserves order but may skip entries; equal scores do not extend it.
Walls have unit width and nonnegative integer heights. Return the total water trapped after rain.
Return the second largest DISTINCT score, or -101 if fewer than two distinct scores exist.
Count pairs i < j for which value[i] > value[j]. Equal values do not count.
Return the topic ID occurring strictly more than n/2 times, or -101 if no such ID exists.
The n supplied IDs are distinct members of 0..n. Return the one missing ID.
Return the smallest positive integer absent from the supplied values.
Swap any two positions per move. Find the fewest swaps needed to place all 1 flags in one contiguous group. Return 0 when there are no 1 flags.
Buy once and later sell once, or do nothing. Return the maximum nonnegative gain from the daily prices.
Buy and sell repeatedly but hold at most one unit at a time. No fees or cooldown apply. Return the greatest total gain.
Return the length of the smallest contiguous segment whose sorting makes the whole array nondecreasing. Return 0 if already sorted.
Return the largest product of a nonempty contiguous segment. Zeros and negative values are allowed.
Return the length of the longest run of consecutive distinct integer values, regardless of their input order.
Count nonempty contiguous segments whose sum equals the target.
Return the minimum length of a nonempty contiguous segment whose sum is at least target; return 0 if none qualifies.
Count nonempty contiguous segments whose product is strictly below k.
Count nonempty contiguous segments containing exactly k distinct values.
Return the longest contiguous span containing equally many zeros and ones.
Flip at most k zero flags into ones. Return the longest achievable contiguous one streak.
Return the maximum sum among contiguous windows of exactly k values. Negative sums remain negative.
A strictly increasing array was cyclically rotated. Return the zero-based target index, or -1 if absent.
Return the smallest value of a rotated strictly increasing array.
Values strictly increase then strictly decrease, with the summit strictly inside the array. Return its zero-based index.
Merge two nondecreasing logs conceptually. Return the k-th smallest value, with k one-based. Duplicates count separately.
Return floor(sqrt(x)) without requiring floating-point root operations.
Each hour processes at most rate units from one workload; leftover hourly capacity is not shared. Find the minimum positive integer rate finishing all workloads within h hours.
Return TWICE the median of two nondecreasing arrays, so the output remains an integer. For even length add the two central values; for odd length double the central value.
Each bar has width one. Return the largest rectangular area lying completely under consecutive histogram bars.
For each reading, wait until the first later STRICTLY larger reading; if none exists, its wait is zero. Return the sum of all index waits.
Count pairs i<j that can see each other: every intermediate height must be strictly below min(height[i],height[j]). Adjacent rooftops always qualify.
For every nonempty contiguous segment take its minimum. Return the sum of these minimums.
Take the maximum of each length-k contiguous window and return the sum of these maxima.
Evaluate a valid postfix expression. Operands are integers -10..10; tokens 101,102,103 mean addition, subtraction and multiplication. Subtraction uses left operand minus right operand.
Tokens 1 and -1 mean open and close brackets of one kind. Return the fewest bracket insertions needed to make the entire sequence balanced.
Given a valid balanced bracket sequence encoded as 1=open and -1=close, return its maximum nesting depth.
Return the length of the longest contiguous VALID balanced bracket segment encoded as 1=open and -1=close. Balanced totals alone do not ensure valid prefixes.
Each command pair is (1,x) to enqueue x or (2,0) to remove the front if present. Return the final front, or -101 for an empty queue.
Return the greatest positive integer dividing every supplied positive batch size.
Count index pairs i<j whose positive values have greatest common divisor 1.
Count prime integers in the inclusive range 0..x.
Return the number of trailing decimal zeros in x!, with 0!=1. Do not construct the factorial.
Return base^exponent modulo modulus. Define exponent zero as yielding 1 before taking the modulus.
Count unordered ways to choose exactly r different people from n. Return 0 for r>n. People are distinct and order does not matter.
Return the minimum number of positive perfect squares that sum to x. Squares may repeat; x=0 needs zero tokens.
Add the number of one bits in the binary representation of every integer from 0 through x, inclusive.
Repeatedly replace a positive integer with the sum of squares of its decimal digits. Print 1 if this reaches 1, otherwise 0 when a cycle repeats.
Return the length of the longest nonempty contiguous palindromic glyph sequence.
Count all nonempty palindromic contiguous glyph sequences. Equal content at different indexes counts separately.
Partition the glyph sequence into contiguous palindromes. Return the fewest cuts between parts.
Return the fewest single-glyph insertions, deletions and substitutions converting the first sequence to the second. Every operation costs one.
Return the length of the longest sequence that is a subsequence of both inputs. Subsequence order is preserved but indexes may be skipped.
Return the length of the longest contiguous glyph block occurring in both inputs. Skipping characters is not allowed.
Count indexed subsequences of the first input equal to the second input. Return the count modulo 1,000,000,007.
Return the shortest contiguous source window containing every target glyph with at least its target multiplicity. Return 0 if no covering window exists.
Count contiguous source windows that are permutations of the target glyph sequence, including target multiplicities.
Compress each consecutive run as one glyph plus the decimal run count when the run is longer than one. Return the resulting encoded length; the glyph always occupies one symbol.
Return the length of the longest contiguous glyph sequence with no repeated glyph.
A=1 through Z=26. Count ways to decode the full digit sequence. Zero cannot stand alone; a pair may not begin with zero. Return the count modulo 1,000,000,007.
Start at the top-left and move only right or down to the bottom-right. Zero cells are open and one cells blocked. Count routes modulo 1,000,000,007; blocked endpoints yield zero.
Move right/down from top-left to bottom-right. Return the minimum total charge including both endpoints.
One cells are land. Count connected land components using four-side adjacency.
Return the cell count of the largest four-side connected land component, or 0 if no land exists.
Return the number of land-cell sides touching water or outside the grid. Multiple islands and enclosed water are allowed.
Cells encode 0=open, 1=blocked, 2=start and 3=exit. Return the fewest four-side moves from start to exit, or -1 if unreachable.
For each cell measure the fewest four-side moves to any zero cell; one cells are walkable. Return the sum of these distances.
Return the area of the largest axis-aligned square containing only one cells, or 0 when no land exists.
Return the maximum number of edges from root 0 to any node. A single-node tree has height 0.
Count nodes with no children in the rooted tree, including the root when it is the only node.
Nodes have signed weights. Return the maximum sum on a ROOT-TO-LEAF path, including endpoints. Do not stop early at an internal node.
Return the greatest edge distance between any two nodes of the tree. Direction from parents does not constrain the path.
Select as few tree nodes as possible so every parent-child edge has at least one selected endpoint. Return the minimum selected-node count.
Print 1 if the supplied binary tree satisfies strict BST ordering, otherwise 0. Every value in a left subtree must be smaller and every value in a right subtree larger; duplicates invalidate it.
Count connected components of the undirected graph, including isolated vertices.
Print 1 if vertices can be colored with two colors so every undirected edge joins different colors; otherwise 0. Self-loops invalidate it.
Print 1 if the undirected multigraph contains a cycle, otherwise 0. A self-loop is a cycle; two parallel edges form a cycle.
Edges are directed. Print 1 if a directed cycle exists, otherwise 0.
Count vertex permutations in which every directed edge u→v places u before v. Cyclic inputs have zero orders.
Every directed edge points from a smaller vertex ID to a larger one. Return the longest path’s number of edges, allowing any start and end.
Return the cheapest directed source-to-target route cost, or -1 if unreachable. Source equals target has cost zero.
Edges are undirected. Return the cheapest total edge cost connecting all vertices, or -1 if impossible. A one-vertex network costs zero.
Find the cheapest directed route using AT MOST k edges, not k intermediate stops. Return -1 if none qualifies.
Count vertices whose removal, including incident edges, increases the number of connected components of the UNDIRECTED graph. Compare with the original component count.
Count undirected edges whose individual removal increases the connected-component count. Parallel edges are separate: removing one may leave another route.
Count strongly connected components of a directed graph. Every pair of vertices within one group can reach each other.
Assign left-side learners to compatible right-side mentors. Each learner and mentor may appear in at most one assignment. Return the maximum assignment count.
Select as many sessions as possible with no overlap. Sessions are half-open [start,end), so touching endpoints are compatible.
Each job takes one time slot and earns its nonnegative reward only if completed by its integer deadline. Slots are numbered from one. Return maximum total reward; a job can run at most once.
Merge any two positive log sizes for cost equal to their sum; the merged log has that size. Repeat until one log remains. Return the minimum total cost.
Each station supplies fuel and has a cost to travel to the next station, with the last wrapping to zero. Start with an empty tank. Return the smallest zero-based start index completing one full loop without a negative tank, or -1.
An initially empty cache holds at most capacity keys. Every request makes its key most recently used. A missing key counts as one miss and is inserted, evicting the least recently used key if full. Return the miss count.
Process nondecreasing request timestamps. Admit a request only if fewer than limit previously ADMITTED requests lie in (time - window, time]. Rejected requests do not consume capacity. Equal timestamps are distinct requests. Return the admitted count.
Deliver the first notification for each user. Deliver another only when at least cooldown time has passed since that user’s last DELIVERED notification. Ignored notifications do not restart cooldown. Return the delivered count.
Start with n zero-valued slots. Each update adds a nonnegative amount to every slot in the inclusive range [left,right]. Return the largest final slot value.
Design a service that reminds learners about scheduled practice. Support email and push, local time zones, opt-outs and delivery history.
Design a community library where learners voluntarily publish code/design artifacts and reviewers leave structured feedback. Private drafts must stay private.
Design a code execution service for timed assessments. Keep hidden tests private and isolate arbitrary submissions from application credentials and other tenants.
Limit API usage across free and paid tenants while retaining clear retry behavior.
Create short public links with expiration, click analytics and abuse controls.
Support one-to-one chat, offline delivery and per-conversation ordering.
Build a feed of followed creators with private-account permissions and muted topics.
Search products by text, category and price while preserving stock freshness.
Sell limited seats with temporary holds, payments and cancellation.
Consume provider payment events and maintain an auditable order payment state.
Coordinate checkout, inventory, payment and fulfillment across independent services.
Upload large work artifacts with interruption recovery, access control and scanning.
Cache frequently read profile summaries while supporting owner updates and deletion.
Manage browser/device sessions, logout-all and account risk actions.
Collect application logs for tenant-scoped debugging and retention.
Collect service metrics and notify operators when rules breach thresholds.
Serve flags to clients with staged rollouts and rollback.
Match riders with nearby available drivers and confirm one assignment.
Support shared document editing, offline reconnect and version history.
Book interviewer time slots while respecting availability and cancellations.
Ingest public authorized job feeds, normalize records and expose original source provenance.
Store editable resume versions and owner-controlled export/share snapshots.
Suggest the next practice task from recorded mistakes and explicit goals.
Reserve product quantities during checkout across warehouses.
Ingest parcel scans and display a coherent tracking history to customers.
Upload videos and produce multiple playback renditions with status tracking.
Store private photos, generate thumbnails and support shared albums.
Notify when a device enters or leaves a configured geographic zone.
Roll out signed device updates with staged cohorts and rollback.
Rank participants by score and show neighborhood rankings with tie rules.
Route requests to services with per-route authentication, timeouts and canary versions.
Coordinate workers so a task has one valid lease holder at a time.
Run tenant tasks at scheduled times with retries and missed-run policies.
Transform events into curated analytics records with schema evolution.
Provide customer dashboards over tenant-scoped event aggregates.
Assign users to experiments and record exposure events consistently.
Let users export their own data as a bounded downloadable archive.
Keep account reads/writes available across two regions with a defined recovery policy.
Migrate a large user table to a new schema while the application keeps writing.
Deliver credentials to authorized services with rotation and audit history.
Reserve budgets before paid operations and reconcile actual costs afterward.
Sync learner notes between phone and browser with offline edits and deletion.
Collect transaction risk signals and queue cases for authorized human review.
Answer preparation questions using an approved content library with source references.
Publish coding questions while keeping grading cases private and preserving old submissions.
Allocate isolated code-runner workers across competing tenants with deadlines.
Meter API consumption and produce monthly tenant invoices from usage events.
Crawl an explicitly authorized set of public domains with duplicate detection and resource budgets.
Verify account email with expiring one-time links, resend limits and delivery status.
Route incoming support cases to qualified agents while preserving case history.