2007/6/6

Google Logo: Doodle 背后的故事(一)

很多朋友知道 Google(谷歌)会在节日的时候推出各具特色的 Doodle,但是你知道哪个 Doodle 是设计者在发烧的时候完成的吗?你知道 Google 这六个字母哪个字母最难设计吗?让谷歌 Doodle 的设计者 Dennis Hwang 向大家解密这些 Doodle 背后的故事吧!

Bastille Day(法国国庆日)2000 年 7 月

这是我完成的第一个 Doodle。虽然设计简单,但是独立完成这个 Doodle 时既紧张又激动的心情依然清晰。
Louis Braille's Birthday(盲文发明者 Louis Braille 生日)2006 年

这个 Doodle 是用盲文输入系统制作出来的,我十分肯定这是唯一一次我们摆脱了设计 Doodle 的模式。本来我以为这个设计不会被上层通过,但是当 Larry 和 Sergey 同意使用这个 Doodle 时,我又被谷歌这家公司震撼了。
Leonardo da Vinci's Birthday(列奥纳多·达·芬奇生日)2005 年


初稿就得到了通过,但是我为了让著名的蒙娜丽莎的微笑更像原作,着实费了一番功夫。
Google 黑板报 -- Google 中国的博客网志: Doodle 背后的故事(一)

Google 黑板报 -- Google 中国的博客网志: 关于恶意软件警告:“该网站可能会损害您的计算机”

发表者:Google(谷歌)技术支持

在现今资讯科技发达的时代,我们几乎做什么事都离不开网络了,网站的安全性显得日益重要。那些含有恶意软件的网站,常常导致用户的电脑发生问题、信用卡或是银行账户号码被泄漏、甚至身份被盗窃,造成无数的金钱损失。Google(谷歌)一直致力于保护用户不被连结至传播恶意软件的网站,希望将用户受到恶意软件危害的几率降至最低。因此,谷歌与 StopBadware.org 合作,于搜索结果中对那些在 StopBadware 公布的指南下被判定为发布恶意软件的网站标示警告:该网站可能会损害您的计算机。身为网站管理员,您可能很关切自己的网站被加注该警告的可能性;但我们要向您保证,我们很认真看待您的疑虑,并且非常小心以避免错误的标示。

其实,向用户提出警告只能解决部分的问题。我们更重要的目的是帮助网站管理员们保护自己的用户,与他们一起努力来消除威胁。多数被标示警告的网站,并非有意散布恶意软件,而是因为被黑客入侵了。我们发现,许多网站管理员不知道他们的网站遭到入侵;当他们看到自己努力耕耘的网站竟然在搜索结果中被标示了这个警告,都感到非常意外。在此,我们要推荐您使用谷歌网站管理员工具,以便您能及早发现您的网站被标示了警告。我们将恶意软件通知与网站管理员工具结合,并通过电子邮件发送给部分网站被标示警告的网站管理员。如果您的网站被判定为散布恶意软件,您会在网站管理员工具的“诊断” 标签下看到相关的警告,以及找到帮助您纠正这个问题的信息。此外,该页也显示了您网站上被判定为危险网址的范例。当您因为找不到恶意软件的藏身之处而头疼的时候,这个提示便可助您一臂之力。例如,受到入侵网站的常见情形是被插入一个像素的 iframe,而造成了自动从其他网站下载恶意软件。通过提供网址的示例,网站管理员可以进一步查找问题的来源,并作出修正来加强网站的安全。

如果您清除了您网站上所有的恶意软件,或是您认为您的网站被误判了,请访问http://stopbadware.org/home/review 要求复审。一旦复审成功,您的网站将不再被标示该警告,而您的用户也会因为您的努力而受到更多的保障。然而我们还是要提醒您,即使您的网站没有恶意软件的警告标示,并不代表您的网站一定是安全无虞的。您可以参考 StopBadware 所提供的一些小技巧来加强您网站的安全;持续不断的保护及监控您的网站才是避免恶意软件入侵的不二选择。Google 黑板报 -- Google 中国的博客网志: 关于恶意软件警告:“该网站可能会损害您的计算机”

2007/6/5

Google 黑板报: 北航 Google Camp 一周岁

发表者:李翔昊,北京航空航天大学

高高兴兴过完六一儿童节,就到了我们北航 Google Camp 的成立纪念日 — 嗯,Google Camp 一周岁了!

回顾成立的这一年,还是很有些小的成就感,我们北航 Google Camp 成员着实组织了一些颇得同学们好评的校园活动:

