MindTickle Off-Campus Full Time Interview Experience

Round 1(1 hour):

This round was coding based and the interviewer asked 2 coding questions. Both questions were of medium level difficulty.

Q1. Given some array of strings. Find minimum size of subset of strings to make the count > 50% of the size of the array.

E.g: [“shoes”, “face”, “pizza”, “covid”, “shoes”, “covid”, “covid”, “face”, “shoes”]

Answer is [“covid”, “shoes”]. Explanation: Frequency of the strings is as follows:
Shoes: 3, Covid: 3, “face”: 2, “pizza”: 1
So 3(shoes) + 3(coivid) = 6 makes greater than (9(size of the array)/2) i.e the size of the array.
Hint: Sort them by decreasing order of frequency.

I initially approached this question with dp approach(practiced dp a lot day before). My dp approach was creating the dp[sum][size] and then finding the solution analyzing the values. Interviewer asked me to code and I did code it. Then he said you made the problem complicated, it is an easy problem. The solution hit me instantly and again he asked me to code it.

(15 minutes remaining now.)

Q2. He explained me the problem. You are given an array and the only operations are to pick the elements from beginning or from the end. Obtain the maximum possible using exactly the k-operations.
E.g: arr = {1, 7, 8, 3, 4, 4}, k = 3

Answer would be 1+7+8 = 16.

Again I approached the problem using dp :P. I told him the recursion relation dp[i][j][k] = max(arr[i] + dp[i+1][j][k-1], arr[j] + dp[i][j-1][k-1]). He agreed and asked me to come up with an optimized approach. I took like 2 minutes but couldn’t come up with anything. He suggested me to think using the property. I got the hint and obtained the solution i.e. we can only pick continuous elements from left or from right. Answer is max of (left[x] + right[k-x]) for 0 <= x <= k.

Round 2(1 hour):

I was expecting this round again to be a coding round. But to my surprise this was a design round. He then asked if I was familiar with RDMS and MySQL. I was already nervous as I am not that good with databases. Then he described the problem statement:
You need to design a blog site with given properties:

1. User can create a blog(containing multiple paragraphs).

2. User can view all of his blogs.

3. User can add comments(multiple comments to each paragraph in a blog).

It was more or less like this(forgot one last point). I had to do the data modelling. Then he asked me to give the outline of the functions to perform the above operations. I only had to write the function name, parameters and the return value.(Not the query or even the pseudo code 🙂 ). And then he made some optimizations like the option of paginated views. To obtain the next page efficiently and without using write operations in database.

Round 3(3.5 hours):

This was the most unique and the longest round that I’ve ever witnessed. The interviewer first asked me to introduce myself and to tell him about my internship experience at Nutanix. Then he gave me the following problem statement of a Card Game Simulation. He asked me to implement the card game. I asked him if he wanted me to use OOPs and he nodded. Since, I don’t have much experience writing the code using OOPs(don’t judge me :P), I told him that it might take some time. He said it’s fine and ping me whenever you are done with the code and he disconnected the call. I called him two times to only show him the wrong output. He gave me the final chance to show him the correct output and finally it worked as expected. It was around 400 lines code and he seemed pretty convinced and we also discussed about the different strategies that could have been used. First he saw the output and then he went through the whole code.
I was selected in this round as well.

Write your Interview Experience or mail it to contribute@geeksforgeeks.org

My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.