每位Google工程師面試必會的15道程式考題(上)

标签: google 工程 | 发表时间:2012-02-01 14:22 | 作者:林偉立編譯
出处:http://www.bnext.com.tw/Feed/rss/topicslinks

你一定聽過一大堆進Google必考的瘋狂面試問題,但除此之外,每位工程師還須加考專業的技術問題,證明你的寫程式能力。Glassdoor是一家供求職者評價面試經驗的網站,蒐集了許多有趣的Google面試問題,現在就來看看進Google必考的刁鑽問題吧! 

1. 撰寫一個整數演算法

挑戰:這是一個比較隨意的問題,設計來讓工程師定義參數(parameter)。

如果是Assembly組合語言,則必須建立基本的算式,如果是其他語言就很容易,大多數語言都有支援算式,只要把數字帶入即可。

2. 將兩個排序好的Linked List合併

挑戰:這是一般Google面試問題的基本設計,讓你找出有效率的方式解決問題。

如果你要合併兩個「linked list」,遇到的問題是兩個list間的順序是衝突的,你必須找到一個好演算法快速重新排序。

3. 給一組區間(一定秒數),讓你找出哪組區間重疊了

挑戰:Google同時會要求你解決一組數學問題,用來挑戰工程師很有效率的思考問題,不只是考撰寫程式。

4. 如果有一組N node,該有向無環圖(directed acyclic graph)的邊最大值為何?

n-node

挑戰:這是知名數學題目「旅行者問題」的變形

你必須畫出每個node之間的線,但是不能有一個明顯的路徑是回到出發的原點。

5. 在Java語言中,finally、final和finalize的有何不同?

挑戰:上述詞彙都有特定的意義,無法混淆。.

Google考你懂不懂Java。舉例來說,Finalize是處理「垃圾回收」機制,而Finally是只特定錯誤訊息。

6. 移除一組text文本中的重複句子

挑戰:這個問題主要是考你是否能夠估算該試題能在一定時間內解決。

雖然你可以暴力法試著窮盡所有可能,但是也有可能永遠無法解決。

7. 給予一組字串(String),找出可以包含給定字母組合的最小視窗(minimum window)
挑戰:有很多種解法,取決於你採用的演算法

Google要的是能夠找出最快演算法的工程師。

來源: Business Insider

相关 [google 工程] 推荐:

Google工程师:Google不懂平台,Google+就是证明

- kxxoling - 36氪
一位Google工程师在G+上发布了一篇5000字的文章,本来是用于内部分享,但是他错误地选择了公开发布给外部的2000多粉丝. 这位工程师Steve Yegge先是写了他的前雇主亚马逊和CEO Jeff Bezos,然后他开始谈论Google. “Google最后一件没做好的事情就是平台,我们不懂平台,我们没有做好平台.

看Google工程師如何用Google Maps成功求婚

- hi3w - 數位時代 Beta3.0 | Topics & Links
相信這個故事會令不少女性嚮往不已:Faigy手拿著智慧型手機Nexus One與內載的Google Maps,在紐約經歷了一趟街頭尋寶打卡遊戲,在終點站,她拿到了終極獎品:她的Google工程師男友手拿著玫瑰花向她求婚. 為了向女友求婚,Google軟體工程師Ari Gilder精心設計了這場「終極浪漫尋寶遊戲」,他在紐約挑選了七個充滿兩人回憶的地點,運用Google Maps指引女友Faigy前進的方向.

谷奥: 前 Google Wave 工程师说 Google 的软件架构也忒过时了

- 张宪伟 - 谷奥聚合——谷奥主站+谷安 aggregator
Google Wave前工程师 Dhanji R. Prasanna(上图是他的Twitter头像) 昨天发了一篇博文,解释了自己为何要离开Google,其中谈到了Google的文化,但最有趣的部分其实是他说“Google一直自夸的具备延展性的软件架构已经过时了”. 尽管他承认Google的硬件架构依然是完美的艺术品,但其上为搜索引擎和爬虫设计的软件架构至少落后了10年.

