Open In App

Mathworks Interview Experience For Engineering Development Group (On-Campus) 2023

Last Updated : 20 Dec, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Current Status: Postgrad student at IIT Hyderabad

Work Experience: 1 year of experience working at Oracle Financial Services Software(OFSS)

Job Location: Hyderabad/Bangalore, India

Interview Date: 1st December, 2023

Offer Status: Declined

Selection Process: Online Assessment + 1 Technical Interview + 1 Managerial + HR Interview

Round 1 – Online Assessment (90 mins)

This round was conducted on the Hackerrank platform on 7th November, 2023. The test had a total of 6 sections and the total duration for the test was 90 minutes.

Section I – It was based on Maths and Aptitude. It was easy and doable. Revise concepts like Probability, Permutations and Combinations, and Quantitative Aptitude (e.g. Divisibility Test, Trains, Time-Distance-Speed, etc).

Section II – It had questions from CS fundamentals like OS, DSA & DBMS. This was pretty simple and if you know the basics then you can easily answer these questions.

Section III – This section focused on C & C++. The questions were output-based & syntax-based, program tracing. These sections focused on OOPs (questions on constructor, destructor, overriding, access specifier, and friend function) in C++, STL library in C++, pointers, struct, etc.

Section IV – This section focused on Javascript. The questions were primarily on Javascript syntax and how strings and numbers are added/concatenated (number + string, string + string, string + number, DOM manipulation, etc)

Section V – There were 2 coding questions (these were random for each candidate). Also, at the start when the instruction page was displayed, they mentioned coding both questions in different languages mandatorily. I was able to completely solve the 1st one in Java and passed 8/13 testcases in C++ for 2nd.

Section VI – It consisted of MCQs from Python. This was a BONUS section. But I suggest solving this one as well. Again if you know the basics of Python you can easily answer these questions. Topics – List, Map, Tuples, Iterables, etc.

Out of a total of 141 students who appeared for the online test, only 18 students were shortlisted for the interview and 15 students were waitlisted.

TIP: Revise OS, DSA, and DBMS thoroughly. Also, when practicing DSA do look at how to write code in another language other than one which you always use. I will suggest learning C++ & Java/Python.

Round 2 – Group Discussion (Online, 10-12 mins)

The GD was conducted in meeting rooms of size 5-6 candidates in each room. Since they conducted PPT just before this GD round, the moderator asked us to talk about what we understood about the EDG program at Mathworks. It went pretty well and everyone was given 2 chances to speak about their understanding. All the participants from my room proceeded to the next round.

TIP: Listen to the PPT very carefully when they talk about the EDG program and go through what is EDG program which you can easily find on their website as well. This is critically important as I was even asked about the same in my HR interview.

Round 3 – Technical Interview (Online, ~1 hour 5 mins)

The interviewer seemed to be young, he went through my Resume and asked me to explain one of the projects in detail, and what tools & technologies I used to develop it. Then he asked me to choose two languages of my choice. I said Java & C++ (I primarily use Java & I know C++ decent enough). From here the fun began. I was about to give one of the most involved interviews I have had to date on an in-depth understanding of programming languages & OOP concepts. Here we go:

Java Questions:

  1. What is Garbage Collection and how is it handled in Java?
  2. Can we explicitly do garbage collection? (Hint: System.gc() method, answer)
  3. Does calling System. gc() always clean up the memory?
  4. What is the finalize() method?
  5. finally, block and its use?
  6. What happens when we have multiple catch statements in code?
  7. User-Defined Exceptions? (explained with example)
  8. Object class in Java.
  9. Given two objects p & q, and p points to q and q points to p. Will setting p to null and doing garbage collection deletes object q as well?
  10. How to create an object whose only constructor is private and do we want the only object of that class to be created & used throughout the application? (Answer: using private method & static instance of that class, similar idea as of Singleton Design Pattern).
  11. Can static methods be overridden? (Answer: NO, Static methods are compile/static time binding, and method overriding is a concept based on dynamic binding)
  12. Ways to create threads in Java? (answer: extend Thread class, implement Runnable interface)
  13. How to ensure only one thread accesses a particular function at a time? (answer: one obvious answer is using locks, but another elegant way is using the synchronized method)
  14. synchronized block vs synchronized method (Refer)
  15. How can one thread wait for another thread to finish its execution? (answer: .join() method)
  16. Tricky question on access specifier as follows: (Answer: Weaker access specifier while overriding in B. When we don’t mention any access specifier, default is the access specifier. And visibility of public > default.)

Java




/*package whatever //do not write package name here */
 
import java.io.*;
 
class A {
    public void solve() { System.out.println("solve A"); }
}
class B extends A {
    void solve() { System.out.println("solve B"); }
}
 
class GFG {
    public static void main(String[] args)
    {
        B b = new B();
        b.solve();
        System.out.println("GFG!");
    }
}


./GFG.java:9: error: solve() in B cannot override solve() in A
    void solve() { System.out.println("solve B"); }
         ^
  attempting to assign weaker access privileges; was public
1 error

12. What is the difference between HashTable and HashMap? (Refer)

13. A question that asked to implement multiple inheritance.
Answer: This is done with the help of interfaces. I explained to him why multiple inheritance is not supported directly in Java and how Interface helps to overcome it. Also, coded a proper example to demonstrate the concept.
14. Then he told me there is a class Vehicle and contains a drive() method which is inherited by two classes Bike and car class. Instantiation of the Vehicle class should not be allowed and only objects of the Bike & Card class should be allowed.
Answer: This can be done by making a Vehicle class abstract. So, I explained to him what abstract classes are (any class with at least one abstract method). So I told him that we could make the drive() method abstract and then enforce a derived class to provide implementation). He was satisfied with my explanation.

