Tip 1: Practice problems from past interview experiences, as many questions are often repeated in online assessments and interviews.
Tip 2: Focus on understanding the underlying logic behind problems rather than memorizing solutions—this will help you adapt to new variations during interviews.
Tip 1: Keep your resume concise, ideally limited to one page, and ensure it highlights your technical skills and experiences that you can confidently discuss for at least 20 minutes.
Tip 2: Include 2–3 impactful projects, relevant internship experiences, coding profiles, and notable achievements such as awards in hackathons or coding contests.
This was a preliminary coding test held on unstop.

Consider two arrays of integers a[n] and b[n]. What is the maximum number of pairs that can be formed such that a[i] >b[j] ? Each element can be in no more than one pair.
Sort both the arrays and then take two variables, i and j, both initially 0 for array a and array b, respectively. if a[i] > b[j] increment both the pointers and increment the answer; if not, then increment only the i pointer.



Find the count of subarrays whose sum is odd.
I solved it by taking a variable current sum till i and calculating the number of odd subarrays and even subarrays in indices.
After the Hackathon, I got an Hiring Interest form which I filled, After that I got an Online Assessment consisting of 2 DSA problems and leadership questions.

Given an array find the indices start and end which correspond to the starting and ending indices of the subarray containing the maximum sum of values.
I used Kadane's Algorithm to solve this problem.



You are managing a large project with numTasks individual tasks, labelled from 0 to numTasks - 1. Some tasks depend on the completion of others before they can begin. These dependencies are represented by an array dependencies, where each element is a pair [a, b] indicating that task b must be completed before task a can start.
Your job is to figure out a valid order to execute all tasks such that every task begins only after all its dependencies are completed. If there are multiple valid execution orders, return any one of them. If it's impossible to complete all tasks due to circular dependencies, return an empty array.
From the test cases, I built the graph for the problem and noticed that its pattern is similar to the Course Schedule problem. I used indegree and outdegree arrays and applied topological sorting to obtain the correct answer.
Interview round consisting of 2 DSA problems.



Given two strings word1 and word2, return the minimum number of operations required to convert word1 to word2. You may perform the following operations on a word:
Insert a character
Delete a character
Replace a character
I started by thinking about a brute-force recursive solution, where for each character mismatch, I would try all three operations and recursively solve the subproblems. However, I realized this would have exponential time complexity. I defined a DP table dp[i][j] where dp[i][j] represents the minimum edit distance between the first i characters of word1 and the first j characters of word2.

Given two arrays of length m and n with digits 0-9, and an integer k (k ≤ m + n), create the maximum number of length k from digits of the two arrays. The relative order of the digits from the same array must be preserved.
I first thought about generating all possible combinations of k digits from both arrays and then picking the maximum, but this was not efficient. I realized I could use a greedy approach to select the maximum subsequence from each array for every possible split (i from 0 to k), and then merge the two subsequences to form the largest number. For each possible split (i digits from the first array, k-i from the second), I generated the two subsequences and merged them by always picking the larger leading digit.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?