Showing posts with label Intern Interview. Show all posts
Showing posts with label Intern Interview. Show all posts

Monday, May 21, 2007

MSR internship offer

I just received an offer from MSR for this summer intern. But I decided to reject it since it's a more application oriented intern. Maybe, staying in school can help produce more works. That's more hope and belief.

BTW: I just checked with Martha and found that we can use CPT twice. Anyhow, this is a good news for ASU student. I'm not sure whether or not my complaint makes the difference. Again, do things proactively can always makes future better.

Tuesday, February 13, 2007

No hope for this google interview

Just done with the google interview. I believe this this the worst case I've ever done.
It's so bad. The interviewee is a Chinese, but we still talk in English.

First question ask me to write a SQL query. I haven't touch database for a long time. So after 10 mins, I still can't come up with a good answer.

Second question: how to implement a merge sort? write the pseudo code. Then, I ask him whether or not I can use recursion. He questioned: without recursion, how do you do that? (Stupid, why not just give the answer with recursion). What's the time complexity and space complexity. I know time complexity is O(nlgn) but space complexity is not sure. I finally figure out the correct solution should be O(n). I guess he already kicked me out of his candidate list based on my performance.

3rd question: 10G large array data, 2G RAM, how do you sort them? I know this question should be merge sort? But how many data should you load each time into the memory?
I answered you can split an array of size n into 2 parts, 3 parts or even more, and then do a combination. So for 2 parts, you need a working memory of (n/2), 3 parts, you need a working memory of (n/3). but what should be the optimal number? No idea.

Too nervous, cannot think any more. And he mentioned we were out of time several times.

4. it's about the project. How to solve their problem.

He asked me if I have any questions, but I already gave up. So just ask him some normal questions.

Really need to know the algorithm and structure book well. But too busy to prepare the interview. Really shame on myself.

Friday, January 19, 2007

Rejected by Google

I thought I could reject Google, but unfortunately Google rejected me!! :(



We would like to thank you for your interest in Google. After carefully reviewing your experience and qualifications, we have determined that we do not have a 'Software Engineering Intern' position available which is a strong match at this time.

Thanks again for considering Google. We wish you well in your endeavors
and hope you might consider us again in the future.

Wednesday, January 17, 2007

Google Phone Interview (1st round)

(1st round)

Why do you like google?
What's the difference between process and threads?
What's the difference between Java and C++?
Tell me the basic concepts of object-oriented programming?
How to implement mutiple inherience in Java? Why java use interface while C++ keeps feature of multiple inherience?

Have you ever involved into any team project? what did you do?
How do you handle the case that you have different opinions with manager?

Then discuss about my research topic.

How to find most common word in billions of documents?
1. If memory allowed (hashtable). what's the time complexity?
2. What if multiple machines? What's the bottleneck?
3. What if just one machine and hashtable can not be stored in the memory?

Then, I asked hime some general questions.
The last task, he asked me to send code to him in 30 mintues. The task is write a function to transform a string into an integer.

Google Phone Interview(2nd round)

Just finished my interview with Google. This time is an engineer, asking lots of detailed questions.

He knows a lot about lisp, so we just discuss about the issues about lisp. like
what's the difference of lisp and other languages?
which kind of lisp complier do you use? emacs lisp vs. clisp?

Then, some questions about operating system?
What's the difference between process and thread? What kind of information does thread maintain? its own stack? heap?
How and when to do a context switch? How do you handle an time slice interrupt?
What are the possible pitfalls for multi-thread programming?

How compiler works?
Can regular expression resolve the problem of nested structures?
Tell me something about grammar?
Is type check done before or after parsing?
(I did pretty bad in this session, so he finally stopped)

Familiar with TCP/IP, RPC, network programming? (NO, skipped)

Are you familiar with B-tree, red-black tree? (No, so we switch to binary search tree)
What's the time complexity of insertion or query in a binary search tree? O(lg n)
Worst case? (O (n))
How to transform a unbalanced tree into balanced tree?
Are you familiar with TreeMap in Java?

How hash table works? What if two object have the same key value? Show me one example of hash function.
What is the innate structure of a hashtable? (I said array) How do you map a key value to an index?

Finally, one technical question:
Given a source word, a target word, and a dictionary, how to transform the source word into target word by changing only one letter in each step. The word you get in each step must be in the dictionary.

Then, I asked him about some projects details.

Thursday, January 11, 2007