# Arcesium Interview Experience – Senior Software Engineer (3 years experience)

Round 1: Online HackerRank

There were 3 questions.

1. Find the smallest positive integer value that cannot be represented as sum of any subset of a given array. https://www.geeksforgeeks.org/find-smallest-value-represented-sum-subset-given-array/

2. Generate two BSTs from the given array such that maximum height among them is minimum. https://www.geeksforgeeks.org/generate-two-bsts-from-the-given-array-such-that-maximum-height-among-them-is-minimum/

3. Given a rod of length n inches and an array of prices that contains prices of all pieces of size smaller than n. Determine the maximum value obtainable by cutting up the rod and selling the pieces. https://www.geeksforgeeks.org/cutting-a-rod-dp-13/

I solved the first 2 problems and was called for a F2F round in Hyderabad the following weekend.

F2f Round 2:

There were 3 rounds to F2f and each one was elimination based.

1. There were three questions in the first round
1. If you have a list of cups where each value represents a cups diameter, and the lower diameter cup can be put in the higher diameter cup (and cups of the same diameter cannot be stacked on top of each other), then devise a strategy to stack them. I suggested using a HashMap which would store the cup as key and value as the count. Then iterate over HashMap and decrement the count, as you iterate over the HashMap. So for cups = [1, 2, 3, 4, 6, 1, 2, 3], the hashmap would look map = {1:2, 2:2, 3:2, 4:1, 6:1}. Then you could just decrement the count on iterating over the hashmap to find the number of stacks. He asked me complexity and i answered O(n*2) as ill be iterating over the HashMap again and again and populating it too one time. Then I was asked if i can do it in one pass of HashMap. I couldnt answer this, and over discussion realized that the max of the value is the minimum number of stacks required.
2. If you have a list of prices for a day time wise and given two transaction opportunities, what two transaction would you make. I could not solve this https://www.geeksforgeeks.org/stock-buy-sell/.
3. Find intersection of two lists. I suggested hashing method first, and he asked me to improve it. So I suggested the difference in length method. https://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/
2. There were two questions in the second round: –
1. Find next greater number. 1234 – > 1324. I could not solve this. https://www.geeksforgeeks.org/find-next-greater-number-set-digits/
2. Program to check if tree is BST or not. https://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/

As it was elimination round, and I could only do 1 question in second round of F2F, I was eliminated.

All in all I felt that the process got a little difficult in the second round, in terms of help and also questions. The entire process was good with the interviewer helping a lot in the first round with each question and the HR arranged all the travel tickets. Basically it is heavy on DS, Algorithms and Java.

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.