Skip to main content

About Interview

I went for three interviews these two days. Tuesday morning with Microsoft, midnight with Google for the first round, and Wednesday midnight with Google for the second round. Though the intention for applying those internships is not to get the offers but simply to gain some experience for technical interviews, I still prepare hard for the interviews, hoping to learn as much as possible.

The first round Microsoft interview was conducted in NUS where one HR and one technician flew over to Singapore to give the interview. I had 30 mins with both the HR and the technician. The questions with the HR is the standard interview questions like project experiences+ some brain teasers. The questions are not really that challenging. In case you are interested, I attached the questions in appendix1.

For the technical interview, the technician monitored you to write codes on the spot. The technician this year is a tester from Austin-Taxes working 10 years in MS. I did three questions during this interview, first one with pointers, second one with arrays and third one with bit-manipulations. The first question is to reverse a string in a way that translate"abc def ghi" ->" bca fed ihg". He expected the candidates to be familiar with pointers. One of my friends who also got a string reverse question even though he said that his primary language was Python. That was wired. I forgot quite a number of C++ syntax and also didn't do well in this question. Thankfully I mentioned the test cases to him and that made things slightly better.The second question is to find the number of pairs of integers in a given array that their sum is a given number.arr[]={1,3,4,5,6,7} sum=9->num=2 I wrote the O(n^2) algorithm out and told him how to improve the algorithm and make it faster( sort first, using hashmap,etc). The third question is to count the number of 1s in a binary integer using the bit manipulation & operator. That was easy and I wrote it out in a very short time.

After the interview, I realize that I'll need to review C++ more. C++ is very important. If someone is damn good at C++, he/she should be able to cope with interviews of any big software companies. The result for this interview will be released in 3 weeks and I'll be writing a whole day's codes in Microsoft Singapore office if successfully get passed for the first round. That's gonna be challenging and also a very good way to further improve the programming skills.

After the interview, I reviewed the Cracking the Code ebook again. This book is very useful for preparing big company tech interviews. Thanks to it, my C++ skills get improved within one week.

At the mid-night, I did the interview with Google. I thought it was going to be extremely challenging. However, it doesn't turn out to be that difficult. The interview was conducted in Google docs and we communicated on phones. The first question is to compute the longest length of consecutive elements in an array.  {1,1,1, 3,3,3,3,2,2,4,1,1}=>4. That was easy. I got one issue with the overflow of the last element and then fixed immediately. The second question is to print out the indexes of chars in a string S1 which appears in S1 but not in its sub-sequence string S2. For instance, S1={abcedf}S2={bcd} print out "0 3 5". Firstly, I wrote the codes considering that S2 is a sub string of S1, but later the interviewer pointed out that it's sub-sequence not necessary sub-string. Then I changed the codes into a O(n) complexity algorithm. That was OK. I felt quite confident after taking that interview as it was not really as hard as what I expected.

However, on Wednesday mid-night, I toke another interview from Google and the interviewer changed to be a hardware engineer. I didn't expect the questions to be hardware related. But The first question turned to be "what's the difference between process and thread". I tried to recall the Operating System course but I can only list some points which may not be correct.That made me very uncomfortable. second question is to design a function to output the best option for text input using a UP-Down-Left-Right-Enter controller. For instance, a screen keyboard contains 26 chars('a','b'...'z'), and the chars will be separated into rows given the width of each row(column size). The user can only navigate using the control bar to go Up/Down/Left/Right, if he/she finds the char, he/she press enter, then continue. e.g., the input text is"xy" and the width of the screen is 5, then the 26 chars will be arranged in this way:
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
The it takes the users to go DDDDRRR and then Enter to input the x and then R+enter to input the y. I implemented it using pointers, but it is different from the interviewer's expectation. There are some bugs in my codes as well.
The third question is unexpectedly to be " You video and audio play nicely in a DVD, but when you play it in a tape, the video and the sound cannot synchronize by all means. What caused the problem? how can you fix that?" I'm totally lost on that. I thought it was the problem with processing the input analog data.Cannot get through further. I found this post now, but it doesn't seem to explain it correctly,either.

Never mind, a good experience. Work harder.

When are you graduating? Are you applying for an internship or full time job?
What's your favorite Microsoft product?
What's your favorite programming language?
What's good coding?(This is a good question)
What's your favorite course?
Which project are you most proud of?
9 balls with one of which light weighted, think about ways to find out that ball using one balance.
Design an alarm for the blind people.(I mistakenly designed for the deaf people,need to hear it more carefully)
Any more questions?


Post a Comment

Popular posts from this blog

2018 New Year Resolution

This year, let me try to draft the new year resolution based on the Willpower Instinct: Step 1:  List down the best things of the past year. 1. I proposed to my fiancee when she and her mum visited Singapore in July. We were then registered as officially married on her birthday on 28th Nov in Beijing. It was really the most important event of my life so far. After years' of long distance relationship, we finally made it. Though it will still take her another half year before coming to Singapore, we were both thankful that we really made it. 2. I bought my own apartment. It was a tough process to look for properties. I was so happy when I received the keys. Before that, I shared with my bedroom with my room mates for 3+ years. 3. Fooyo's sales was quite satisfying. We has two big customers, one in the Tourism Industry and another in the Logistics Industry. The products we produced were pretty pioneering and beneficial to the industry.  4. Fooyo succ

Time to Write sth about the NOC Israel

After more than a month's waiting, I received an email today from the Financial Aid office saying that I am not permitted to go for the NOC Israel programme.  Dear Shaohuan I refer to your appeal to participate in NUS Overseas College (NOC) Israel.   As spoken on 6 November 2012, we understand that you are very eager to attend the NOC and we had submitted your appeal, together with the appeal from NOC to the sponsor.  However, we regret to inform you that your appeal to participate in NOC Israel is not successful.   The sponsor has advised that you look for an internship locally instead, if needed.   We wish you all the best.  Actually, I was informed by the NOC coordinator that she has been informed by her colleagues that the sponsor officially rejected my appeal(together with Prof.Ben's and NOC's appeals) on 21st Nov. She tried to confirm with her colleagues whether the decision is final or not, hoping to help me for the last try. However, I guess the result won't b

IPAD/FB Seminar- Thoughts on Pulse News

Monday's presentation was full of interesting sparks. Of all the eleven teams, only one chose to present FB app, which is Sims Social. The others all chose to present ipad apps. That's not so surprising as Ipad(Tablets) is the most recent platform and there are a lot of blank spaces for us to fill in. The ten ipad apps shared in the seminar covers various fields like e-payment, news-media, education. What surprised me most is that many of us find education a very promising area for mobile app development...As ipads are being utilized as an educational tools in various educational levels, education is really going to be a great pie. Wait, I need to finish comments for my assigned app first. Pulse News, a news media app with good social features. News media are getting more social and mobile and probably "cloudy" in the recently years. Organizing news media contents can be a promising area since there are always interesting things happening around and people just have