乐's profile刘乐的共享空间PhotosBlogListsMore Tools Help

刘乐的共享空间

June 24

惊闻Google被盾掉

刚从公司回来,来到实验室,惊闻Google相关网站都被盾掉,包括google.com, gmail, reader, canlender, docs等服务都无法使用。这无异于晴天霹雳。这些都是非常实用也很好用的服务,特别是gmail,我的所有重要邮件都在这个邮箱中,基本上所有重要资料中填的都是这个邮件地址。现在gmail却毫无征兆地被“伟大的金盾”盾掉!

无耻啊无耻!为了推广一个人人喊打的抄袭的安全漏洞无数的扫黄正确率不及错误率零头的绿坝软件,政府不惜用出这种下三滥的手段,情何以堪?希望Google能够顺利度过这一关,继续为广大网民提供优质的服务。

January 16

变得易怒

发现自己变得越来越容易发怒了,心态很不好。虽然没有在人面前表现出来,但是确实怒得很。这样不好。希望牛年能够有所转机。

November 05

奥运后第一次游泳

学校游泳馆在奥运前关闭了一年,终于在今年十月份再次开放了。早就计划要去游泳减肥,今天终于拿到了游泳装备,于是下定决心去了。
 
规矩如前,9:15到10:30是晚间小场,学生七块,我拿的实验室买的季卡,平均5块一场。更衣室里的衣柜都换成了新的,进场后发现温度刚好合适,水温更是不冷不热,爽就一个字。考了个深水证,踩水5秒,蛙泳两百米,好久不游了,累得不行,中途还偷空休息了两次,幸好教练也不认识我。之后又断续游了五百米,大概消耗了400大卡热量。
 
人不多,深水区五条泳道,每条泳道大概七八人。游到10:05就上来洗澡去了,那些感应式喷头坏了好多,最后只找到了个出水很小的喷头,很不爽地洗了个澡。现在很饿,忍着。
 
总体来讲,游泳是一项强身健体又减肥的运动,应该坚持。
October 27

面经(3)——Google

终于收到Google的拒信了,于是才打算写这篇笔面经。

大名鼎鼎的Google那当然不用废话去形容他的伟大了。不过Google在中国招人很少,有小道消息说今年的名额不会超过20,包括技术类和非技术类职位。但是投Google的人却成千上万,竞争惨烈。

闲话少说。我投的是Google的软件工程师职位。Google的笔试接在宣讲会后进行,而且必须是在这之前投了简历并且过了简历筛选的同学才能参加宣讲会和笔试。笔试的题目不难,10道选择题,都是考的基础知识,涉及网络、操作系统、数据库、C/C++、数据结构、算法等,基本上本科是计算机系的同学都可以做出来。接下来是三道大题,或编程或给出算法,其中一道是图论方面的一道是字符串的,都不难。由于笔试并不难,所以更多比拼的是细心,听说十道选择题中,错了三道就没戏了,错了两道就危了,这样刷掉了很多人,包括很多大牛。

Google的效率很高,笔试之后两三天之内就会通知面试。小道消息是如果两三天之内没有通知的话,那很大可能就被拒了。我比较幸运,通过了笔试,约我第二天去面试。因为我知道我必然被Google鄙视,所以反倒显得很平静。面试官是一位胖胖的和善的不太高的工程师,体型跟我差不多,让我觉得很亲切。先聊了聊实习经历以及毕业论文的题目,然后就开始做题。问了一道图论(又是图论)方面的题,不太难,不过我当时有点晕,没有迅速地回答出来,然后让我当场写代码。写代码的时候,面试官死死地盯着我看,于是就紧张了,毕竟这代码编写能力跟Google的那些牛人相比相差太大,于是写得又慢又烂,在面试官的检查和提示下,修修补补的才搞定这个题。这时候面试时间却已经到了。面试官很和善地问我有没有问题要问他的,没啥好问的,我知道又是一轮游了。那位负责协调的工作人员带我去领了一个带Google商标的钥匙扣,都没来得及蹭些零食就离开了。

回来后鸭子说他实验室的一位师兄面了之后没拿钥匙扣,但是收到二面通知了。于是我们得到一个结论:如果在终面之前他们哭着喊着要给你一个礼品钥匙扣,那说明你没戏了;如果他们爱拿不拿的,那恭喜你,准备下轮面试吧,哈哈。Google的面试效率很高,听说有牛人笔试之后的两天就面完了三轮并且收到了第四轮的面试通知。不过四轮之后要等到11月份才会发offer。

October 15

面经(2)——微软ATC

微软是我找正式工作时投的第一家公司,我的找工作处女面也是给了微软。由于有师兄在ATC工作,八月份便把简历发给了他,请他内推,申请ATC的软件开发工程师职位。