Google 工程师强大到用 Android 和 Google Maps 给他女朋友求婚

- skymare - 谷安——谷奥Android专题站
没有最稀奇只有更稀奇的事(不但是稀奇而且很威武),今天我们了解到了一件有意思的事情,Google 的工程师 Ari Gilder 给他女朋友求婚使用了 Google Maps 和一个自制应用,他将准备好的 Nexus One 交给他女朋友,通过为他女朋友策划的路线,她在不同的地方通过定制应用收到了玫瑰和照片.

Wave工程师:Google+不会代替Facebook 会分杯羹

- Leonhard - cnBeta全文版
据国外媒体报道,谷歌Wave前工程师,同时也参与过谷歌圈子开发的Dhanji R. Prasanna昨日撰文称,Google+不会代替Facebook,但会成为除Facebook的另一种选择. 他认为,Facebook的信息分组功 能不完善,而Google+的中心功能圈子在这一点上就做得很好,圈子的理念来源于Google用户体验前任主管用户体验主管保罗・亚当斯(Paul Adams),亚当斯曾经为此做过一个名为《现实生活社交网站(Real Life Social Network)》的幻灯片.

Google的系统工程师(SA)如何工作

- freefish - Tim[后端技术]
本文根据系统管理领域知名博客 Thomas A. Limoncelli 的 What is system administration like at Google 整理而成,添加了部分笔者观点. Google的系统工程师(System Administrator)如何工作. 由于Google的服务已经集群化,系统工程师并不大量接触硬件比如做安装服务器等事情.

谷歌的工程师利用Google Map追求女友

- 小熊TONY - cnBeta.COM
感谢Cnpda智能手机论坛的投递. 一个名叫阿里吉尔德的谷歌工程师建议他的女朋友今天务必要使用Nexus One里的谷歌地图,因为他为女朋友的Nexus One建立了一个谷歌地图的自定义应用程序,可以利用谷歌地图,计划她的路线,她会在不同地点使用这个自定义的程序,并且找到早就为她安排好的玫瑰花.

Google 资深工程师辞职,称公司不再创新

- - 最新更新 – Solidot
Google 资深工程师 Steve Yegge 在公司服务了将近 13 年后 辞职,他在 Google+ 和博客上发表文章谈论了 离开 Google 的原因,称公司不再创新,几乎完全失去了创新能力. 他例举了四个原因:首先是保守,过度集中在已拥有的东西上,害怕冒险和真正的创新,墨守成规和规避风险是常态而不是例外;其次是深陷政治,对于如此大的一个机构来说是不可避免的,唯一的替代是专制,但专制也有其缺点;第三是傲慢,谦虚的人组成的公司仍然会是傲慢的,傲慢的是集体而不是个人;第四可能是最糟糕的,Google 不再以客户为中心,而是完全盯住竞争对手,关心客户只是一个口号.

Google 发布关于机器学习工程的最佳实践

- -
本文档旨在帮助已掌握机器学习基础知识的人员从 Google 机器学习的最佳实践中受益. 它介绍了一种机器学习样式,类似于 Google C++ 样式指南和其他常用的实用编程指南. 如果您学习过机器学习方面的课程,或者拥有机器学习模型的构建或开发经验,则具备阅读本文档所必需的背景知识. 在我们讨论有效的机器学习的过程中,会反复提到下列术语:.

Google工程师创建网站TechCompanyPay告诉你顶级科技公司给工程师们开多少薪水

- zhangyang - 36氪
来看看TechCompanyPay上面的数据. 最慷慨的5家公司开给工程师的平均薪水分别是:Twitter 12万美元,苹果 11万3千美元,LinkedIn 11万2千美元,Facebook 11万美元,Google 10万4千美元. 开发该网站的Google 客户解决方案工程师Gareth Jones表示这些数据“非常准确”.