上学期,我们的“创意 2006 旅游策划大赛”让更多的同学学会使用 Google 的 Web Search, Image Search,Google Map,Google Earth 等产品打造自己的出游计划,并获得资助,完成了出游计划。

“最后公布的大赛结果证明我们之前的辛苦与努力没有白费,“旦暮·古今”得到了同学们的承认。第三名的成绩也许并不能让团队里的每一位成员感到满足,但是大家都珍惜着之前那些为同一目标奋斗的时间,并且深信这点点滴滴弥足珍贵的回忆才是 Google Camp 旅游策划大赛给予我们的最高奖赏。” — “旦暮·古今”参赛小组

“旦暮·古今”的出游照片

这学期,我们不仅组织了到 Google(谷歌)公司的参观,而且在谷歌全球开发者日之前,非常荣幸请到了谷歌的资深工程师安兴华,到北航专门做了一场 Google Map API 编程的讲座

同时,我们的 Google Camp RoboCode 挑战赛也正如火如荼的进行。

预赛第一场

北航 Google Camp 的 LOGO & T-shirt 创意设计征集大赛也已拉开序幕……

rEDgHOST 的参赛作品

而我们北航 Google Camp 的团队,就在这些活动的策划和组织过程中不断锻炼、成长。

“两周里发生的事情使我无法克制对 Google camp 每个成员的热爱,他们的热情,他们的才干,以及他们为camp 努力付出的精神,让我深深的感到感动。”

“Camp 的组织结构是完美的,不足 20 人的团体,我们却可以作出不逊色于任何大型社团的活动,甚至可以说我们做的活动,他们或许根本无法完成。”— Xesty.HC

目前最值得期待的是,我们北航 Google Camp 的实验室,在谷歌和北航软件学院的合作支持下,目前正在紧张的装修、建设中。先把我们设计的效果图悄悄放上来~很谷歌吧?

我们也会继续努力,传播谷歌的使命和价值观,自发组织有创意的、激励进取和充满乐趣的活动。

对于北航 Google Camp 更多的信息和动态,大家可以访问我们的主页:
http://gc.buaa.googlepages.com

信息改变生活,Google Camp 链接你我
用心搜索你的梦想,请让我们一起!Google 黑板报 -- Google 中国的博客网志: 客座博客:北航 Google Camp 一周岁

2007/6/1

Google工程师: 对学生朋友的一点建议

发表者:Google(谷歌)中国工程研究院 工程师 方坤

自去年春天加入谷歌,我曾多次随公司校园招聘团队一起走访各地院校,帮助公司发掘人才。利用这样的出差机会到处走走看看,饱览祖国大好河山,是我一点小小的私心。但更具挑战性、更激动人心的,还是和我未来的同事们过招,不打不相识嘛。一想到马上就要和这样优秀的人才一起工作,我就兴奋不已,真恨不得现在就买一张单程机票把他/她拽回北京。

然而,在面试过程中,我也相当惋惜地看到,由于种种主客观原因的限制,很多青春韶华的学子未能充分发挥出他们应有的潜力。这里我不讲成绩,只把我遇到过的一些普遍的问题归纳一下,希望对即将踏入社会的学生朋友们能有些许帮助。

实战!实战!

纸上得来终觉浅,绝知此事要躬行。对于一个未来的软件工程师来说,实际编程经验是相当重要的。我们会要求应聘者在紧凑的时间内编写大量的代码,从中考察应聘者的分析能力,编码速度,代码可读性,对所用编程语言的掌握程度,对边界条件与异常状况的处理,数据结构与函数接口的定义,程序运行的效率和应聘者查错纠错的能力等等。一口气列出这么多要求,听上去似乎过于苛刻,其实只要积累了足够的实战经验,每一个应聘者都完全可以满足这些最低限度的要求。

我记得开复对于青年学子们有一个建议,大学四年,至少要编写 10 万行代码。不是每一个人都期望进入谷歌这样的顶级技术公司,但即使对开复的建议打个三折,也还有 3 万行呢,不努力,能行嘛。前来应聘的学生们在编写代码时暴露出这样那样的问题,大都可以归结到同一个原因:锻炼太少。比如"for (int i = 0; i < strlen(s); ++i)",没有实战经验的人,怎么可能意识到暗藏其间的效率陷阱。再比如内存泄漏,就和初恋一样,没有亲身经历过的人,不会有刻骨铭心的感受,而一旦经历,终身难忘,根本用不着你有多聪明。遗憾的是,我看到许多相当聪颖的学生写出来的代码只能用惨不忍睹来形容,真让我怀疑这是不是就是他们的第一次。大家不要怪谷歌要求高,恕我直言,如果不能持之以恒,下点儿苦功夫,不光谷歌一家,其它公司恐怕也是进不去的。

