Workday Coding Interview Questions
100 Workday coding interview problems with full optimal solutions — 31 easy, 55 medium, 14 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Workday interviewer values, and a FAQ section.
Showing 31 problems of 100
- #1easyfrequently asked
1. Two Sum
Given an array of integers and a target, return the indices of the two numbers that add up to the target. Workday uses this to evaluate whether you reach for a hash map instead of brute-force enumeration when reconciling payroll line items.
- #2easyfrequently asked
2. Valid Parentheses
Given a string containing only brackets, determine if the input is valid. Workday uses this to gauge stack intuition for nested approval chains — every 'submit' must match a 'review'.
- #3easyfrequently asked
3. Merge Two Sorted Lists
Merge two sorted linked lists into one sorted list. Workday uses this to evaluate pointer hygiene — payroll merges sorted contribution streams (401k, HSA, FSA) into a single time-ordered ledger every cycle.
- #4easyfrequently asked
4. Remove Duplicates from Sorted Array
Remove duplicates in-place from a sorted array. Workday tests this for two-pointer fluency — they dedup employee IDs in payroll batches that arrive from multiple HRIS feeds.
- #5easysometimes asked
5. Remove Element
Remove all occurrences of a value in-place from an array. Workday tests this for terminated-employee scrubbing — strip out IDs marked for deactivation from an active-roster array.
- #6easyfrequently asked
6. Search Insert Position
Given a sorted array and a target, return the index where the target is found or would be inserted. Workday uses this to test binary-search hygiene for slot-aware pay-grade insertion into compensation bands.
- #8easysometimes asked
8. Plus One
Given a non-negative integer as a digit array, increment by one and return as a digit array. Workday uses this to test carry-propagation discipline — payroll batch IDs are big integers that increment past JS number precision.
- #9easyfrequently asked
9. Merge Sorted Array
Merge two sorted arrays in-place into the first one (sized for both). Workday uses this for end-to-front pointer practice — merging current-period and adjustment ledger entries when only the result buffer exists.
- #10easyfrequently asked
10. Binary Tree Inorder Traversal
Given the root of a binary tree, return the inorder traversal of its node values. Workday uses this to verify you can both recurse AND iterate trees — org charts may be too deep for recursion when traversing a 50,000-employee hierarchy.
- #11easyfrequently asked
11. Same Tree
Given two binary trees, determine if they are structurally identical with equal values. Workday uses this to test parallel recursion — diffing two snapshots of an org chart to find structural drift.
- #12easysometimes asked
12. Symmetric Tree
Given the root of a binary tree, check whether it is a mirror of itself. Workday uses this to extend the parallel-recursion pattern from Same Tree — useful for symmetrical permission policies in dual-approval workflows.
- #13easyfrequently asked
13. Maximum Depth of Binary Tree
Given the root of a binary tree, return its maximum depth. Workday uses this as the tree-recursion warmup before harder org-chart depth questions like 'find the deepest reporting chain'.
- #14easysometimes asked
14. Balanced Binary Tree
Determine if a binary tree is height-balanced. Workday uses this to catch sloppy 'recompute depth at every node' candidates — at org-chart scale, that's O(n^2).
- #15easyfrequently asked
15. Path Sum
Given a binary tree and a target sum, determine if there's a root-to-leaf path summing to the target. Workday uses this to evaluate accumulator-passing in recursion — analogous to summing payroll items along an approval chain.
- #16easysometimes asked
16. Pascal's Triangle
Generate the first numRows of Pascal's triangle. Workday uses this to test 2D-array construction and row-from-previous-row dependency — analogous to month-over-month payroll deltas.
- #17easyfrequently asked
17. Best Time to Buy and Sell Stock
Given daily stock prices, find the maximum profit from a single buy-and-sell. Workday uses this to test running-minimum tracking — the same pattern used for finding the best fiscal-year window in compensation grading.
- #18easysometimes asked
18. Valid Palindrome
Determine whether a string is a palindrome considering only alphanumeric characters and ignoring case. Workday uses this to evaluate two-pointer fluency on cleaned input — same pattern as normalizing employee-ID strings during reconciliation.
- #19easysometimes asked
19. Single Number
Given a non-empty array where every element appears twice except for one, find that single one. Workday uses this to gauge whether you can leverage XOR for O(1)-space dedup — useful when audit logs pair every action with its reversal.
- #20easyfrequently asked
20. Linked List Cycle
Determine if a linked list has a cycle. Workday uses this for Floyd's tortoise-and-hare fluency — same pattern that catches circular reporting in org-chart imports.
- #23easysometimes asked
23. Majority Element
Find the element that appears more than n/2 times. Workday uses this to evaluate whether you reach for Boyer-Moore voting — useful when reconciling 'which dept gets the most pay-grade adjustments'.
- #25easyrarely asked
25. Reverse Bits
Reverse the bits of a 32-bit unsigned integer. Workday uses this to test bitwise fluency — needed when packing role/permission flags into compact bitmaps for RBAC.
- #26easyrarely asked
26. Number of 1 Bits
Return the number of set bits in a 32-bit unsigned integer. Workday uses this to count active permissions in a role bitmap — bonus signal if you know the n & (n-1) trick.
- #28easysometimes asked
28. Happy Number
Determine if a number is 'happy' — iterating the sum-of-digits-squared reaches 1. Workday uses this to test cycle-detection on numeric sequences — same Floyd's pattern as in linked lists.
- #29easysometimes asked
29. Isomorphic Strings
Determine if two strings are isomorphic — characters in s can be replaced to get t with a consistent one-to-one mapping. Workday uses this for column-mapping integrity checks during HRIS imports.
- #30easyfrequently asked
30. Reverse Linked List
Reverse a singly linked list. Workday uses this for pointer hygiene — the same prev/curr/next dance needed when reversing an audit-log timeline.
- #65easysometimes asked
65. Convert Sorted Array to Binary Search Tree
Convert a sorted array into a height-balanced BST. Workday uses this for divide-and-conquer tree construction — same shape as building a balanced compensation-band tree from sorted salary ranges.
- #74easyfrequently asked
74. Contains Duplicate
Determine whether an array contains any duplicates. Workday uses this for hash-set fluency — same shape as checking whether an employee ID appears twice in a payroll batch.
- #75easysometimes asked
75. Invert Binary Tree
Invert a binary tree (swap left and right at every node). Workday uses this as a 5-line warmup before harder tree problems — but they grade on whether you write the recursion cleanly.
- #81easyfrequently asked
81. Move Zeroes
Move all zeros to the end of an array while preserving the order of non-zero elements. Workday uses this for two-pointer in-place fluency — same shape as deferring 'inactive' employee records to the end of an active-roster array.
- #86easysometimes asked
86. Intersection of Two Arrays II
Return the intersection of two integer arrays preserving duplicate counts. Workday uses this for hash-map counting — same shape as 'employees who appear in both the active roster and the payroll batch'.
- #92easyfrequently asked
92. Binary Search
Implement binary search on a sorted array. Workday uses this as a fluency check — they'll follow up with rotated-search and first-bad-version variants in the same interview.