Interview experience of a developer for Morgan Stanley?

This interview was for a developer, the level of difficulty was marked expert level.
Round 1:
This round was an online coding contest on Hackerrank. The time given to the candidate was 24 hrs. there were a total of 6 questions. The top 150 candidates were shortlisted.

Round 2:
This was a Skype interview. Some of the questions asked were:
• Tell me something about yourself.
• What projects you have worked on?
• Describe the project that you worked on
• Describe polymorphism and its types.
• How would you design Facebook?

Round 3:
This was a technical round. It was a face-to-face round.
• Create software that generates a palindrome from a string.
• Write recursive and iterative programming to determine which factorial is best.
• Write an array-based software to determine the next greater number from a given number.

Round 4:
This was a second technical round. Questions asked were:
• Describe the projects you’ve worked on in a few words.
• What is the definition of data structure?
• What is the difference between Object-Oriented Programming and Procedural Programming?
• What is the difference between a stack and a heap?
• What is the difference between a linked list and an array?

Round 5:
This round was for Professional fitment. Questions asked were:
• Begin by introducing yourself.
• If you had the chance, what one problem in the country would you like to tackle right now?
• What is your area of weakness, and how are you addressing it?
• Have you ever led?
• what hurdles came in your way?
• how did you tackle them?

Round 6:
This round was the HR round. Below questions were asked:
• Why Morgan Stanley?
• What are your goals?
• Describe the biggest problem you have ever faced and how you tackled them?
• How do you rate yourself in communication skills?
• What did you do in your project?