Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Please go through as many puzzles as you can from How to ace... book. Also there is an app called water logic which might be useful.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
The first round was the tech round in which firstly I was asked about things on my resume (e.g. I had done a course in Embedded Systems, so the interviewer asked me in which language I was made to code etc.) Then, I was asked a programming question and some OOPS based questions.



1. The string consists of only digits 0 to 9.
2. The numbers will have no more than six digits.
XOR approach can be used to solve this question in an efficient manner. The following property of XOR can be used :
1. If x1^x2^…xn = a and x1^x2^..xn-1 = b , then a^b = xn
Steps:
1. Declare two variables a= 0 and b = 0
2. Calculate the xor of numbers from 1 to n and store them in a i.e. 1^2^…n = a.
3. Now traverse the array from start to end.
4. For every index i update b as b = b ^ arr[i]
5. Return the missing number as a ^ b.
Time Complexity : O(N)
Space complexity : O(1)
Explain Operator Overloading.
To overload an operator, we use a special operator function. We define the function inside the class or structure whose objects/variables we want the overloaded operator to work with.
Program overloading << operator :
#include
#include
class Time
{
int hr, min, sec;
public:
// default constructor
Time()
{
hr=0, min=0; sec=0;
}
// overloaded constructor
Time(int h, int m, int s)
{
hr=h, min=m; sec=s;
}
// overloading '<<' operator
friend ostream& operator << (ostream &out, Time &tm);
};
// define the overloaded function
ostream& operator << (ostream &out, Time &tm)
{
out << "Time is: " << tm.hr << " hour : " << tm.min << " min : " << tm.sec << " sec";
return out;
}
int main()
{
Time tm(3,15,45);
cout << tm;
return 0;
}
What is Polymorphism in Java ?
The word polymorphism means having many forms. In Java polymorphism is mainly divided into two types:
Compile-time Polymorphism
Runtime Polymorphism
Type 1: Compile-time polymorphism : It is also known as static polymorphism. This type of polymorphism is achieved by function overloading or operator overloading. But Java doesn’t support the Operator Overloading.
Method Overloading: When there are multiple functions with the same name but different parameters then these functions are said to be overloaded. Functions can be overloaded by change in the number of arguments or/and a change in the type of arguments.
Type 2: Runtime polymorphism :
It is also known as Dynamic Method Dispatch. It is a process in which a function call to the overridden method is resolved at Runtime. This type of polymorphism is achieved by Method Overriding. Method overriding, on the other hand, occurs when a derived class has a definition for one of the member functions of the base class. That base function is said to be overridden.
Technical Interview round with oops based questions. Design based questions and puzzle was also asked.
What is multi threading in Java ?
Multithreading in Java is a process of executing multiple threads simultaneously.
A thread is a lightweight sub-process, the smallest unit of processing. Multiprocessing and multithreading, both are used to achieve multitasking.
There are 3 ants sitting on three corners of a triangle. All ants randomly pick a direction and start moving along edge of the triangle. What is the probability that any two ants collide?
Collision doesn’t happen only in following two cases :
1) All ants move in counterclockwise direction.
2) All ants move in clockwise direction : Since every ant has two choices (pick either of two edges going through the corner on which ant is initially sitting), there are total 23 possibilities.
Out of 23 possibilities, only 2 don’t cause collision. So, the probability of collision is 6/8 and the probability of non-collision is 2/8.
Design a lift with minimum amount of inconvenience on the part of user.
Tip 1: Before you jump into the solution always clarify all the assumptions you’re making at the beginning of the interview. Ask questions to identify the scope of the system. This will clear the initial doubt, and you will get to know what are the specific detail interviewer wants to consider in this service.
Tip 2: Design your structure and functions according to the requirements and try to convey your thoughts properly to the interviewer so that you do not mess up while implementing the idea .
HR round with typical behavioral problems.
1. What are your hobbies?
2. What would you do if your colleague behaves in a way which is against your principles?
3. What are your hobbies?
4. Which is the happiest day of your life?
5. What are your strengths and weaknesses?
6. How are you trying to overcome your weaknesses?
7. Questions about family
8. What is the one thing in you that makes you different and distinguishable from your classmates?
9. Are your parents okay if we post you in Pune?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round, like what are the projects currently the company is investing, which team you are mentoring. How all is the work environment etc.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?