北京、上海等地的学生,往往有更多实习、兼职机会,接受锻炼之余,还能攒下一笔小钱作零用之资。其它一些地区的学生也许就没有这么幸运,这就尤其需要积极主动,寻找机会,创造机会,把握机会。世界正在变平,互联网的发展改变着地球的面貌,让不发达地区的学生也能相对容易地接触到发达地区的资源。前不久我在西安遇到一个学生,他半年来一直坚持在北京大学的 ACM 网站上参赛、做题,我看他写出来的程序就确实比他大多数同学都要好一些。我相信,只要他能够持之以恒,还会取得更大的进步。我听说浙江大学的 ACM 网站、TopCoder 网站也都是不错的教育资源,感兴趣的同学不妨一看;虽说做竞赛题距离真正的软件开发还有着显著差别,但也不失为一个不错的出发点。

在积累一定编码量的基础上,我建议大家总结经验教训,不断提高自我。如果几万行代码写下来,学 C++ 的不知道 const 怎么用,学 python 的没听说过 GIL,我看也没什么意思。到了这个阶段,我推荐大家读一些经典的进阶书籍,例如《Effective C++》、《Effective Java》等,即使地处偏远地区,也可通过网上书店买到。(我建议编码量太少的同学就先不要读了,会走火入魔的。我见过有学生连引用和指针都没搞清楚,就在那里重载操作符的。)交流也很重要,如果能够与网上网下志同道合的朋友互相帮助,共同进步,当收事半功倍之效。在这一方面,各校的 Google Camp 也许能够起到一定作用。

"我会写代码呀,为什么谷歌不要我?"

一家外包公司或许会满足于雇佣仅能从事简单的、机械性的重复劳动的软件蓝领,而让谷歌苦苦寻觅的,乃是最优秀的软件工程师兼计算机科学家——是的,在谷歌,研究与开发融为一体,软件工程师与计算机科学家当然也合二为一。计算机这几年算是比较热的,能够得偿所愿挤进计算机科学相关专业的学生都是全中国顶尖的人才,如果大学四年荒芜学业,未能取到真经,浪费了这一来之不易的学习机会,是不是太可惜了呢。

遍历一个数组或链表的时间复杂度是多少?对于这样一个不是问题的问题,竟然各地都有相当数量的学生回答说是 O(logN)!有一次我实在忍不住了,提示应聘的学生说:"你是如何理解'遍历'一词的涵义呢?"他立刻做恍然大悟状,回答说:"哦,对,应该是 O(NlogN)"。我当时失望得一句话都说不出来。类似的例子还有很多。坊间一直传说谷歌的面试题有多难,其实大多数学生都卡在最基础的问题上。少数人费尽气力要收集谷歌曾经用过的面试题,其实我们大多数题目都来自或改编自经典计算机科学教材的习题。

顺便提一句,上面提到的那个答错的学生乃是一流大学中成绩名列前茅的优秀生,门门功课(包括所有计算机专业课)均在 90 分以上。反差何其大也!

诚信为本

我曾服务于多家公司,注意到不同的公司之间,乃至同一公司内不同的面试官之间,对应聘者的要求都会有所差别,或看重潜质,或偏好经验,或强调态度。但有一点大家是共同的:如果应聘者在诚信上有疑问,谁也不敢要。

总体而言,现在的学生其诚信还是相当不错的,大大超出了我们的期望。然而,不和谐音也还是有的。我们曾在某著名高校进行笔试,就发现有学生严重作弊,他们毁掉自己的机会不说,整个学校的名声也受到拖累。面试中偶尔也能遇到诚信堪忧的学生。有一次我出了一道题,前来应聘的学生明明以前见过这道题,却告诉我说没见过,自以为得计,可他那一纵即逝的狡黠一笑哪里逃得过我洞若观火的锐利眼神。大哥,你又不是专业演员,为什么要玩这样的花招?我每年面试的求职者在百人以上,捣鬼是过不了我这一关的。两点之间直线最短,说真话最简单。

做最好的自己

不是每一个人都会加入某一家具体的公司,但每一个人都可以成功,成为最好的自己。我这里所谈,既不系统亦欠简练,但确实是我在几次校园招聘之旅中发现的一些具有共性的问题,故不避好为人师之讥,罗列于此。我当然知道,本文的首要目标读者——大一新生是不听劝的,他们更愿意把所有的错误亲自重犯一遍。话虽如此,只要能够对一个学生有所启迪,我的时间就不算白费。
Google 黑板报 -- Google 中国的博客网志: 对学生朋友的一点建议
Loading...