Online assessment
MathWorks Coding Questions
Overview
Practice MathWorks coding questions in the style students report for online assessments and technical interviews. Focus areas: MATLAB/algorithms, DSA, numerical methods. Languages commonly allowed: MATLAB, C++, Python, Java.
MathWorks coding pattern
| Item | Typical expectation |
|---|---|
| Problems | 1-3 coding tasks depending on drive |
| Skills | MATLAB/algorithms, DSA, numerical methods |
| Languages | MATLAB, C++, Python, Java (use what the assessment email lists) |
| What matters | Correctness first, then speed and clear code |
Practice problems
Question 1: maximum subarray sum
Coding Q1: Maximum subarray sum (Kadane)
Problem: Given an integer array, find the contiguous subarray with the largest sum and return that sum. Example: [-2,1,-3,4,-1,2,1,-5,4] → 6 (from [4,-1,2,1]).
Approach: Keep a running sum. If the running sum drops below 0, reset it to 0 before taking the next element (or track the best ending-here value). Track the global maximum as you scan once from left to right.
Complexity: O(n) time, O(1) extra space
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 2: reverse a string in place
Coding Q2: Reverse a string in place
Problem: Given a mutable character array representing a string, reverse it in place without allocating another array of the same size.
Approach: Use two pointers at the start and end. Swap characters, then move inward until the pointers meet. Watch empty and single-character inputs.
Complexity: O(n) time, O(1) extra space
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 3: check prime
Coding Q3: Check prime
Problem: Write a function that returns true if n is prime and false otherwise. Handle n < 2 correctly.
Approach: Return false for n < 2. Trial-divide from 2 to floor(sqrt(n)). If any divisor divides n evenly, it is composite; otherwise prime.
Complexity: O(√n) time
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 4: valid parentheses
Coding Q4: Valid parentheses
Problem: Given a string containing only ‘()[]’, decide whether the brackets are balanced and correctly nested.
Approach: Scan left to right with a stack. Push opening brackets. On a closing bracket, the stack top must be the matching opener. At the end the stack must be empty.
Complexity: O(n) time, O(n) space
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 5: two sum
Coding Q5: Two Sum
Problem: Given an array of integers and a target, return indices of two numbers that add up to the target. Assume exactly one solution and you may not use the same element twice.
Approach: Walk the array once. For each value x, check whether target − x was seen earlier in a hash map of value → index. If yes, return both indices; else store x.
Complexity: O(n) time, O(n) space
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 6: longest substring without repeating characters
Coding Q6: Longest substring without repeating characters
Problem: Given a string s, find the length of the longest substring without repeating characters. Example: ‘abcabcbb’ → 3 (‘abc’).
Approach: Sliding window with a map (or last-seen index) of characters. Expand the right pointer; when a duplicate appears inside the window, move the left pointer past the previous occurrence.
Complexity: O(n) time
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 7: merge overlapping intervals
Coding Q7: Merge overlapping intervals
Problem: Given a list of intervals [start, end], merge all overlapping intervals and return the non-overlapping set that covers the same ranges.
Approach: Sort by start time. Walk once, merging into the last interval in the result when the next start is ≤ current end; otherwise append a new interval.
Complexity: O(n log n) time from the sort
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 8: top k frequent elements
Coding Q8: Top K frequent elements
Problem: Given an integer array and an integer k, return the k most frequent elements. Order among equals can be arbitrary unless the problem says otherwise.
Approach: Count frequencies with a hash map, then use a heap of size k (or bucket sort by frequency) to extract the top k keys.
Complexity: O(n log k) with a heap
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 9: linked list cycle
Coding Q9: Linked list cycle
Problem: Given the head of a linked list, return true if there is a cycle and false otherwise.
Approach: Floyd’s tortoise and hare: move one pointer one step and another two steps. If they meet, a cycle exists. If the fast pointer hits null, there is no cycle.
Complexity: O(n) time, O(1) space
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Question 10: binary tree level order
Coding Q10: Binary tree level order
Problem: Given the root of a binary tree, return the level-order traversal (breadth-first) as a list of levels.
Approach: Use a queue. For each level, drain the current queue size, collect values, and enqueue children for the next level.
Complexity: O(n) time, O(n) space
MathWorks tip: Restate the problem, sketch a brute-force idea, then tighten it. Call out edge cases (empty input, single element, overflow) before you write code.
Pattern drill plan (2 weeks)
| Day | Drill |
|---|---|
| Mon | Arrays + hashing (2 problems) |
| Tue | Two pointers / sliding window |
| Wed | Stacks / strings |
| Thu | Trees or graphs basics |
| Fri | Timed mock (1-2 problems) |
| Sat | Re-solve misses cold |
| Sun | Explain your project out loud + rest |

