Most people have explained what the procedure is. Here go my $0.02.
Step 1: Applied via their website on Dec 26th, 2013.
Step 2: Got an email within a week asking to complete a video interview. 5 question asked were: tell us more about yourself, why this position at mathworks, future aspirations, research experience, what are you looking for in a job. Answers were very straightforward. This is a very easy interview.
Step 3: Got an email in another week asking for a phone interview. One can have an interview in engineering or computer science specialities. I selected engineering and in that control theory (other options were signal processing and embedded systems).
Step 4: Got the phone call. They asked a lot of questions on math, C++, general programming, MATLAB and controls. math and matlab questions were very ordinary.
- find the velocity of a body after 5 sec. if the acceleration is so and so and initial velocity is so and so.
- find a determinant of a matrix, what is a singular matrix, find eigenvalues
- f(x) is given, f(0), f(3) are given, find integral(f) at x = 5.
- what is @ function in matlab for, what is ~ for
- how to plot in 3D in matlab
So nothing out of the ordinary. Most people have repeated the questions that I got.
Control theory questions were easy and got only 2-3 questions.
- what happens if the poles move to right, left, up and down on a pole-zero plot.
- find poles of a state-space system.
C/C++ and programming questions were not to my liking as I have done programming enough to make robots do what they do.
- what is the difference between ++i and i++ (this was easy). What other language has a similar syntax but different meaning (no idea).
- what is static for in C.
- data structures (I messed up on this one too).
- pointers
And a few other questions that I do not even remember now.
Step 5: I was not expecting a call given that my C++ part and the programming part of the interview were such mess. But I guess they make some concessions for PhD's. So I got a call from them on Jan 13th and scheduled my college day interview for Jan 31st. They booked the tickets that same day.
Step 6: At Natick. General "we are this and that" type presentations. And then there was the technical interview. That guy was a kid really. He asked some math questions,
- find the area of a rectangle inside a parabola (he asked it wrong and I had to correct it and get the right questions out of him).
- decay rate of a material, write it in equation (this also he asked wrong had me working it out with him :) )
- plot df/dx of a function f(x) which he drew on board.
- some other really easy math questions which other people have discussed.
Programming and C++ questions were again a headache
- types of classes
- inline function (who the hell knows)
- calloc, malloc
- sorting algorithm
- character arrays and pointers, integer pointers
Matlab was easy again. Nothing out of the ordinary.
Control theory was decent.
- Write transfer functions of schematics, add this block to the schematic and write TF,
- Routh-Hurwitz,
- final value theorem, steady state values of TF.
Then came the HR interviews. Typical ones
- describe an occassion when things did not go according to plan
- when you handles more than two assignments
- when you had to take help from your colleagues
- when you helped colleagues
- when you had disagreement with colleagues, advisor, collaborators and vice versa
- are any other job offers, interviews in the pipeline.
Overall C/C++ and programming were my nemesis. I did not expect anything this time as well. But they did extend me an offer. But after being there and talkig to folks there about the nature of work, had me down on not pursuing this position. So I declined the offer on the grounds that I am not seeking this employment at this time anymore. Hopefully my review will be helpful to others though.