Question Your task is to implement a simple in-memory cloud storage system that maps objects (files) to their metadata (name, size, etc.). You...
Input: Graph (nodes and edges) Output: Array
codingHardVerified Question#2
2. OA[CodeSignal] Design Banking System
Category: Graph coding problem
Question Design a banking system that supports account management, transactions, and various financial operations.
Input: Graph (nodes and edges) Output: Computed result
codingMediumVerified Question#3
3. Friend Requests Sent
Category: Algorithm coding problem
Question Given a list of ages representing users in a social network, calculate the total number of friend requests each user will send based on...
Input: List Output: Computed result
codingHardVerified Question#4
4. Minimum Prefix Subset
Category: Tree coding problem
Question Given a list of strings, find the minimum subset of prefixes that can represent the entire input set. A string is "represented" if it...
Input: Array of strings Output: Integer
codingMediumVerified Question#5
5. Shortest Substring with Alphabet
Category: Sliding window coding problem*This is a popular twist Meta interviewers often put on the classic leetcode problem to find a minimum window substring.* Given an input string and...Input: String Output: Integer
codingMediumVerified Question#6
6. Shortest Substring with N Unique Characters
Category: String coding problem
Shortest Substring with N Unique Characters *This is a variation of the leetcode problem* Given a string s and an integer n, find the length of...
Input: String Output: Computed result
codingHardVerified Question#7
7. OA[CodeSignal] In-Memory Database
Category: Graph coding problem
Description Implement a simplified in-memory database that supports record manipulation with various operations. The system should handle basic...
Input: Graph (nodes and edges) Output: Array
codingEasyVerified Question#8
8. [CodeSignal] Count Non-Dominant Elements
Category: Array coding problem
Question Given an array of integers numbers, count all elements that are not equal to numbers[0] or numbers[1] (if those indices exist in the...
Input: Array of integers Output: Computed result
codingEasyVerified Question#9
9. [CodeSignal] Sort Words By Vowel Consonant Difference
Category: Array coding problem
Question You are given a string text consisting of unique lowercase English words separated by spaces. For each word, compute the absolute...
Input: Array Output:** Computed result
codingMediumVerified Question#10
10. [CodeSignal] Warehouse Robot Commands
Category: Matrix coding problem
Question In a highly automated warehouse, a robot organizes packages stored in a rectangular grid. The grid is represented as a 2D list of integers...
Input: Matrix (2D array) Output: Computed result
codingHardVerified Question#11
11. [CodeSignal] House Segments After Destruction
Category: Array coding problem
Question You are monitoring the building density in a district of houses. The district is represented as a number line, where each house is located...
Input: Array of integers Output: Array
codingMediumVerified Question#12
12. Distribution Center Placement
Category: Array coding problemA logistics company is expanding its distribution network along a single highway. You are given an array of integers locations representing the...Input: Array of integers Output: Computed result
codingHardVerified Question#13
13. Expression Simplifier
Category: String coding problemGiven an algebraic expression string containing single lowercase-letter variables, the operators + and -, and parentheses ( and ), simplify...Input: String Output: Computed result
codingMediumVerified Question#14
14. Minimum Sum Tree Path
Category: Binary tree coding problem
Minimum Sum Tree Path
Input: Binary tree Output: Computed result
technicalMediumVerified Question#15
15. How to pass AI Enabled Coding Rounds From FAANG Interviewer
Category: Algorithm coding problem
Tips For AI Coding Rounds AI coding rounds are not as different from regular coding rounds as you might think. The interviewer still needs to get...
Input: Given input Output: Computed result
codingMediumtree#1
1. Tree — Count Unique Binary Search Trees
Background: In Meta's various applications, understanding how to manage hierarchical data structures effectively is crucial. Binary Search Trees (BSTs) often support dynamic data management, as seen in features that require efficient querying and storage. Problem statement: Given an integer n, return the number of unique Binary Search Trees (BST) that can be formed using n distinct integers from 1 to n. A Binary Search Tree is defined as a tree in which all nodes follow the left < current < right property. Function/class signature:
def numTrees(n: int) -> int:
Example 1: Input: n = 3 Output: 5 Explanation: The possible unique BSTs are: 1. 1 2 3 \ / \ / 2 1 1 2 2 \ \ \ 3 3 1Example 2: Input: n = 1 Output: 1 Explanation: With only 1 node, there's only 1 unique BST possible.Constraints:
1 <= n <= 19
codingMediumtree#2
2. CODING — Serialize and Deserialize a Binary Tree
Background: In Facebook's backend services, managing user connections and interactions can be complicated, especially when handling data structures like trees. This problem directly relates to how user data can be organized and transferred over the network. Problem statement: You need to implement two methods to serialize and deserialize a binary tree. The serialize function should convert the tree into a string form, so it can be easily saved or transmitted. The deserialize function should take this string and reconstruct the binary tree. Use pre-order traversal for serialization and handle null values appropriately. Function/class signature:
def serialize(root: Optional[TreeNode]) -> str:
def deserialize(data: str) -> Optional[TreeNode]:
Example 1:
Input: root = [1,2,3,null,null,4,5]
Output: "1,2,#,#,3,4,#,#,5,#,#"
Explanation: The binary tree can be represented as a serialized string.
Example 2:
Input: data = "1,2,#,#,3,4,#,#,5,#,#"
Output: root = [1,2,3,null,null,4,5]
Explanation: It accurately reconstructs the original binary tree from the serialized string.
Constraints:
The number of nodes in the tree is in the range [0, 10^4].
Each node's value is a string representing an integer in the range [-10^4, 10^4].
codingMediumdynamic programming#3
3. Dynamic Programming — Maximum Number of Events that Can Be Attended
Background: As Meta develops features for its events platform, optimizing the number of events a user can attend without overlap is crucial for enhancing user experience. Problem statement: You are given an array of events, where each event is represented as a pair of integers [start, end]. An individual can attend an event if they can arrive at the event's start time or after the event has started. Each event must be completed to move to the next one. Your task is to return the maximum number of events that can be attended. Function/class signature:
def max_events(events: List[List[int]]) -> int:
Example 1:
Input: events = [[1,2],[2,3],[3,4]]
Output: 3
Explanation: All the events do not overlap, so the user can attend all three.
Example 2:
Input: events = [[1,4],[4,6],[6,8],[3,5]]
Output: 4
Explanation: The user can attend all events as they fall into a sequence without overlaps.
Constraints:
1 <= len(events) <= 10^4
1 <= start <= end <= 10^5
codingMediumtwo pointers#4
4. [Two Pointers] — Finding Unique Triplets with a Given Sum
Background: Meta's platforms involve vast amounts of user data, where identifying unique patterns can help in creating better user experiences and targeted advertisements. The 3Sum problem is integral to analyzing interactions.Problem statement: Given an integer array nums of size n, return all the unique triplets [nums[i], nums[j], nums[k]] such that i, j, and k are different indices, and their sum equals to zero. The result must not include duplicate triplets, hence the order of results does not matter.Function/class signature:
Example 1: Input: nums = [-1, 0, 1, 2, -1, -4] Output: [[-1, -1, 2], [-1, 0, 1]] Explanation: The above combinations sum up to zero and are unique.Example 2: Input: nums = [] Output: [] Explanation: No triplets can be formed from an empty list.Constraints:
0 <= n <= 3000
-10^5 <= nums[i] <= 10^5
codingMediumtree#5
5. [Graph] — Level Order Traversal with Custom Sorting
Background: In the context of Meta's messaging platform, ensuring efficient data presentation is crucial. Users want to see their messages organized in a specific order for improved readability and usability. Problem statement: Given a binary tree representing the messages, where nodes contain the message sender and timestamp, implement a function that performs a level order traversal of the tree, but with each level sorted by the timestamp of the messages. Return the list of messages in the required order. Note: If there are multiple messages with the same timestamp, maintain their relative order from the original tree. Function/class signature:
Explanation: Messages are shown in order based on their timestamps.
Example 2:
Input: A different tree where timestamps are not in sequential order.
Output: [("David", 4), ("Eve", 5), ("Frank", 7)]
Constraints:
The binary tree will contain at most 10^4 nodes.
Timestamps are non-negative integers.
Each message is a string up to 100 characters long.
codingHardtree#6
6. Binary Tree Serialization — serialize and deserialize a binary tree
Background: At Meta, efficient data storage and retrieval are essential for features like News Feed and Messenger. Serializing a binary tree allows for easy transfer and storage of tree structures, especially those representing user relationships or posts. Problem statement: Implement the methods serialize and deserialize that convert a binary tree into a single string representation and back again. The representation must be unique and should correctly reconstruct the original tree structure. You can use any traversal method. Function/class signature:
def serialize(root: Optional[TreeNode]) -> str:
def deserialize(data: str) -> Optional[TreeNode]:
Example 1:
Input: root = [1,2,3,null,null,4,5]
Output: "1,2,3,null,null,4,5"
Explanation: The binary tree is represented in a level-order format as a string.
Example 2:
Input: root = [1]
Output: "1,null"
Explanation: A single-node tree is represented correctly.
Constraints:
The tree will have between 0 and 10^4 nodes.
The node values will be integers in the range [-1000, 1000].
codingMediumhash map#7
7. Hash Map — Find the Complementary Pair in User IDs
1. Background: At Meta, user experience is crucial, particularly when leveraging social graphs. Understanding user connections through complementary pairs can optimize recommendations in platforms like Facebook. 2. Problem statement: Given an array of user_ids and a target_sum, return the indices of the two user IDs such that their corresponding values add up to the target_sum. You may assume that each input would have exactly one solution, and you may not use the same element twice. 3. Function/class signature: - def find_complementary_pair(user_ids: List[int], target_sum: int) -> List[int]: 4. Example 1: Input: user_ids = [3, 5, 2, 8, 6], target_sum = 10 Output: [0, 3] Explanation: User IDs 3 and 8 add up to 10. 5. Example 2: Input: user_ids = [1, 4, 5, 6, 7], target_sum = 11 Output: [2, 3] Explanation: User IDs 5 and 6 add up to 11. 6. Constraints: - 2 <= len(user_ids) <= 10^4 - -10^9 <= user_ids[i] <= 10^9 - 2 <= target_sum <= 2 * 10^9
codingHardgraph#8
8. [OA] Graph Traversal — Find shortest path for the Facebook Events navigation
This problem simulates navigation through Facebook Events. Efficient pathfinding is crucial for enhancing user experience in discovering events. Given an undirected graph represented as an adjacency list, return the shortest path from node start to node end.Example 1: Input: edges = [[0, 1], [1, 2], [2, 3]], start = 0, end = 3 Output: [0, 1, 2, 3] Explanation: The shortest path from node 0 to node 3 is 0 -> 1 -> 2 -> 3.Example 2: Input: edges = [[0, 1], [1, 2], [0, 2], [2, 3]], start = 0, end = 3 Output: [0, 2, 3]Constraints:
1 <= edges.length <= 10^4
Each edge is a pair of distinct integers.
codingHardsliding window#9
9. [OA] Sliding Window — Find the longest substring containing at most two distinct characters for Facebook Messenger
This problem is important for optimizing the chat list experience in the Messenger app. By ensuring quick access to frequently used contacts, we can enhance user engagement. Given a string s, find the length of the longest substring containing at most two distinct characters.Example 1: Input: s = "eceba" Output: 3 Explanation: The substring is "ece" which its length is 3.Example 2: Input: s = "ccaabbb" Output: 5 Explanation: The substring is "aabbb" which its length is 5.Constraints:
1 <= s.length <= 10^5
s consists of English letters, digits, symbols, and spaces.
system designHardcaching#10
10. [OA] LRU Cache — Implement the caching system for Instagram feed
Instagram relies on providing quick access to user feeds, which requires an efficient cache management system. Design an LRU Cache to ensure optimal performance.Class LRUCache:
LRUCache(int capacity): Initializes the cache with a positive size capacity.
int get(int key): Returns the value of the key if the key exists, otherwise returns -1.
void put(int key, int value): Update the value of the key if present, or add the key-value pair if not existing. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.