Pages

Sunday, January 23, 2011

Microsoft Interview Experience (part 2)

After a week, I got email from microsoft recruiter saying that I can continue on to the second round of interview. The interview would be around March 2011.

However, 2 weeks before New Year, I got email from microsoft again. This time, the interview scheduler said that I would be interview for full time SDET and the interview would be held on 3rd week of January in Singapore. I can also choose whether I want microsoft to arrange my travel and accommodation or I would arrange one myself and reimburse from microsoft later. Anyway, I chose my interview time slot and let microsoft arrange my travel and accommodation.

Fast forward to the week before the interview. I received an email from the recruiter saying that she would held a live meeting. During the meeting, the recruiter explained about the interview, the offer and what would happen if you got the offer.

Fast forward again to the inteview day. I arrived very early, like 30 mins before the interview time. My interview time is 8.30am. At 8.30am, the recruiter took me and 4 other people to a waiting room. She explained that there would be at least 3 interviews and possible 4 interviews if we, a.k.a microsoft, wanted more information from you. Each interview took about 45 mins. After each interview you would be in this room waiting about 15 mins for the next interview.

My first interviewer worked with microsoft for 15 years. He asked me reverse words in a sentence. For example, "this is a cat" would result in "cat a is this". I thought that I aced this question.

After the interview, the interviewer took me to the waiting room. The recruiter waited until everyone was in the waiting room. She talked about the offer and what microsoft would give you, if you got the offer.

For the second interview, the interview asked me to write a very easy piece of code and then he asked me to test that code.
The second question he asked was to find a missing number. Say you have an array[99] and the number inside the array is 0-99. There will be one number missing. There was no duplicate. Explain how you would find missing number.

During the break, the recruiter talked about life in microsoft. She showed some pictures of microsoft campus. I actually felt good because I thought the next interview would be the last interview.

Then came the third interview. This time the interviewer had worked with microsoft for 16 years. First, he asked me to talk about the project that I worked on. After that he asked programming question. His question is if there is only "int toupper(int c)" function. This function will return the upper case of a character. If the character has no upper case, then the function would return the same character.
'a' -> 'A'
'A' -> 'A'
'*' -> '*'
Write "tolower" function. The function should work with any type of character. You can't assume that the character will be ASCII. If someone were to create a new set of character, the function should work too. The character would have value between 0-255. You knew that "toupper" function worked perfectly with any set of character.

I thought this question was the hardest of all the questions the interviewers had asked so far. I also felt that my head is very blank due to those previous interviews. I would say that I struggle with this question the most.

After the interview, I came back to the waiting area. Everyone was anxiously waiting for the result. I thought that everything was over. However, one of the interviewer was to us and said that there would be one more interview for me.

Edit: forgot one more question from the third interview. The question was "test a function writefile(void* p, int byte, FILE *f)" I tested the correctness of the function. The interviewer also asked me to test the performance of the function also. How fast is the function? How do you make sure that the function wrote the data with the fastest write speed.

Wednesday, January 19, 2011

Microsoft Interview Experience (part 1)

I just finished my 2nd round of interview with microsoft.

I began my journey with microsoft when I submitted my resume through microsoft career website during July (if I remembered correctly). Then randomly on September, after I forgot that I had sent resume to microsoft, I got an email invitation to interview. The interview would take place in my uni career center. There would be 2 interviews, each interview took about 30 mins.

On the interview day, the first person I interviewed with is HR person. She asked me about my project and some other typical questions that HR usually asked but more techie than behaviour. Like, she asked me how would I explain what internet is to my grandparents. I thought I did well in this interview.

The second interviewer is technical stuff only. After he introduced himself that he was in SQL team, we went straight to the question. The question is "Find the average of the numbers. You don't know how many numbers the user would input. Ignore all duplicate numbers"
The question wasn't that hard when I thought about it after the interview. But during that time, I was nervous and my brain was still not working properly. Anyway, I answered that I would use hash table to check for a duplicate. And he asked me to talk about time complexity of my program. At the end, he also asked are there any other way to solve this problem. I answered him I would use BST. Thinking back, I should have answered with BST instead of hash table, because I would need to reserved a lot of spaces for hash table and BST seems more appropriate in this question.

Anyway, I felt that I did horribly in technical interview. I did very little preparation the day before the interview and I didn't brush up my data structure and algorithm knowledge.
I wouldn't be surprise if I fail. To tell you the truth, I went to the interview with no expectation to myself. I just thought that it would be a good experience for me before I graduate and need to hunt for a job.

Anyway, after a week or so, I got email from recruiter that I will continue for the 2nd round of interview.

Tuesday, January 4, 2011

Viber is a very COOL application!!

I use viber, an iphone application. It's a free phone call application. Similar to skype, but viber requires no login. For skype, you can call your friend for free via skype if your friends use skype and are online at that time. And viber requires none of that.

Moreover, viber uses your phone contacts and check if any of your contacts are using viber. This means that if your contacts use viber, then you can call them for FREE!!!

If your contact is using viber, you will see "Viber" after the contact name. If not, you will see what type of phone number you specified when you added the contact. If you call the contacts that don't use viber, viber will just do a normal call using iphone's phone application and your sim call plan.          

Using viber is similar to iPhone default phone application. Favorite, Recents, Contacts and Keypad are all the same as iphone's phone application. Actually, I use viber as my default phone application now.

When you use viber for the first time, you need to type in your phone number, and viber will sms an activation code to that number. This means that the number you enter could be in other phone. As long as you make sure that you got the code. Mine was actually in my older iphone3gs. (i'm using iphone4 now.)

The best thing in this very cool program is that it's FREE!!! You only need 3G or wifi. You don't need your sim in you phone at all. Now I can call my mom in Thailand from Australia for free anytime.