Monday, May 28, 2012

Face To Face interview 4 ( The last Microsoft interview)


related posts:
the technical interview
the phone interview
Face To Face (Also, A Microsoft interview)
Face To Face 2(yes, you know it.. A Microsoft interview)
Face To Face interview 3 (again, A Microsoft interview)

This was the last interview at Microsoft (finally), but I didn't really knew that.
Some of the interviewees have had 3 interviews, others had 4..... at that time, when the 4th interviewer took me to the interview room, all I though was that he was the one to tell me the
results... but after chatting with him a bit, I realized that it was an interview.

We started by chatting about general topic, how he really wanted to visit Egypt, but couldn't due to the current situation... etc. And I talked to him about my school.. and where it is relative to my home town, and both of them relative to Cairo (the capital), which I then had to demonstrate by drawing a map of Egypt on the white board, where the 3 cities appear like a triangle around the Nile river (which is shown in a different color with low opacity )

We then talked about how crowded Cairo is, which made me realize that he had done some research about the area (probably when he thought he was going to go there), then he asked me if I had a car to drive through all these distances, which I answered..... 

Me: well, I do have a driver's licence, but I don't know how to drive a car!
Interviewer: !!!!!

Me: how stuff works in Egypt is a very long story.

At that moment he said "lets start the interview" .....which should show you why I thought it was not an interview (most of it was just chatting)

The interview went like this....

He asked me to open his laptop on the login screen of Windows 7 and then test it!!

This is the kind of questions that feels like it has no complete answer... when ever you think you are done, there comes something else that can be added to the answer.

I don't remember visually how it was, but I'll try to describe it as far as I remember.

I didn't really try to login using the correct credentials nor did I try to even ask him what they were.... at that time it didn't feel like this is what he was looking for.

I started by writing some random user name and passwords and of course they didn't work, then I changed the language using (Alt + Shift) to see what happens, and the second language got activated.
Then I noticed a button somewhere (I guess it was top left) which indicates the language (or something related to it) so I played with it a bit ,which changed the language of the display (the words written on the screen changed to the other language) unlike (Alt + Shift) which only changed the input language.... but the I noticed that some of the text was not translated... so I pointed that out to him.....

We talked about RTL and LTR languages and how they change the layout, and some characters don't appear as they are intended to be... how the fonts are involved ... etc.

Then I kept clicking the login button repeatedly... so he asked me why??
I tried to explain to him how a miss written if statement could cause the condition to break if you call its code repeatedly.. but he didn't get what I mean...
So,I took the pen, went to the white board and wrote an If statement (from previous experience) that can cause such a condition

This case happened to me once in a Linux course I took a few months before.
(my partner in lab) and I were trying to write an alternating if statement which evaluates the condition different each time {true , false, true, false .... etc} so, we thought we can just divide 1 by any number (in our case was 4) and store it in a variable... then we check if it is 1 else we multiply it by that number...!

x  = 1
y = true

loop
    if x == 1
       y = true
       x /= 4
    else
       y = false
       x *= 4
    endif
    // some code
endloop

now, this code has multiple issues...
1- if you divide by a number then multiply by it, you can't guarantee to get the first number again, due to round off and chopping errors
2- in most programming languages (in this case "bash") this code will result in Integer multiplication and Integer division .... the division will result in zero if this case (1/4 = 0)
3- I don't like this code... it can be cleaner... maybe by using boolean operations or something... anyway we used the number -1 to solve these problems


loop
    if x == 1
       y = true
    else
       y = false
    endif
    x *= -1
    // some code
endloop


So, he understood what I was saying then I went back to the laptop.
I tried every function there is on the screen to see if it does what it is intended to do... even restart :D
I then tried SQL injection (but I knew it wont work :)  just to show him that I know about it) 
I wrote the classic SQL injection code ' or '1'='1' -- '
So, he asked me about it and I explained how it works 
Note: this is a simple SQL injection code, and it rarely work... but it is a good way to demonstrate how SQL injection works and also a good way to show that you understand it.

He asked me will it work??
Me: I don't know!
Him: how would you know??
Me: maybe if I know someone from  the inside, who can tell me if user names and passwords are stored in a SQL database, or if I look at the code or if I walk through the files in the operating system and try to figure out how the data is stored

I then told him about a case that happened to me once, as a friend of mine tried a hacking technique on Windows XP and it worked .... but it only worked on cracked versions of Windows XP, we tried the same technique on an original copy but it didn't work (don't know why)

Then I kept looking around for anything, but didn't find much really and the interviewer didn't ask me for more.

He then started talking to me about testing in general, and how I feel about it.
He then asked me if I had any questions??
So, I did the strangest thing... I asked him a philosophical question ( I decided that putting these questions here is not the best thing to do in this post... so sorry. but I may write about all the philosophical question in some other post  )  

I asked him a philosophical question... which he didn't expect... but he handled it wonderfully.
As we were leaving the interview room.. he had this strange look on his face.. I think it was due to the surprise of the question.


That was all there is.... no more Microsoft interviews.
I hope that you enjoined these posts and benefited from them.. as this was my goal all along.

5 comments:

  1. I really enjoyed all of your posts.
    Jazak Allaho Khayran :)

    So, finally, what was the result of the interview? :)
    If you don't want to answer that's OK. :)

    ReplyDelete
  2. Thanks..
    About the result.. I actually got an offer, and I will be joining Microsoft very soon.

    ReplyDelete
  3. msA, Congratulations. :)
    My phone interview will be next week isA. :)

    ReplyDelete
  4. good luck.
    just think of it as an experiment that you will learn a lot from, and be confident in yourself and your abilities and isA the best will happen.

    BTW.. make sure the environment for the phone interview is quiet and the phone has a good reception.. it is very important :)

    ReplyDelete
  5. Thank you for your advice and support :), I will try my best :)

    ReplyDelete