Overall it was a pretty positive experience. I applied online through the company website. I am an Engineering graduate student. There was a fairly quick turnaround after each round of interviewing.
1st Round: Video Interview
1. Why are you interested in this internship?
2. What skills do you have that make you a good fit?
3. Tell me a time when you had multiple deadlines, and how did you handle it?
4. Tell me about a team project and why you think it was successful.
5. Are you authorized to work in the US without restriction?
6. What is your GPA?
The best advice I have is to practice and be confident. I received an invitation for the next round within 24 hours I think.
2nd Round: Hackerrank Interview
I went into this interview feeling pretty confident. Hackerrank administers online programming tests. I had prepared for this using cplusplus.com (which was my language of choice). You can select Java/Javascript if you are more comfortable with that however. I chose MATLAB and C/C++.
There was an analytical thinking section was first and I choked almost immediately. The questions weren’t difficult per se but definitely required thought. I didn’t answer a lot but the ones I did I think I got right.
I am a teaching assistant for a class in MATLAB and even I thought the MATLAB section was hard. The questions were very technical/nitty gritty. Here are a few topics:
- stem
- gca/gcf
- matrix indexing/concatenations
- private functions
- tic toc
- nested functions
Definitely know the ins-and-outs for these. They will get you. If I thought the MATLAB section rocked me, I literally got my pants pulled down on the C/C++ portion. I don’t know programming that well and I couldn’t complete the two programming questions. In all honesty, I question how I was able to make it to the next round with how bad I performed on this section. Here are som,e concepts to know:
- constructors/deconstructors
- classes
- inheritance
- template classes
- null pointers
- call by value vs. call by reference
If you are an undergraduate and have just taken classes on these topics you will probably do well. I failed my programming class as an undergrad so I did poorly. Like I said, I was shocked I made it to the next round.
3rd Round: Telephone Interview
I honestly think this was easier than the previous round. The employee I spoke with was extremely nice and understanding of me as an interviewee. For this round there were several sections: Math/Calculus, Programming Concepts, C/C++ (language of choice), MATLAB, and one other one that I had to choose between Embedded Systems, DSP, and Control Systems. I chose DSP.
MATLAB
Is this matrix invertible? (The interviewer gave me a matrix and I had to tell him if it was invertible or not and explain why)
Can you have a file named “filter.m”?
Calculus/Diff EQ
What is the characteristic equation? Remember your diff eq!
Solve a simple ODE
Partial Fraction Decomposition
DSP
What is the Nyquist Sampling Rate?
What is the Laplace transform of this ODE?
FIR vs. IIR for discrete time signals
C/C++
What is the output of the following code?
int main () {
int *arr = new int[5];
for (int idx = 0; idx < 5; ++idx) {
arr[idx] = idx;
cout << *(idx + arr) * 2 <<” “;
}
cout<<endl;
delete arr;
return 0;
}
There was also another question on classes. Like I said, this round wasn’t that bad. I think after this round, they interview you on site, or a manager calls you. At which point, I’m assuming an offer isn’t too far off. Obviously at any point they can give it to you but that is the typical progression I think. Hope this helps!