Multi Commodity Exchange (MCX) Interview Experience
Round 1:Â Telephonic interview
- Describe yourself – what is your current role, projects which you are working on in current firm and technologies used.
- He asked me if I knew Java. I said no professional experience, but know core Java to a good extent.
- Tell some Java 8 features – I said Streams and tried to explain about it. Next I told about default methods in interfaces.
- He asked me if I knew how Streams worked internally. I say I didn’t knew.
- About lambda functions, what they are – I told they are anonymous functions which are used when we don’t want to create a separate function which won’t be used a lot of times. Gave an example and stated that lambda function is a concept from functional programming (which I didn’t knew much about).
- Explain run time and compile time polymorphism.
- Explain what is encapsulation in OOPS.
- What is meant by abstraction? Difference between abstract class and interface.
- Have you used multi-threading in your firm? Give an example where you have used (He wanted example from projects I worked on in current firm).
- Given a singly-linked list of odd length, find the mid-point in it i.e. find the node which is the middle of the list. He said I can’t use more than 1 loop.
My solution (inefficient, but uses just one loop):
int getMiddleValue(Node head) {
Node p = head;
int cnt = 0, i = 0;
boolean flag = false;
while (true) {
if (!flag && p != null) {
p = p.next;
cnt++;
}
else if (p == NULL) {
p = head;
flag = true;
}
else if (flag) {
if (i < cnt / 2) p = p.next;
else return p.val;
}
}
}
Optimal solution: Use two pointers, one pointer jumps with distance 1, other pointer jumps with distance 2. When other one reaches the end of list, first will be at middle.
- Check if a number is prime without using modulo, division or multiplication operators. Any number of loops is allowed.
Hint: Division is just series of subtractions. Solution: Find remainder by repeatedly subtracting. When number becomes negative, divisor – number is the remainder.
public int getRemainder(int number, int divisor) {
while (number >= 0) {
number -= divisor;
}
return divisor - number;
}
- Explain recursion. What care must be taken when using recursion? Base case to break out of recursion. What data structure recursion uses? Stack. Given a function display with a single argument n. Print numbers from 1 to n using recursion. Hint: Stack.
public void display(int n) {
if (n == 0) return;
display(n - 1);
System.out.println(n);
}
Round 2:Â Face-to-face interview
- Describe yourself.
- Questions on resume, work in current firm, technologies used. I had worked with C++, so they asked if I was comfortable with Java.
- Questions on some projects. In one project I said I had used Naive Bayes and they asked me to write formula.
- Did you use interfaces / inheritance in project? I said no nor inheritance.
- What is encapsulation? Do you know multi-threading? I said yes since I had worked with multi-threading in C++ and said it is not difficult in Java.
- Difference between Array and ArrayList.
- Shift an array given shift value in reverse direction or anti-clockwise direction.
- Whether I knew SQL and how much I knew it.
- They asked if I was comfortable to write complex queries which involved procedures, joins, etc.
- How good are you with people? Working in a team? Do you like challenges and can handle them? Whether you are the person who likes challenges or just think of it as burden. I said I am partly both, they laughed.
- Whether you will like working on projects from scratch? I said I may require some assistance.
The interview lasted hardly 30 mins.
Round 3:Â Face-to-face interview
- First there was an interaction with one person in a cabin. She asked question about education, work experience, projects worked. She asked current and expected CTC. They said if I don’t get current year’s increment on time then they will consider my last updated salary. I was a bit dissatisfied after hearing that.
- Then, she took me to other cabin where four interviewers were already there.
- First they asked me about work experience. Since I had worked with C++, they asked me about compilation process from start to end.
- They said the role was Java so asked me to rate my knowledge from 1 – 10. I rated 7 so they asked why and I said I know core Java but there still may be many concepts which I am not aware of.
- They asked where I have used Java, I said in one project and occasionally in competitive programming.
- They asked about socket programming and steps. As I was telling the steps, they asked something about file descriptor and socket. I had never used file descriptor along with sockets in Java. Later I found out there was a separate class FileDescriptor in Java SE.
- They asked if I had any UI experience I said had worked with Java Swing on Netbeans. They asked if I had Angular JS experience, I said no, but knew basic web technologies.
- They said I can leave for the day then.
Again, the interview lasted hardly 30 mins.
Round 4:Â Telephonic interview
- Describe yourself and describe your work.
- How low latency was ensured in the projects in company?
- Difference between OOPS in C++ and Java.
- Why looking for change in job?
Got an offer after few days.
Last Updated :
10 Feb, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...