Wix Coding Interview Questions
25 Wix coding interview problems with full optimal solutions — 16 easy, 7 medium, 2 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Wix interviewer values, and a FAQ section.
- #14easyfoundational
14. Min Stack
Design a stack with O(1) min retrieval — Wix interviewers use this to test whether you can extend a basic data structure with auxiliary state, the same reasoning behind undo/redo stacks in the site editor.
- #15easyfoundational
15. Implement Queue using Stacks
Build a FIFO queue from two LIFO stacks — Wix uses this to check your grasp of amortised cost, which is the same reasoning behind batched DOM mutation queues that keep the drag-drop editor smooth.
- #16easyfoundational
16. Longest Common Prefix
Find the longest string prefix shared by an array of strings — Wix uses this as a proxy for CSS class-name deduplication and URL-path trie reasoning that matters in their routing and SEO infrastructure.
- #17mediumfoundational
17. Merge Intervals
Collapse overlapping time ranges into non-overlapping segments — Wix applies this pattern to animation timeline collision detection and to calendar/booking widgets in the site builder.
- #18mediumfoundational
18. Number of Islands
Count connected land regions in a binary grid — Wix uses BFS/DFS grid traversal as a proxy for how you'd detect connected component groups in a 2-D layout canvas where elements can snap or merge into blocks.
- #19mediumfoundational
19. Rotate Image
Rotate an n×n matrix 90 degrees in place — Wix asks this to test spatial matrix reasoning, which maps directly to 2-D grid layout transforms and canvas rotation operations in the site editor.
- #20mediumfoundational
20. Decode String
Expand a run-length encoded string like '3[a2[bc]]' into 'abcbcabcbcabcbc' — Wix applies this exact nested-expansion pattern to CSS shorthand parsing and to template-variable substitution in their email and site-builder engines.
- #21mediumfoundational
21. Course Schedule
Detect cycles in a directed prerequisite graph to decide if all courses are completable — Wix applies the same topological-sort cycle check to component dependency graphs, build pipelines, and plugin load-order resolution in their platform.
- #22mediumfoundational
22. LRU Cache
Build a fixed-capacity cache that evicts the least recently used entry — Wix uses LRU as the eviction policy for rendered-widget caches and undo-history buffers in the site editor, making this a core design pattern for the team.
- #23mediumfoundational
23. Word Search
Find a word by traversing a character grid without reusing cells — Wix tests this backtracking pattern as a stand-in for constraint-propagation problems like detecting valid UI element placements in a grid-based layout canvas.
- #24hardfoundational
24. Serialize and Deserialize Binary Tree
Convert a binary tree to a portable string and restore it exactly — Wix stores the entire site element tree as a serialized document, so this problem directly exercises the persistence and hydration logic at the heart of their editor.
- #25hardfoundational
25. Flatten Nested List Iterator
Build a lazy iterator over an arbitrarily nested list structure — Wix's element hierarchy is a nested document tree, and this problem tests whether you can traverse it on-demand without materialising the full flat list, which matters for large pages.
- #1easyfoundational
1. Two Sum
Find two indices in an array whose values sum to a target; classic hash-map warm-up at Wix.
- #2easyfoundational
2. Valid Parentheses
Validate balanced brackets using a stack; Wix uses this for template-tag matching in their HTML editor.
- #3easyfoundational
3. Merge Two Sorted Lists
Merge two sorted linked lists; Wix uses this pattern when merging revision histories of two collaborators editing the same template.
- #4easyfoundational
4. Remove Duplicates from Sorted Array
Remove duplicates from a sorted array in-place; Wix uses two pointers for deduplicating ordered template-component IDs.
- #5easyfoundational
5. Remove Element
Remove all occurrences of a value in-place; Wix uses the pattern to strip deleted components from a published-site DOM array.
- #6easyfoundational
6. Search Insert Position
Binary search for an insert position; Wix uses this when placing newly dragged components in a sorted layout array.
- #7easyfoundational
7. Maximum Subarray
Find the contiguous subarray with maximum sum (Kadane); Wix uses it to detect peak-traffic windows in published-site analytics.
- #8easyfoundational
8. Plus One
Add one to a number represented as a digit array; Wix uses similar arithmetic when bumping per-tenant template version numbers.
- #9easyfoundational
9. Merge Sorted Array
Merge two sorted arrays in-place; Wix uses this when merging a tenant's draft and published layout arrays before deploying a site.
- #10easyfoundational
10. Binary Tree Inorder Traversal
Return the inorder traversal of a binary tree's values; Wix uses the pattern to walk a page's nested component tree in render order.
- #11easyfoundational
11. Same Tree
Determine if two binary trees are identical; Wix uses the same shape check when diffing draft vs published template trees.
- #12easyfoundational
12. Symmetric Tree
Check if a binary tree mirrors itself around its center; Wix uses the helper when validating symmetric layout templates.
- #13easyfoundational
13. Maximum Depth of Binary Tree
Find the maximum depth of a binary tree; Wix uses tree depth as a complexity proxy for template render-cost estimates.