可能是受了四月份投实习职位被拒的影响,ATC过了好长一段时间才打电话通知我电面。电面时先让我简单地自我介绍,然后问了问实习经历以及做过的工程之后就开始问技术相关的东西了。所涉及的东西比较多,数据结构、算法、操作系统、数据库、C++/C#/Java等。数据结构与算法是重点,也会问一些操作系统、数据库、编译原理等方面的一些知识,还有就最熟悉的一门编程语言进行问答。不过我电面的时候表现得不太好,C++中的几种类型转换的区别这样的问题都记不清了,比较文件不同的算法也说得乱七八糟,所以觉得有点悬,于是在电面结束的时候问对方面试的流程是如何的。面试官说电面通过之后会有三四到的当面面试,或者还可能进行第二次电面,看个人表现。面试官还是很和气的,让人放松。

于是不出意料地又等了两周,直到八月下旬的某天ATC又打来电话说要进行第二轮电面。我觉得真是庆幸啊,加上之前复习了一些东西,觉得信心足了些。然后第二轮电面当天的上午发生了一件很积攒人品的事。我去交行ATM取钱,发现前面的那哥们取完钱之后竟然忘了取卡,我插了好几次卡都插不进去才发现这一点,而里面的卡还处在有效交易的阶段。我想也没想,直接把那卡给退了,放在旁边,然后自己取钱,取完钱后把捡到的那卡顺带给了交行的大堂经理,换来两声衷心(我猜的)的谢谢。出了银行我作了一番思想斗争之后认为自己做了一件好事,在这个找工作的关头真是积攒了大量的人品啊。果不其然,接下来的电面很顺利,基础知识基本上都复习到了,并且也在最后一刻想到了算法题的最佳解题方法,听到了面试官很明显的满意的话语,令我松了口气。然后第二天就接到电话,让我4号去希格玛大厦参加面试。这告诉我们积攒人品是有好处的,根据人品守恒定律,这头失了总会在那头补齐的。

4号去微软ATC面试,3+1轮。上午三轮面试,如果通过了则下午加一轮。我投的是SDE职位,面试开始的时候对方就直接问我有关软件测试方面的东西,让我大惊,莫非是搞错了职位?赶紧确认一下,面试官说这是正常程序,SDE的职位是两轮开发工程师面试还有一轮测试工程师面试,而SDET则是两轮测试工程师加一轮开发工程师面试。问了些测试相关的一些知识,我对测试没做过什么准备,就凭着当年软件工程课上的一些零星记忆开始胡扯,白盒、黑盒、测试与开发的螺旋交替上升等。当被问到什么是单元测试的时候,我就傻眼了,忘了这个词了,于是就扯了一通以前做工程时所碰到的测试情形,末了,面试官说:你说得没错,不过好像不是很符合题意。于是我只好说我忘了单元测试到底是什么意思了。发现自己脸皮变厚了,说忘了的时候也理直气壮的。然后出了个算法题让我做,做完之后就问如果保证这个算法的健壮性,应该在程序中检测边缘条件、检测输入数据是否合法等,总之需要做得像黑洞能接纳任何种类的物质那样的鲁棒。然后写测试用例,顺利过关。接下来是两轮开发工程师的面试。用英文作自我介绍。幸好我做了准备,把稿子写好并背下来了,于是在那里背了一通,哈哈,蒙混过关。然后开始做题,过程跟电面差不多,只是交流起来更方便。面试官很和气,在卡壳的时候会提示你并且鼓励你,并且总是带着笑,使人能够发挥出全部的水平。

上午三轮面试之后,留在微软吃了个快餐,除我之外还有一个贵系的师弟和一位北大的女生。我溜到微软的休息间拿了饮料和水果来吃,刘经理知道这事后说怪不得那天吃的东西那么少,哈哈。下午我和贵系的师弟继续留下面试,北大的那位投PM的女生就先回去了,后来听说微软今年没有招PM的名额。下午的面试官是一位经理。问了两道算法题外加让写内存管理器的代码。一时之间我哪写得出内存管理器的代码来啊,只好跟他磨迹,谈内存管理器的原理,可惜的是我也记得不是很清楚了。其中我犯了个错,面试官也犯了同样的错。我说可以将4G内存划分为4k的页,每页由一个32位的指针来指示。于是需要2^20个指针,面试官说那这些指针就要占用2^20*32=2^25也就是4G内存的1/128,我当时晕了,竟然没有发现这个错误,1/128让我觉得占用得太多了,于是就更紧张了。后来我发现占用的空间只是2^20*4=2^22也就是1/1024而已。32位的指针占用的是4个字节,而不是32个字节,而且在Linux中就是用这种方式来管理内存页的。这令我嗟叹不已,关键时刻还是不够冷静啊。

写这个面经的时候已经10月15号了,离面试日快有一个半月了,微软还没有给我任何消息,让我觉得戏码说不定早就结束了。不过校园招聘第一拨笔试10月12日才举行,微软还没有发出今年的offer来,这给了我一些希望,认为ATC只是发offer的日子还没到而已,我的希望还是有的。只是受经济危机的影响,听说今年微软的招生计划要减半,这希望又小了不少。现在已经平静了,能来offer最好,不来也就算了^_^

 
Photo 1 of 6
More albums (1)