DeltaX Associate Product Engineer - Coding Round Prep Notes
1. Arrays & Strings
Key Concepts:
- Traversal, Two Pointer, Sliding Window, Prefix Sum
Example: Two Sum
def twoSum(nums, target):
seen = {}
for i, num in enumerate(nums):
if target - num in seen:
return [seen[target - num], i]
seen[num] = i
Practice: Leetcode #1, #53, #3, #121
2. HashMap / HashSet
Key Concepts:
- Frequency counters, duplicate detection
Example:
def has_duplicate(nums):
seen = set()
for n in nums:
if n in seen:
return True
[Link](n)
return False
3. Recursion & Backtracking
Key Concepts:
- Recursive logic and base case
- Backtracking to explore all paths
Template:
DeltaX Associate Product Engineer - Coding Round Prep Notes
def backtrack(path, options):
if base_condition:
[Link](path)
return
for opt in options:
backtrack(path + [opt], options - {opt})
4. Sorting & Searching
Key Concepts:
- Quick Sort, Merge Sort, Binary Search
Binary Search Example:
def binary_search(arr, target):
l, r = 0, len(arr) - 1
while l <= r:
mid = (l + r) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
l = mid + 1
else:
r = mid - 1
return -1
5. Stacks & Queues
Stack (LIFO): Used for expression evaluation
Queue (FIFO): Used in BFS
Valid Parentheses:
def isValid(s):
stack = []
map = {')': '(', ']': '[', '}': '{'}
DeltaX Associate Product Engineer - Coding Round Prep Notes
for ch in s:
if ch in map:
top = [Link]() if stack else '#'
if map[ch] != top:
return False
else:
[Link](ch)
return not stack
6. Linked Lists
Key Concepts:
- Node structure, traversal, reverse
- Detect cycle
Use fast and slow pointers for cycle detection.
7. SQL Basics
Examples:
SELECT * FROM employees WHERE department = 'IT';
SELECT department, COUNT(*) FROM employees GROUP BY department;
SELECT [Link], [Link] FROM employee e JOIN department d ON e.dept_id = [Link];
8. C# & [Link] Overview
C#:
- Learn Class, Object, List<>, Dictionary<>, LINQ basics
[Link]:
- Use v-model, v-bind, v-if, v-for, props, @click