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 55 problems of 100
- #7mediumfrequently asked
7. Maximum Subarray
Find the contiguous subarray with the largest sum. Workday uses this to test Kadane's pattern for finding the best fiscal-quarter window of an employee's incremental bonuses.
- #21mediumfrequently asked
21. Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. Workday uses this as a stand-in for 'efficient running aggregates' — the same pattern used for tracking the lowest pay-grade in a permission-stack snapshot.
- #22mediumfrequently asked
22. Two Sum II - Input Array Is Sorted
Find two numbers in a 1-indexed sorted array that sum to a target. Workday uses this to test two-pointer pattern recognition on sorted ledger data — common shape for paid-vs-owed reconciliations.
- #24mediumsometimes asked
24. Rotate Array
Rotate an array to the right by k steps. Workday uses this to test in-place transformation discipline — same shape as shifting a payroll cycle's days when a holiday lands mid-period.
- #27mediumfrequently asked
27. House Robber
Maximize the sum of values you can take from a row of houses without taking two adjacent. Workday uses this as a DP warmup — same shape as scheduling non-overlapping shift-bonuses across consecutive pay periods.
- #31mediumfrequently asked
31. Add Two Numbers
Given two numbers as reversed linked lists, add them and return as a linked list. Workday uses this to test carry-propagation discipline — same as adding two arbitrary-precision payroll totals stored as digit lists.
- #32mediumfrequently asked
32. Longest Substring Without Repeating Characters
Find the length of the longest substring without repeating characters. Workday uses this for sliding-window fluency — same shape as 'longest unique-employee streak in an audit log'.
- #33mediumsometimes asked
33. Longest Palindromic Substring
Find the longest palindromic substring of a given string. Workday uses this as a DP vs expand-around-center decision point — both are valid; choosing the right one is the test.
- #34mediumsometimes asked
34. Container With Most Water
Given an array of heights, find two lines that hold the most water. Workday uses this for two-pointer convergence reasoning — same shape as maximizing fiscal-coverage between two timeline anchors.
- #35mediumfrequently asked
35. 3Sum
Find all unique triplets in an array that sum to zero. Workday uses this as a sort + two-pointer composition test — same shape as 'find three pay-grade adjustments that net to zero'.
- #36mediumsometimes asked
36. Letter Combinations of a Phone Number
Given a string of digits 2-9, return all letter combinations the digits could represent. Workday uses this for backtracking fluency — the same shape as enumerating valid permission combinations across role tiers.
- #37mediumsometimes asked
37. Remove Nth Node From End of List
Given the head of a linked list, remove the nth node from the end. Workday uses this for two-pointer-with-gap fluency — pointer hygiene mistakes show up immediately.
- #38mediumsometimes asked
38. Generate Parentheses
Generate all valid parenthesis strings of n pairs. Workday uses this for backtracking + pruning — same shape as enumerating valid approval-chain templates.
- #39mediumrarely asked
39. Swap Nodes in Pairs
Swap every two adjacent nodes in a linked list. Workday uses this for fine pointer surgery — the same wrangling needed to merge adjacent payroll segments without losing the chain.
- #40mediumrarely asked
40. Next Permutation
Rearrange numbers into the next lexicographically greater permutation. Workday uses this to test array-manipulation discipline — same pattern as cycling shift-assignment rotations.
- #41mediumfrequently asked
41. Search in Rotated Sorted Array
Search a target in a sorted-then-rotated array in O(log n). Workday uses this to test modified binary search — same shape as querying a payroll-cycle log that has been wrapped around midnight.
- #42mediumsometimes asked
42. Find First and Last Position of Element in Sorted Array
Given a sorted array and a target, find the first and last index of the target. Workday uses this to test binary-search variants — same pattern as finding the first and last shift assigned to an employee within a sorted timeline.
- #43mediumsometimes asked
43. Valid Sudoku
Determine if a 9x9 Sudoku board is valid. Workday uses this for multi-dimensional constraint checks — same shape as validating that role assignments don't conflict across departments, locations, and time bands.
- #44mediumsometimes asked
44. Combination Sum
Find all unique combinations of candidates (reusable) summing to target. Workday uses this for backtracking with reuse — same shape as enumerating ways to allocate a fixed payroll budget across recurring expense categories.
- #45mediumsometimes asked
45. Permutations
Generate all permutations of an array of distinct integers. Workday uses this as the canonical backtracking baseline — same shape as enumerating role-rotation schedules.
- #46mediumsometimes asked
46. Rotate Image
Rotate an n x n 2D matrix by 90 degrees clockwise in place. Workday uses this for matrix-manipulation discipline — same shape as transposing a payroll-period attendance grid.
- #47mediumfrequently asked
47. Group Anagrams
Group strings into anagram clusters. Workday uses this for canonical-key bucketing — same shape as grouping department-code aliases that all refer to the same cost center.
- #48mediumsometimes asked
48. Spiral Matrix
Return all elements of a matrix in spiral order. Workday uses this to test boundary-shrinking discipline — same shape as walking the perimeter of a fiscal calendar grid before drilling inward.
- #49mediumfrequently asked
49. Jump Game
Given an array of max-jump lengths, determine if you can reach the last index. Workday uses this as a greedy-reasoning test — same shape as 'can a workflow proceed from any starting step given variable hop allowances'.
- #50mediumfrequently asked
50. Merge Intervals
Given a collection of intervals, merge all overlapping intervals. Workday uses this canonically for time-and-attendance — same shape as merging overlapping clock-in/out windows to compute total worked hours.
- #51mediumsometimes asked
51. Unique Paths
Count the number of unique paths from top-left to bottom-right of an m x n grid, moving only right or down. Workday uses this as a 2D DP intro — same shape as counting org-chart promotion paths through ranks.
- #52mediumsometimes asked
52. Minimum Path Sum
Find the minimum-sum path from top-left to bottom-right of a grid moving only right or down. Workday uses this for DP-on-grids fluency — same shape as finding the lowest-cost approval chain through a multi-tier authorization graph.
- #53mediumrarely asked
53. Simplify Path
Simplify a Unix-style absolute path. Workday uses this as a stack-on-strings pattern — same shape as resolving nested cost-center inheritance chains.
- #55mediumsometimes asked
55. Set Matrix Zeroes
If an element is 0, set its entire row and column to 0 in place. Workday uses this for in-place matrix updates with marker tricks — same shape as cascading deactivation of a department in a 2D allocation grid.
- #56mediumsometimes asked
56. Sort Colors
Sort an array of 0s, 1s, and 2s in one pass. Workday uses this for Dutch-national-flag fluency — same shape as bucketing employees into three pay-grade tiers in one pass.
- #58mediumsometimes asked
58. Subsets
Return all possible subsets of a set of distinct integers. Workday uses this for power-set generation — same shape as enumerating all possible permission-flag combinations in an RBAC role.
- #59mediumfrequently asked
59. Word Search
Determine if a word exists in a grid of letters using adjacent cells. Workday uses this for DFS-with-backtracking + visited-marking — same shape as searching for a specific approval-chain path through a workflow graph.
- #60mediumsometimes asked
60. Decode Ways
Count the number of ways a digit string can be decoded as letters A-Z (1=A, 26=Z). Workday uses this for DP with constraint-checking — same shape as counting valid time-zone codes from a raw integer stream.
- #61mediumfrequently asked
61. Validate Binary Search Tree
Determine if a binary tree is a valid BST. Workday uses this to test recursion with bounds — same pattern as validating an org-chart's pay-grade ordering: every manager outranks all reports.
- #62mediumfrequently asked
62. Binary Tree Level Order Traversal
Return the level-order (BFS) traversal of a binary tree's values, grouped by level. Workday uses this for tier-by-tier org-chart processing — same shape as emitting all VPs first, then all directors, then all managers.
- #63mediumsometimes asked
63. Binary Tree Zigzag Level Order Traversal
Return the zigzag (alternating left-to-right then right-to-left) traversal of a binary tree. Workday uses this to test BFS + per-level transformation — same pattern as alternating row directions when emitting a multi-level approval-chain report.
- #64mediumsometimes asked
64. Construct Binary Tree from Preorder and Inorder Traversal
Reconstruct a binary tree from its preorder and inorder traversals. Workday uses this to test tree-construction reasoning — same shape as rebuilding an org-chart from two parallel HRIS exports.
- #66mediumfrequently asked
66. Word Break
Determine if a string can be segmented into a sequence of dictionary words. Workday uses this for DP-on-strings — same shape as validating that a free-form job-title string can be decomposed into known role tokens.
- #67mediumfrequently asked
67. LRU Cache
Design an LRU cache with O(1) get and put. Workday uses this for hash-map + doubly-linked-list composition — same shape as caching the most-recently-viewed employee records in an HR app.
- #68mediumsometimes asked
68. Sort List
Sort a linked list in O(n log n) time and O(1) auxiliary space. Workday uses this for merge-sort-on-linked-lists fluency — same shape as merge-sorting an audit-log linked stream without buffering.
- #70mediumfrequently asked
70. Number of Islands
Count the number of islands in a 2D grid of '1' (land) and '0' (water). Workday uses this for grid-DFS counting — same shape as counting connected groups of co-located employees on a floor plan.
- #71mediumfrequently asked
71. Course Schedule
Determine if you can finish all courses given prerequisite dependencies. Workday uses this for cycle-detection in workflow DAGs — same shape as validating that an approval-chain definition doesn't loop back on itself.
- #72mediumsometimes asked
72. Implement Trie (Prefix Tree)
Implement a trie with insert, search, and startsWith. Workday uses this for prefix-search infrastructure — same data structure powering autocomplete on employee names and department codes.
- #73mediumfrequently asked
73. Kth Largest Element in an Array
Find the kth largest element without sorting the entire array. Workday uses this to test heap fluency — same shape as finding the top-k highest-paid employees per department for compensation reports.
- #76mediumsometimes asked
76. Kth Smallest Element in a BST
Find the kth smallest value in a BST. Workday uses this to test in-order traversal awareness — same shape as 'the kth-earliest hire date in a salary-sorted directory'.
- #77mediumfrequently asked
77. Lowest Common Ancestor of a Binary Search Tree
Find the lowest common ancestor of two nodes in a BST. Workday uses this for org-chart-style 'common manager' queries — direct domain fit.
- #78mediumfrequently asked
78. Lowest Common Ancestor of a Binary Tree
Find LCA in a general binary tree (no BST property). Workday uses this for org-chart trees that aren't sorted — finding the lowest shared manager between two employees.
- #79mediumfrequently asked
79. Product of Array Except Self
Return an array where output[i] is the product of all elements except nums[i], without division and in O(n). Workday uses this for prefix/suffix product fluency — same shape as computing aggregate-without-self metrics across departments.
- #82mediumsometimes asked
82. Find the Duplicate Number
Find the duplicate number in an array of n+1 integers where each is in [1, n]. Workday uses this for Floyd's cycle detection in non-linked-list contexts — same shape as finding the duplicate employee record in a permission graph.
- #83mediumsometimes asked
83. Longest Increasing Subsequence
Find the length of the longest strictly-increasing subsequence. Workday uses this for DP-vs-patience-sort decisions — same shape as finding the longest streak of strictly-rising compensation reviews.
- #84mediumfrequently asked
84. Coin Change
Find the minimum number of coins to make a target amount. Workday uses this for unbounded-knapsack DP — same shape as allocating the minimum number of pay-frequency cycles to reach a target year-to-date amount.
- #85mediumfrequently asked
85. Top K Frequent Elements
Return the k most frequent elements in an array. Workday uses this for bucket-sort vs heap decisions — same shape as 'top-k most-used permission codes across an org'.
- #87mediumsometimes asked
87. Longest Substring with At Most K Distinct Characters
Find the length of the longest substring with at most k distinct characters. Workday uses this for sliding-window with constraint counters — same shape as 'longest payroll window covering at most k distinct cost centers'.
- #89mediumsometimes asked
89. Copy List with Random Pointer
Deep-copy a linked list where each node has a random pointer to any other node. Workday uses this for two-pass-or-hash-map design — same shape as cloning an employee record graph with cross-references intact.
- #91mediumrarely asked
91. Design Tic-Tac-Toe
Design an efficient Tic-Tac-Toe game. Workday uses this for incremental-state-tracking — same shape as maintaining running sums for the 'all approvals received?' check across multi-axis approval matrices.