Arcesium visited our campus (MNIT Jaipur) in the latter part of August 2020 offering a 2-month Summer Internship for 2021. Initially, there was shortlisting based on CGPA, 12th-grade percentage, and 10th-grade CGPA. 87 students were shortlisted for further rounds.
Round 1 (Hackerrank Platform): The first round comprised of 15 MCQ questions of quantitative aptitude, 15 MCQ questions of Technical aptitude, and 2 coding questions.(Test duration – 80 minutes – 20 + 15 + 45).
Quantitative aptitude and Technical aptitude problems were challenging especially due to the time limit for each section. It covered a variety of topics including probability, number theory as well as concepts of Object Orientated Programming and time complexity analysis. There was a negative marking of 25 percent.
- Given an infinite binary string 100000… For each subsequent day, the updated value at each index >= 1 is given by xor of the value of (i-1)th index and ith index on the previous day. We are provided with number n. We are required to find out, the decimal value of the binary string (up to (n+1) characters) on an nth day.
- A company has a certain number of corona tablets given in the input, and we are given an array representing a packet we could use. The packets are of different sizes. We are required to find out the maximum number of packets that can be used to package the tablets.
Input: size = 5 array = [3, 2, 5] Output: 2 Explanation: As we could use a packet of size 3 and a packet of size 2 to package 5 tablets.
15 students were shortlisted out of 87 students for further rounds.
Round 2 (Technical Interview): All the technical Interviews were held on Hackerrank code pair platform. There were 2 interviewers for this round.
- The interviewers asked me to introduce myself.
- They asked me about my projects. I told them about the functionality and inspiration for the projects in short.
- Coding question: Given a string, we are required to output all the sub-sequences of the string such that each sub-sequence is sorted.
Example: I explained my intuition for the solution and coded the problem. They checked my code for edge cases such as empty string.
Input: string = cab Output: "" a b c ab ac bc abc
Coding question: Given an array, we are required to output the maximum sub-array sum of the array.
Example: I explained my intuition and coded the problem. They checked my code for cases like all 0’s, all negative numbers, and more.
Input: array = [ 1, 2, -1 ] Output: 3
They asked me if I had any questions for them. I asked about the atmosphere inside the company.
Round 3 (Technical Interview):
- The interviewer asked me to introduce myself.
- He asked me about OOPS concepts in C++ as I was familiar with it. The discussion was detailed.
- He asked me to explain method overloading and method overriding through an example in c++.
- Concept of inheritance and the role of access specifiers during the creation of child class. I wrote a small example to explain it.
- He asked me about the virtual keyword in C++ and all its use cases. I was also asked to write a class to show its usage.
- He questioned if there is a virtual constructor in C++. I answered NO. Then, he asked me about the reason for it. Similarly, for virtual destructor.
- What is a Singleton class? Design a singleton class and explain the concepts regarding it. I told him about a singleton class and coded it in C++. He asked me about the copy constructor in a singleton class and how would it affect the singleton class.
- After the discussion on OOPS concepts, he gave me a puzzle to solve. I was not able to reach the optimum solution initially but did in the second try.
Finally, he asked whether I had questions for him. I asked about the domains in which the company works.
Round 4 (Technical Interview):
- The interviewer asked me to introduce myself.
- Then we had a discussion on projects. In one of the projects, he asked me the schema of the database used for that project. Also, to explain a particular functionality in the project.
- Coding Question: Given the numerator and denominator, we are required to output the division in the following format.
Case 1: If the division leads to a recurring decimal then output in the form – numerator/ denominator. (recurring part)
Input: numerator = 81, denominator = 99 Output: 0.(81) Explanation: As the division leads to 0.818181...
Case 2: If the division is non-recurring, then output the division.
Example: I was able to give the logic and tried to code it, but was getting a few errors in the output. The interviewers pointed out some problems that could lead to the error and after reviewing the code again, I got the required output.
Input: numerator = 3, denominator = 2 Output: 1.5
He asked me if I had questions for him.
Round 5 (HR): The HR round was held on bluejeans platform.
- Introduce myself.
- She asked me about the projects, the inspiration, the execution phase, and the completion phase.
- She asked about the competitions I had participated in. Whether they were individual or team collaboration. She asked me to share the entire journey of the competitions. From the inspiration to the experience I had during the competition.
- How did I spend my time apart from academics and what got me interested in robotics (as I had done projects on it) and software development?
- What things I like about Arcesium.
Finally, if I had any questions for her. I asked about the work-life balance and prerequisite knowledge required.
Final Selection: Two students were selected for the internship. I was one of them 🙂