# Top 3 Vimeo Coding Interview Questions from 2025


# Introduction
In this blog post, we'll share the most commonly asked coding interview questions at Vimeo.  If you don't have months to study for your interviews, you can use AI tools like [Chatmagic](https://www.chatmagic.app) to generate solutions quickly and efficiently - helping you pass the interviews and get the job offer!

	
# Problem #1: [Flower Planting With No Adjacent](https://leetcode.com/problems/flower-planting-with-no-adjacent)
> You have n gardens, labeled from 1 to n, and an array paths where paths[i] = [xi, yi] describes a bidirectional path between garden xi to garden yi. In each garden, you want to plant one of 4 types of flowers. All gardens have at most 3 paths coming into or leaving it. Your task is to choose a flower type for each garden such that, for any two gardens connected by a path, they have different types of flowers. Return any such a choice as an array answer, where answer[i] is the type of flower planted in the (i+1)th garden. The flower types are denoted 1, 2, 3, or 4. It is guaranteed an answer exists.   Example 1:  Input: n = 3, paths = [[1,2],[2,3],[3,1]] Output: [1,2,3] Explanation: Gardens 1 and 2 have different types. Gardens 2 and 3 have different types. Gardens 3 and 1 have different types. Hence, [1,2,3] is a valid answer. Other valid answers include [1,2,4], [1,4,2], and [3,2,1].  Example 2:  Input: n = 4, paths = [[1,2],[3,4]] Output: [1,2,1,2]  Example 3:  Input: n = 4, paths = [[1,2],[2,3],[3,4],[4,1],[1,3],[2,4]] Output: [1,2,3,4]    Constraints:  1 <= n <= 104 0 <= paths.length <= 2 * 104 paths[i].length == 2 1 <= xi, yi <= n xi != yi Every garden has at most 3 paths coming into or leaving it.  

Topics: Depth-First Search, Breadth-First Search, Graph


# Problem #2: [Maximum Subarray](https://leetcode.com/problems/maximum-subarray)
> Given an integer array nums, find the subarray with the largest sum, and return its sum.   Example 1:  Input: nums = [-2,1,-3,4,-1,2,1,-5,4] Output: 6 Explanation: The subarray [4,-1,2,1] has the largest sum 6.  Example 2:  Input: nums = [1] Output: 1 Explanation: The subarray [1] has the largest sum 1.  Example 3:  Input: nums = [5,4,-1,7,8] Output: 23 Explanation: The subarray [5,4,-1,7,8] has the largest sum 23.    Constraints:  1 <= nums.length <= 105 -104 <= nums[i] <= 104    Follow up: If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle. 

Topics: Array, Divide and Conquer, Dynamic Programming


# Problem #3: [3Sum](https://leetcode.com/problems/3sum)
> Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets.   Example 1:  Input: nums = [-1,0,1,2,-1,-4] Output: [[-1,-1,2],[-1,0,1]] Explanation:  nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0. nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0. nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0. The distinct triplets are [-1,0,1] and [-1,-1,2]. Notice that the order of the output and the order of the triplets does not matter.  Example 2:  Input: nums = [0,1,1] Output: [] Explanation: The only possible triplet does not sum up to 0.  Example 3:  Input: nums = [0,0,0] Output: [[0,0,0]] Explanation: The only possible triplet sums up to 0.    Constraints:  3 <= nums.length <= 3000 -105 <= nums[i] <= 105  

Topics: Array, Two Pointers, Sorting


