Profilo di 军平主席语录FotoBlogElenchiAltro ![]() | Guida |
|
|
06 giugno Google实习从面试开始记得那是快半个月以前的事情了(早该写了,一直拖到现在)。早上9点钟的面试,HR JJ还特意提醒我提前15分钟到,结果睡到8:15才醒来,然后匆匆忙忙起床……然后买了一根玉米肠作早餐(汗,就一根玉米肠),直奔世贸中心,结果到面试地点已经8:55了,被HR JJ bs!
HR JJ先给了我一份协议,我英语和法律都学得不好,具体得条款也看不太懂,只知道大体是个保密协议,而且没有提到赔款的事情,所以就爽快的签了,心想:我是穷光蛋,我怕谁。 接着就是面试了。上次被Trilogy的英文郁闷了,这次我早打听到全程面试只用中文,所以心态也就好了很多。第一个面试官是一个年轻的SG,有组织的风范,娃娃脸,可惜不是组织~~~~一开始就让我简单介绍一下自己,我就bla……bla……,接着我问他是不是浙大校友,他说不是,我寒了一下。接下来就是正题了: 第一题:写一个二叉树节点右旋转的算法。好久都没有碰树节点旋转这个问题了,现在记得的只有cyjj上课时的教诲。画示意图……总算cyjj上课时印象深刻,这一题也就ok了。这一题要感谢cyjj。 第二题:将笔试时A+B=C的题换了一下已知条件,给一个已经排好序的数组,给一个随机数C,是否能在这个数组中找出两个不同元素A和B满足A+B=C。参加过面试的人都应该知道这个问题应该有O(n)的算法,而我当时用的是Hashtable,所以问他可不可以使用Hashtable,他说no,因为这个数组是排好序的,而笔试时的数组并没有排好序。这里我不得不赞一下xiaoheng,笔试完了之后他给出了一个不使用hashtable算法,但是当时没听懂,只知道需要两个指针,我想就大概类似quick sort的那种算法把,也没深究,后悔啊!只好静下心来画示意图,总算是灵感和人品同时爆发了,我很快就把这两个指针搞定,不就是从两头往中间靠拢嘛。这一题要感谢xiaoheng。 第三题:给你一个长度为13的无刻度的尺子,要你在上面做标记,问:至少需要做几个标记才能表示1,2,3,……,13这13个数?比如你在1这个位置做了一个标记,那么就可以表示1,12,13这3个数。我想了一下,迷茫※。他看我一脸的迷茫,就问我答案大概是多少,我说是3或4,貌似这是地球人都知道的答案。接着我又想啊想,想破脑皮了也不知道怎么做,我最讨厌智力题,感觉毫无入手之处,毫无根据可寻。我就跟他说实话:”这题目感觉不知怎么入手,毫无规律可寻。“他就继续给我提示:”你可以证明至少需要做几个标记“。就是“证明”这个词给了我灵感,因为这就跟数学联系上了。我先假设只需要做3个标记a、b、c,那么就可以表示a, b, c, 13-a, 13-b, 13-c, b-a, c-a, c-b,13这10个数,显然不能表示13个数,所以答案肯定大于3。用同样的方法可以证明4可标记是可行的。然后他问我怎么求出这四个标记呢?当然不能手算了,即使能的话也只能请图灵同学来算了。用计算机的话只需要一个简单的dfs。这一题要感谢这个面试官。 到这里第一面试官的算法题算是答完了,接着就是系统知识问答。 第四题:线程和线程之间的共享资源有那些?我就bla……bla……说了一通。然后他又问我为什么他们之间不共享堆栈呢?接着我又是yy了一通。然后他又问我用c语言写多线程序时,能不能从一个线程访问另一个线程堆栈上的变量?我说可以,但是我没做过类似的事情。然后我就跟他解释为什么可以,其中一个重要的论据时pthread。这一题要感谢lsp老师,没有他的操作系统课,我们不可能对系统有这么多的了解。 第一面试官的问题总算是over了,我以为面试到此结束,结果他说让我在这等另外一个面试官,汗! 第二个面试官风格完全不同,他一开始就问我项目经验,而且还做笔录。bla……bla……项目经验介绍一通。然后又是算法:
第五题:给你k种不同面值的钞票,每种钞票都有无数张,给你一个随机的金额数n,求一种钞票数量最少的组合,使它们的面值之和为n?这到题我以前在zoj做过,所以很快就给出了两个解决方案,第一个是dp的,第二个是dfs+剪枝,结果发现第二种方案完全是做多此一举。这一题要感谢ZOJ。 第六题:给你一个8位的字符集,和一个toLower的函数,请你写出toUpper的实现方法。我上来就给他一个return toLower(c)+'A'-'a';的算法,结果他说我没听清楚题目意思,然后他有给我解释:“这个字符集不仅仅包含英文字母表,而且还包含其他你不知道的字符,比如希腊字母等等。” 说得很清楚了,因为只是一个8位的字符集,只需要建立一个小写字母到大写字母得映射表就可以解决问题。这一题就不感谢谁了,也太简单了。 之后他就说他的问题完了,我若是有什么问题可以问他。bla……bla……一些没技术含量的东西就问出来了…… 接着我就去HRJJ那里暴了一下自己的GPA。
总结,这次面试大体来说算是有惊无险,问题难度总体上不是很大,但是面试时间有限,平时的简单题到了面试就是难题了,所以要随机应变,而且很重要的一点是要跟面试官交流,把你现在的想法跟他们说,尤其碰到无法入手的题目,面试官会给你足够的提示,千万不要钻进题目里面无法自拔,这就是我Trilogy面试失败的地方。 |
|
|