- 相關(guān)推薦
面試Google工程師須回答的15個(gè)問(wèn)題總結
1.請寫(xiě)出一個(gè)整數乘法的算法
挑戰: 這是一個(gè)相當開(kāi)放性的問(wèn)題,設計初衷是看看工程師是否會(huì )定義參數。
編程語(yǔ)言是什么?
是匯編語(yǔ)言嗎?
是:那么你得白手起家開(kāi)發(fā)出一套基本運算來(lái)。
否則的話(huà):那就簡(jiǎn)單了,只需將數字套進(jìn)去即可,因為大部分語(yǔ)言均支持數學(xué)運算。
2.合并兩個(gè)排序鏈表
挑戰: 這類(lèi)問(wèn)題是Google面試問(wèn)題的一個(gè)共同趨勢:找出解決問(wèn)題的有效辦法。
合并兩條鏈表是一般會(huì )在鏈表之間發(fā)生“沖突”(因為它們各自有特定的次序,而你的合并會(huì )把次序搞亂)
你必須找出一種算法快速消除那些沖突。
3.給出一組區間(以秒計),讓你找出重疊的部分
挑戰: Google一般也會(huì )要你解決一堆數學(xué)問(wèn)題。
這些設計的意圖是讓工程師對問(wèn)題進(jìn)行有效的思考,而不是僅僅知道如何對每個(gè)問(wèn)題進(jìn)行編碼。
此處的問(wèn)題會(huì )要你實(shí)現一個(gè)聰明的數學(xué)技巧。
4.如果你有n個(gè)節點(diǎn)的列表,對于一個(gè)有向無(wú)環(huán)圖來(lái)說(shuō),最多可以有幾條邊?
挑戰: 這是著(zhù)名的數學(xué)問(wèn)題旅行商(traveling salesman problem)問(wèn)題的一個(gè)派生。
這是一個(gè)不要求你找出聰明的數學(xué)算法而是要你拓展思路的數學(xué)問(wèn)題。
你必須在節點(diǎn)間畫(huà)線(xiàn),條件只有一個(gè):無(wú)論你從哪里開(kāi)始,永遠不要回到原點(diǎn)
5.在Java里面,finally、final和finalize的區別是什么?
挑戰: 看看你知不知道這些術(shù)語(yǔ)。比方說(shuō),Finalize處理的是“垃圾回收”,而Finally則是指向一個(gè)特定的錯誤。
6.從一大塊文本中去掉重復的行
挑戰: 一個(gè)基本問(wèn)題,看你是不是能估算出問(wèn)題是否可以在有限的時(shí)間內解決。
這樣的問(wèn)題通?梢圆扇”┝羰侄,但卻有可能永遠都無(wú)法解決。
7.給你一串字符,要你找出包含有給定字符集的最小窗口
挑戰: 此類(lèi)問(wèn)題有許多解決方式,這完全取決于你選擇的算法是什么。
Google要找的是能選出更快算法的工程師。
8.寫(xiě)一段程序計算出某字符串(/矩陣)是否另一字符串(/矩陣)的旋轉(/轉置)
挑戰: 這個(gè)問(wèn)題靠的是看你是不是能夠靈活掌握一些計算技術(shù)的轉義。
比方說(shuō),“strings”一語(yǔ)通常是指由字符、單詞或可打印、可見(jiàn)的東西組成的多行字符串。不過(guò)同時(shí)也可以是矩陣(二維對象)及別的對象。
你必須檢查看看它是不是可以旋轉(轉置),然后跟另一個(gè)進(jìn)行對比。
9.舊金山能容納多少個(gè)氣球?
挑戰: 此類(lèi)問(wèn)題Google的面試官一般都會(huì )問(wèn)到,目的是想看看你設定的“邊界條件”是什么樣的。
這個(gè)問(wèn)題有許多解決方式,可以通過(guò)添加限定條件來(lái)進(jìn)行簡(jiǎn)化比如說(shuō)舊金山的面積,這種限定在進(jìn)行編程的時(shí)候是很重要的。
10. 粘滯位是什么?為什么要用?
挑戰:粘滯位是一個(gè)跟設置和權限有關(guān)的系統管理員術(shù)語(yǔ)。
Google想測試一下,看看你是否了解一些管理的細節,而不是只會(huì )編程。
11.給出一組整數,值范圍在很窄的區間,但是區間未明,如何找出其中位數?
挑戰: 又是一個(gè)要你實(shí)現聰明的數學(xué)技巧的問(wèn)題,離散數學(xué)課你有沒(méi)有認真聽(tīng)?
這可不是什么簡(jiǎn)單問(wèn)題。
12.給出一組區間,找出交集數最多的一個(gè)
挑戰: 現在Google要你確信知道自己檢查的是問(wèn)題的正確部分,無(wú)視沒(méi)有價(jià)值的部分,這樣才能夠令算法更高效。
13.100個(gè)整數組成的數組,次序被打亂。其中有一個(gè)數被拿掉了,把它找出來(lái)
挑戰: 運用另外一個(gè)數學(xué)技巧可以幾行代碼搞定。
測試的目的是看看你是不是不僅知道用什么辦法,還知道如何實(shí)現代碼。
14.判斷某個(gè)數獨解決方案是否正確
挑戰: 這個(gè)要你想出辦法用另一種數學(xué)技巧從算術(shù)上快速檢驗解決方案。
15.給你一支股票的日價(jià),找出一次買(mǎi)賣(mài)交易(buy-sell trading)如何操作才會(huì )損失最大
挑戰: 這個(gè)問(wèn)題非常棒,你必須竭盡所能,把所有的知識本領(lǐng)都用上。
看看邊界條件(即挑出變動(dòng)最大的股票價(jià)格點(diǎn))然后有效地算出波動(dòng)最大的一次。
我們能想到的唯一像樣一點(diǎn)的辦法是暴力計算,把每一個(gè)股價(jià)都遍歷一遍。
【面試Google工程師須回答的15個(gè)問(wèn)題總結】相關(guān)文章:
軍校面試的問(wèn)題及回答01-04
求職須回答好三個(gè)問(wèn)題11-11
面試問(wèn)題回答技巧11-21
如何回答面試刁鉆問(wèn)題11-14
面試問(wèn)題及回答技巧06-21
面試問(wèn)題回答解析11-11
面試問(wèn)題回答技巧09-01
護士面試問(wèn)題及回答07-19