15. What is the difference between abstract classes and interfaces? (Refer)

C++ Questions:

  1. friend function in C++ & abstract classes in C++.
  2. How to write a pure virtual function?
  3. Can a virtual function be a friend of any other classes?
  4. Constructors, Destructors, Constructor overloading, Destructor overloading (NOTE: Destructors cannot be overloaded.)
  5. Shallow Copy vs Deep Copy of object. How to create a Deep Copy of any object in C++.
  6. Can a Constructor be static in C++?
  7. Difference between structs and classes in C++?
  8. volatile keyword usage?
  9. What is Encapsulation? (I explained why is it necessary along with examples)
  10. Can a static method be overloaded? (Answer: YES, overloading possible, but NOT overriding)
  11. Gave me a code snippet, where two methods of a class had the same function name, function parameters, and their datatypes, but different return types. Then he asked what will be its output. (I answered: It will be a compile-time error since we cannot overload methods by just changing the return type of a function).
  12. Gave me a code snippet, where two methods of a class had the same function name, function parameters, and their datatypes, but different return types. Then he asked what will be its output. (I answered: It will be a compile-time error since we cannot overload methods by just changing the return type of a function).
  13. What is nullptr in C++ and explain a specific use case where making a pointer nullptr is useful.
  14. How do you implement multiple inheritance? (Hint: Inheritance & ambiguity resolution using Scope resolution operator)
  15. Then he gave me the below code and asked me to predict the output. I walked him through every line and told him what each line in the code does. He was satisfied with the explanation.

C++




#include <iostream>
using namespace std;
 
class Student {
public:
    int id;
    char* name;
    Student(const char* name = "")
    {
        this->id = 0;
        this->name = name;
        cout << "Inside Constructor " << name << endl;
    }
 
    Student(Student& s)
    {
        id = s.id;
        name = s.name;
    }
 
    ~Student() { cout << "Inside Destructor " << endl; }
};
 
int main()
{
    Student s1("Girish");
    Student s2 = s1;
    Student s3(s1);
    cout << "s1.name " << s1.name << endl;
    cout << "s2.name " << s2.name << endl;
    cout << "s3.name " << s3.name << endl;
    return 0;
}


Output:
./Solution.cpp: In constructor 'Student::Student(const char*)':
./Solution.cpp:11:20: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
         this->name = name;
                    ^

Overall, this round went quite decent, I could answer most of the questions and some of them I answered using hints the interviewer provided. I felt grounded during the interview, but I kept calm and tried to give answers with patience and confidence. Eventually, I was immediately shortlisted for the next round which was the last round for me i.e. HR round.

TIP: Thoroughly revise the syntax, semantics, and rules of both the languages you will be choosing during the interview. Also, ensure that you know OOPs in detail as a concept and syntactically in both languages. Do prepare one language properly, and know the ins and outs of that language.

Round 4 – Managerial + HR Interview (Online, ~50-55 mins)

This round went for approximately 55 minutes, and this is the longest HR interview I have ever given. The interviewer was very much interested in my overall profile and since my previous interview went pretty decent, that interviewer gave good feedback about me to HR. So, he first scanned through my resume.

  1. The interviewer introduced himself first. Then he asked me to introduce myself. I focused on keeping it short and not extending too much (specifically not more than 40-50 seconds).
  2. Since I had 1 year of experience working at Oracle, he asked me what challenges did I faced while working on projects. How I handled them. Since I had mentioned in my Resume that even after being 7-8 months into the industry I trained a few experienced new colleagues into my team, he was surprised and liked that part.
  3. Then he asked me to explain two of the four projects I mentioned in my Resume. I kept it brief and tried to answer it more non-technically and focused on explaining the need, problem it solves, the challenges faced and how I overcame them. He was satisfied with my answer.
  4. He also asked about the Tech Cell Manager POR I had mentioned in my Resume and some more questions about that as well.
  5. Then he asked me whether I was aware of what role I was interviewed for. I replied affirmatively and said EDG program) Then he asked if you might have attended the PPT which explained the EDG program in detail. Since I listened to the PPT carefully, I told him about my understanding of the EDG program.
  6. If multiple things have nearby deadlines, then how do I manage them? [Ofc, prioritize the most important ones & nearest deadline ones first 🙂 ]
  7. Tell me about an incident when your teammates had disagreements and how you handled such a situation.
  8. Tell me about an incident where you showcased your leadership skills and led your team to drive towards success.
  9. How do handle and deal with tough situations?
  10. How do you manage your time when multiple tasks are lined up?
  11. How do you handle stressful situations and pressure?
  12. How do you deal with failures and what steps do you take to overcome them?
  13. Why do you want to work for Mathworks?

And many more such typical HR questions. The interviewer wanted to see leadership qualities, communication skills, accepting challenges, keeping calm, having a positive mindset, accepting mistakes and working on fixing them & ensuring it does not happen again, etc which are quite necessary to grow in the Software Industry.

TIP: Always try to give answers to any HR questions using the STAR approach. But do not fake if you don’t have any answer, bluffing may backfire.

Verdict: I was offered an on-spot offer for the EDG program by HR for which he tapped in the call his EDG program lead for campus hiring, but I declined the offer as I also got Qualcomm for a Software Engineer offer a few minutes before their offer. Although, it was a wonderful experience giving such a difficult interview (I felt so). But I was proud of myself as I got placed on campus on the 1st slot of the 1st day.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads