I had applied through employee referral.I was contacted by the hiring manager and had a phone interview.After this round I had a technical interview for a hour.The technical interview was full of Java questions.Multiple inheritance,exception handling,hashmap vs hashtable,serialization,mutex vs semaphores.I was then scheduled for a onsite interview.I flew to Natick MA and lived in a hotel for one night.In the morning through the hotel shuttle I reached MathWorks.My onsite interview started with a presentation followed by 5 rounds including lunch.The entire process was very tiring.The interviews were a mix of technical and hr.