Microsoft SDE interview

status: CS new graduate
position: SDE
location: Redmond campus

It was an interview containing 2 phases. In skype interview(1 hour), HR talked about my background and asked 2 questions:

1- There are 10 bottles filled with pills.In on of the bottles, each pill is 0.9 gram. In the other ones, each pill is 1 gram. You can assume that there are infinite number of pills in each bottle. By using an electronic scale only once, can you find which bottle contains lighter pills?
2- How can you test a keyboard?
She was very helpful and encouraging. After this step, there was an onsite interview with 3 or 4 people(1 hour each). There were 4 other people except for me and the ones that did not have an interview with the 4th interviewee failed.
Before the interview, HR gave a presentation about the interview process, some hints, opportunities in the company etc. I had 3 interviews, unfortunately. The questions were quite easy, but I could not code them clearly on the board. Here are the questions:

1- How can you find square root of an integer without using sqrt function?
2- Assume that you are given a number n and a sorted array of integers containing unique n-1 integers from the interval [1, n]. Can you find which number is missing in the array?
3- It was a problem about floodfill algorithm, where you are trying to find the average height of an island in an 2D array containing non-negative numbers. It was really hard to understand the interviewee, so the question is not very clear in my mind.
If you solve the question early, they ask about your passion about the company and products. For example, one of them asked me which Microsoft product is my favorite, what are the strengths/weaknesses of it and how can it be improved.
One of the applicants got accepted the same day. I was expecting a multi-step onsite interview, but this was a very quick one.