# Arcesium Interview Experience | Set 8 (On campus for Internship)

• Difficulty Level : Hard
• Last Updated : 26 Aug, 2017

Round 1: Aptitude cum Technical Round
Online coding and aptitude test on hacker rank.
The first round had 20 Aptitude MCQs (20 min) and 15 Technical MCQs (15 min) with +1 and -0.25 marking schemes. The MCQs covered topics the included – DSA, Operating Systems, C, C++, Java basics.
After this, there were 2 coding questions (45 min). Minimum cut off was set for each section. One question was of the Game Theory and other was of Dynamic Programming.
Questions in the Coding Round:

1. A and B play a game. They are given an array of positive numbers. Each player in his turn picks up 2 numbers from the array such that the difference of the numbers does not exist in the array. He then places the difference into the array too thus increase the array count by 1. Then the next player repeats the same process. The game continues till there are no 2 numbers such that difference does not exist in the array. The one who’s not able to choose numbers loses. If A starts the game and the game proceeds optimally, find who’ll win the game.
1. Given a string containing only lowercase alphabets, you have to convert it into a string such that it contains only vowels by doing minimum number of operations. In one operation, you could select a substring always starting from index 0, and move that substring forward or backward. Example of rolling forward or backward are given:

Rolling Forward
Input- axzf
Let index chosen be 0 to 3 and moving it forward
Output- byag
Rolling Backward
Input – axze
Let index chosen be 0 to 2 and moving it backwards
Output- zwyd

124 people were shortlisted to give this test. Only 12 were shortlisted for round 2.
Round 2: (Personal Interview)
This round was purely based on questions from Data structures and OOPs concepts:

1. Print the left view of binary tree.

https://www.geeksforgeeks.org/print-left-view-binary-tree/

1. Find the common ancestor of two nodes in binary tree.

https://www.geeksforgeeks.org/lowest-common-ancestor-binary-tree-set-1/

1. Detect Loop in linked list and print its length.
1. I had to explain the logic to the interviewer and then write the code for above written questions.https://www.geeksforgeeks.org/detect-and-remove-loop-in-a-linked-list/
1. What is polymorphism?
1. What is virtual function?
1. If parent class is A with member function void calculate () and child class is B with member function void calculate().

B b;
A *a= &b;
a.calculate();
Tell calculate() function of which class will be called.
If A has calculated() declared virtual. Then what will be the output?

1. What is pure virtual function?
1. What are abstract classes?
1. Difference in malloc and calloc.
1. Allot memory to single int variable using calloc.

7 candidates got shortlisted for round 3.

Round 3:
(Personal Interview 1):
In this interview, I was given puzzles for which I had to find the optimized solution and then code it up.
1. You’ve n identical chemicals. One of them is explosive. If 3 or more than 3 chemicals are mixed together in a box, and the explosive chemical is one of them, then box explodes after 10 minutes of mixing. One box can be used to mix only one combination of chemicals.Write a code to find the explosive element (in minimum time and use minimum number of boxes).
Actually, the Interviewer did not want me to directly reach to the optimized solution but asked me to start from a basic brute force solution to find the explosive chemical. He wanted to check what different concepts I could apply on it.

2. Arrival and departure times of n trains are given. Find the minimum number of platforms required so that the timings of trains don’t overlap.
Again, I had to start from brute force code and optimize it gradually.
https://www.geeksforgeeks.org/minimum-number-platforms-required-railwaybus-station/
3. Write a code to create a stack.Make it’s push and pop functions. Now you have ten such stacks. Do the following push operations:
Value Stack number
2638 1
382 5
2728 10
There should be single push function for all the ten stacks. You can’t use any conditional statement (like – if else statements) in push function for knowing in which stack you have to push the number, nor you can use any array of objects.

Personal Interview 2:
Two persons interviewed me one by one. I was asked questions based on DBMS, Computer Networking and some general-aptitude questions.
Interviewer 1:

1. Why Arcesium?
1. How many matches are played in a knockout game with n teams? Show the calculation.
1. SQL Query questions like:

Write SQL query for displaying the name of student who scored highest marks.
Two tables were there:
Table1 (Roll_no, Student name)
Table2 (Roll_no, Marks)

1. Write pseudocode for insertion sort.

Interviewer 2:

1. Where do you see yourself after 2 years?
1. What is your city’s population? How many people would be using Facebook at this moment (1 pm) in your city?
1. Difference between http and https.
1. Tell about the certificates for https.
1. Solve this puzzle in 30 seconds. There are 12 identical balls. One is heavier than the others. Find the heavier one.

Earlier, he did not tell me that we can use balance scale. He asked me to apply any law of physics. Later he asked me to use balance scales.
Only 1 student was selected for the internship at Hyderabad office.
The interview experience was quite good and they focused on all the core computer science subjects. Geeks for geeks was a lot of help to me as it helped me in my interview preparation and provided almost all content that was necessary for preparation.

This article is contributed by Aarti Sharma. 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.