Tuesday, August 23, 2011

Night Before the Interview

This interview process is for the profile of IT Analyst position in Morgan Stanley.


18th Aug 2011 4:01 pm
I was standing outside the photo-stat shop waiting to get a printout of my Morgan Stanley resume .. got a text message mentioning that the pre placement talk is about to start in the Additional Teaching Block(ATB). I didnt know but I had an idea that it would start around 5 pm but they started at 4, well so to speak the company was on time but I was not. So the running phase started right from that moment. I was late by 30 minutes in the PPT and missed most of the part.. found a seat in the last row of the hall and saw a very tall man standing on the main podium blabbering something which I couldnt make out may be because of the echo in the hall and you can say I couldnt understand a thing out of it ( and I really paid the price for it  :P ) .



Normally when a company visits a campus they give a PPT and then proceed with the written text that may include aptitude, technical and logical reasoning but there was something different about Morgan Stanley. The Executive Director of Morgan Stanley (Mumbai) gave the PPT and then instead of going through to written tests they offered some refreshments :P which was the SECOND different thing about them .. FIRST was that they were on time unlike other companies which visit the campus :).



The WRITTEN EXAM consisted of one Computer fundamentals section of 10 questions, one technical section of 30 questions and last logical reasoning section of 10 question, so in total 50 questions and 90 minutes. The THIRD different thing about Ms was they offered a choice in the technical section, you can opt for C, C++ or JAVA. The exam was pretty easy and one can easily attempt all the questions in those 90 minutes. The first section (of 10 questions) had questions from operating system, pre-order and post-order tree questions, time complexity of sorting algorithms and other gen. stuff. The second section i. e. the technical section in C had lots of output questions on pointers, unions and structures, gen function calls, pass by value and pass by reference etc and some theory related questions as well. They were easy and i was able to mark the answers just by analyzing the question. The third section ( ie the logical reasoning section  ) was pretty easy too! It had questions from speed and distance, one easy table type question of DI, probability etc.



After the written exam we saw the FORTH different thing about Ms :P They gave away Free Tshirts ( Black Color with "Morgan Stanley" written in white )and there were smiles all around :). Who doesnt love free stuff :P. After the test everyone dispersed and had dinner afterwards. People do all the analysis possible after such a easy test for example if the test was too easy then everyone can do it and that reduces your chance, if the paper was too difficult they might not have a chance to get though :P So basically mixed negative doubtful reactions from everyone depicting the uncertainty. While we were having these discussions the Ms people were busy selecting people who can clear the written test round. Approximately I would say out of 180 short listed candidates ( initially before the PPT on the basis of the Ms resume) lets say around 150 sat for the test and around 27 were the lucky ones to get through. It was really a big thing to get through because it was then I cleared my first written round in NITK.



I was excited, and it was then I started planning for the kill. I knew it was my first chance and somehow I have to convert it being confident, being myself without the hint of nervousness in my voice. I was afraid of the HR session even more than the technical section. They mentioned that there will be a group task, technical and HR interviews in the recruitment process from 8 am on 19th. I started digging in the questions MS asked in NIT Warangal and many of my friends contributed.




NIGHT BEFORE THE INTERVIEW:

HISTORY:
(Read the Morgan Stanley page on wikipedia for this! )
I found out the history of Morgan Stanley. checked out the wikipedia page, there is hell lot of information right from the year 1935 when the firm came into existence by the main founders Henry Morgan and Harold Stanley, found out the following information (check out the wiki)
* The story about why the founders started the firm. (They left JP Morgan to start their own because of the Glass Steagal Act in 1935).
*about the working of the company.
*their main business areas.
*The meaning of those investment terms ( which i came across studying for the last point ).
*what are they doing in India.
*what was their role in the recession 3 years back(- US govt. actually hired MS to take themselves out of recession).
*what is there role in the predicted recession in this year(MS predicted a recession in the coming months because of the ineffective working of leaders in US and UK but this recession will not be the same it was 3 years back, it will be a shallow recession because economic factors are good).
*Clients of MS.
*1999 management crises in MS and as a result they fired their CEO Philip Purcell in 2005.



GROUP TASK:

I got to know that even the group task was of a different kind. It was like to design a LOGO for the Morgan Stanley Technical division and give a Slogan for it, and the LOGO must match the virtues of MS.
So I started digging out the meaning of different COLORS which i can use in my logo to show the different virtues. I found out this:
Blue: Innovation, Ingenious, Integrity, hope, creativity.
Aqua Blue: Communication.
Skin Color/Pale Yellow: Neutral.
Bright Green: Uplifting.
Bright Red: Courage.
Bright Yellow: focus, vision
White: Simplicity.
Black: Power, authority.



TECHNICAL:

* OOPS concepts, Virtual functions (in C++) and more basic concepts.
*DBMS, I got to know there was a database design in the 2nd technical round.
* There was a puzzle also:
Ques. Design the classes for the working of a LIFT.
(Try to thing about it first !!! )
After a fair amount of discussion the following solution was proposed:
Lets assume there are 100 floors in the buildings
There is just one class and the data structure used is a doubly linked list!
((Initial solution was to use a array of 100 elements with an indicator associated with everyone of them to show that the button is pressed for that floor from the LIFT physical interface and the LIFT must start moving towards that floor and stop when it reaches the floor.
BUT then there was a lot of space wastage and we never set all the indicator variables at the same time)).
If you see a working of a LIFT, you can notice if initially the lift is on floor Zero and somebody press the lift call button on 5th floor so the the door closes and the lift start moving towards the 5th floor. Lets say when it just crossed 3rd floor a call was made from the 3rd and the 20th floor so what happens to the lift? The lift will keep going up till 20th floor and then come down on the 3rd floor. So what do we infer from it? Can I say the lift is moving like a head moves on a Disk using a LOOK or SCAN algorithm or a mix of them, like servicing all the calls in one direction (up) till the max call and then reversing its direction servicing others when the lift comes down.
So why doubly linked list came in the picture? The idea was to keep a sorted list of all the calls being made to the list to be serviced! Lets say the doubly linked list is like:
3-> 15 -> 35-> 48-> 99 ( you can say these floors have their indicators set )
and the current position of lift is 35 and the lift is going up. so first of all it will delete 35 from the list (stating that the lift reached floor 35 and moved on to the next request ie 48.
But lets say a call to floor 20 comes along as the lift is moving from 35 to 48 so the list will be :
3->15->20->48->99
and then the service sequence will be :
48 , dir : up
99, dir: up ( max serviced ! so dir reverse ! dir : down now ) current list : 3->15->20.
20, dir:down
15,dir:down
3,dir:down
and it comes to an halt on the 3rd floor.
so the Functions of the class can be :
1. Listener () - listening to all the calls made from outside the lift and adding them to the doubly linked list.
2.Halt()- to halt the lift
3.Dooropen()- to open the doors of the lift.
4.Doorclose() - to close the doors of the lift.
5.gen add and  delete functions to add and delete nodes from the doubly linked list.
6.methods connected to the physical outer interface ( forming the USER layer ).
Other variables used can be :
1.dir : specifying the direction of the lift.
So i think these must be the specifications of the class lift in my opinion. If you feel like i have left something feel free to mention it in comments or else let me know if you can think of a different solution :)


Well that was pretty much what i studies the night before the interview. The interviews were scheduled to start at 8am next day. So i decided to sleep around 2am till 6am and the D day was there !! :)

1 comment: