你一定聽過一大堆進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要的是能夠找出最快演算法的工程師。

 

創作者介紹

Frank's Blog

Frank 發表在 痞客邦 PIXNET 留言(0) 人氣()