Category: Tree coding problemYou are given a tree-structured network of machines where each node represents a machine. Machines can only communicate with their parent and...Input: String Output: Computed result
codingHardVerified Question#2
2. Memory Allocator
Category: Linked list coding problem
Memory Allocator Design a memory allocator that manages a contiguous block of memory. Implement malloc and free operations with efficient...
Input: Linked list Output: Computed result
codingHardVerified Question#3
3. Toy Language Type Inference
Category: String coding problemImplement a type system for a toy programming language that supports primitives, tuples, and generics. Your task is to represent types and infer...Input: List Output: Computed result
codingHardVerified Question#4
4. Connection Tracker
Category: Algorithm coding problemDesign a social network system that tracks follow relationships between users and preserves a full history through snapshots. The system allows...Input: List Output: Computed result
codingHardVerified Question#5
5. In-Memory SQL Engine
Category: String coding problemDesign an in-memory SQL database that supports creating tables, inserting rows with automatic type inference, and querying with filtering and sorting.Input: List Output: Computed result
codingHardVerified Question#6
6. Persistent Key-Value Store
Category: Trie-based coding problemYou are designing a persistent key-value store that serializes its state to a binary storage medium. Native serialization (e.g., JSON, pickle,...Input: Array Output: Computed result
codingHardVerified Question#7
7. Shard Rebalancer
Category: String coding problemYou are implementing a shard management system for a distributed key-value store. Each shard is identified by a string and covers a contiguous range...Input: String Output: Computed result
codingHardVerified Question#8
8. IP Address Iterator
Category: String coding problemEvery device on the public internet is identified by an IPv4 address written in dotted-decimal notation as "A.B.C.D", where each octet is an...Input: String Output: Computed result
system designHardVerified Question#9
9. Top 5 Open AI System Design Questions
Category: Trie-based system design problem
System Design Questions - OpenAI A collection of commonly asked system design questions from OpenAI interviews.
Input: Given input Output: Computed result
codingHardsliding window#1
1. [OA] Sliding Window — Optimize model inference response times
OpenAI's inference API must handle continuous input streams efficiently, ensuring optimal latency and throughput. Given an array of integers, find the maximum sum of a subarray of size k.
Function Signature
def max_sum_subarray_of_k(arr: List[int], k: int) -> int: Returns the maximum sum of the subarray of size k.
Example 1:
Input: arr = [1, 2, 3, 4, 5], k = 3 Output: 12 Explanation: The maximum sum subarray of size 3 is [3, 4, 5] with a sum of 12.
Example 2:
Input: arr = [2, 3, 4, 1, 5], k = 2 Output: 7 Explanation: The maximum sum is from the subarray [4, 1].
Constraints:
0 < len(arr) <= 1000
1 <= k <= len(arr)
codingHarddynamic programming#2
2. [OA] Dynamic Programming — Optimize OpenAI's text completion efficiency
OpenAI's text completion models require efficient algorithms to generate responses in real-time while minimizing computational cost. Given an array of integers representing the tokens in a sequence, you need to calculate the maximum non-adjacent sum of tokens that can be chosen from this array.
Function Signature
def max_non_adjacent_sum(tokens: List[int]) -> int: Returns the maximum sum of non-adjacent integers.
Example 1:
Input: [3, 2, 5, 10, 7] Output: 15 Explanation: The optimal choice is to take tokens 3, 10, and 2 which gives the maximum sum 15 without selecting adjacent values.
Example 2:
Input: [9, 1, 2, 8, 3] Output: 17 Explanation: The optimal choice is to take tokens 9, 8, and 3.
Constraints:
0 < len(tokens) <= 1000
0 <= tokens[i] <= 1000
system designHarddata structure#3
3. [OA] MedianFinder — Implement a data structure for keeping OpenAI's result metrics
OpenAI often needs to compute the median of predicted metrics in real-time. This requires an efficient data structure to retrieve the median quickly while processing continuous streams of data.
Class Definition
Class MedianFinder should implement the following methods:
addNum(num: int) -> None: Adds a number to the data structure.
findMedian() -> float: Returns the median of all added numbers.
Example 1:
Input: medianFinder = MedianFinder(); medianFinder.addNum(1); medianFinder.addNum(2); medianFinder.findMedian() Output: 1.5 Explanation: The median of [1,2] is 1.5
Example 2:
Input: medianFinder.addNum(3); medianFinder.findMedian() Output: 2 Explanation: The median of [1,2,3] is 2.
Constraints:
-10^5 <= num <= 10^5
There will be at most 1,000,000 calls to addNum and findMedian.
system designHardcaching#4
4. [OA] LRU Cache — Design an LRU Cache for OpenAI's model predictions
OpenAI needs an efficient caching system to store previously computed model predictions, optimizing resource usage and response time.
Class Definition
Class LRUCache should implement the following methods:
get(key: int) -> int: Returns the value of the key if the key exists, otherwise returns -1.
put(key: int, value: int) -> None: Updates the value of the key if the key exists existing and moves the key to the front of the cache. Otherwise, it adds the key/value pair to the cache.