面試Google工程師必問的15道面試題 - 全文
2015年01月22日 10:54 來源:36氪 作者:boxi 我要評(píng)論(0)
1.請(qǐng)寫出一個(gè)整數(shù)乘法的算法
挑戰(zhàn):
這是一個(gè)相當(dāng)開放性的問題,設(shè)計(jì)初衷是看看工程師是否會(huì)定義參數(shù)。編程語(yǔ)言是什么?是匯編語(yǔ)言嗎?
是:那么你得白手起家開發(fā)出一套基本運(yùn)算來。
否則的話:那就簡(jiǎn)單了,只需將數(shù)字套進(jìn)去即可,因?yàn)榇蟛糠终Z(yǔ)言均支持?jǐn)?shù)學(xué)運(yùn)算。
2.合并兩個(gè)排序鏈表
挑戰(zhàn):
這類問題是 Google 面試問題的一個(gè)共同趨勢(shì):找出解決問題的有效辦法。合并兩條鏈表是一般會(huì)在鏈表之間發(fā)生“沖突”(因?yàn)樗鼈兏髯杂刑囟ǖ拇涡颍愕暮喜?huì)把次序搞亂)你必須找出一種算法快速消除那些沖突。
3.給出一組區(qū)間(以秒計(jì)),讓你找出重疊的部分
挑戰(zhàn): Google 一般也會(huì)要你解決一堆數(shù)學(xué)問題。這些設(shè)計(jì)的意圖是讓工程師對(duì)問題進(jìn)行有效的思考,而不是僅僅知道如何對(duì)每個(gè)問題進(jìn)行編碼。此處的問題會(huì)要你實(shí)現(xiàn)一個(gè)聰明的數(shù)學(xué)技巧。
4.如果你有n個(gè)節(jié)點(diǎn)的列表,對(duì)于一個(gè)有向無(wú)環(huán)圖來說,最多可以有幾條邊?
挑戰(zhàn):
這是著名的數(shù)學(xué)問題旅行商(traveling salesman problem)問題的一個(gè)派生。這是一個(gè)不要求你找出聰明的數(shù)學(xué)算法而是要你拓展思路的數(shù)學(xué)問題。你必須在節(jié)點(diǎn)間畫線,條件只有一個(gè):無(wú)論你從哪里開始,永遠(yuǎn)不要回到原點(diǎn)
5.在Java里面,finally、final和finalize的區(qū)別是什么?
挑戰(zhàn):
看看你知不知道這些術(shù)語(yǔ)。比方說,F(xiàn)inalize 處理的是“垃圾回收”,而 Finally 則是指向一個(gè)特定的錯(cuò)誤。
6.從一大塊文本中去掉重復(fù)的行
挑戰(zhàn):
一個(gè)基本問題,看你是不是能估算出問題是否可以在有限的時(shí)間內(nèi)解決。這樣的問題通常可以采取暴力攻擊手段,但卻有可能永遠(yuǎn)都無(wú)法解決。
7.給你一串字符,要你找出包含有給定字符集的最小窗口
挑戰(zhàn):
此類問題有許多解決方式,這完全取決于你選擇的算法是什么。Google 要找的是能選出更快算法的工程師。
8.寫一段程序計(jì)算出某字符串(/矩陣)是否另一字符串(/矩陣)的旋轉(zhuǎn)(/轉(zhuǎn)置)
挑戰(zhàn):
這個(gè)問題靠的是看你是不是能夠靈活掌握一些計(jì)算技術(shù)的轉(zhuǎn)義。比方說,“strings”一語(yǔ)通常是指由字符、單詞或可打印、可見的東西組成的多行字符串。不過同時(shí)也可以是矩陣(二維對(duì)象)及別的對(duì)象。你必須檢查看看它是不是可以旋轉(zhuǎn)(轉(zhuǎn)置),然后跟另一個(gè)進(jìn)行對(duì)比。
9.舊金山能容納多少個(gè)氣球?
挑戰(zhàn):
此類問題 Google 的面試官一般都會(huì)問到,目的是想看看你設(shè)定的“邊界條件”是什么樣的。這個(gè)問題有許多解決方式,可以通過添加限定條件來進(jìn)行簡(jiǎn)化—比如說舊金山的面積,這種限定在進(jìn)行編程的時(shí)候是很重要的。
10. 粘滯位是什么?為什么要用?
挑戰(zhàn):
粘滯位是一個(gè)跟設(shè)置和權(quán)限有關(guān)的系統(tǒng)管理員術(shù)語(yǔ)。Google 想測(cè)試一下,看看你是否了解一些管理的細(xì)節(jié),而不是只會(huì)編程。
11.給出一組整數(shù),值范圍在很窄的區(qū)間,但是區(qū)間未明,如何找出其中位數(shù)?
挑戰(zhàn):
又是一個(gè)要你實(shí)現(xiàn)聰明的數(shù)學(xué)技巧的問題,離散數(shù)學(xué)課你有沒有認(rèn)真聽?這可不是什么簡(jiǎn)單問題。
12.給出一組區(qū)間,找出交集數(shù)最多的一個(gè)
挑戰(zhàn):
現(xiàn)在 Google 要你確信知道自己檢查的是問題的正確部分,無(wú)視沒有價(jià)值的部分,這樣才能夠令算法更高效。13.100個(gè)整數(shù)組成的數(shù)組,次序被打亂。其中有一個(gè)數(shù)被拿掉了,把它找出來
13.100個(gè)整數(shù)組成的數(shù)組,次序被打亂。其中有一個(gè)數(shù)被拿掉了,把它找出來
挑戰(zhàn):
運(yùn)用另外一個(gè)數(shù)學(xué)技巧可以幾行代碼搞定。測(cè)試的目的是看看你是不是不僅知道用什么辦法,還知道如何實(shí)現(xiàn)代碼。
14.判斷某個(gè)數(shù)獨(dú)解決方案是否正確
挑戰(zhàn):
這個(gè)要你想出辦法用另一種數(shù)學(xué)技巧從算術(shù)上快速檢驗(yàn)解決方案。
15.給你一支股票的日價(jià),找出一次買賣交易(buy-sell trading)如何操作才會(huì)損失最大
挑戰(zhàn):
這個(gè)問題非常棒,你必須竭盡所能,把所有的知識(shí)本領(lǐng)都用上。看看邊界條件(即挑出變動(dòng)最大的股票價(jià)格點(diǎn))然后有效地算出波動(dòng)最大的一次。
我們能想到的唯一像樣一點(diǎn)的辦法是暴力計(jì)算,把每一個(gè)股價(jià)都遍歷一遍。
本文導(dǎo)航
- 第 1 頁(yè):面試Google工程師必問的15道面試題
- 第 2 頁(yè):字符串轉(zhuǎn)置匹配
上周熱點(diǎn)文章排行榜
上周資料下載排行榜
論壇熱帖
Google技術(shù)應(yīng)用
Google資料下載
- 如何使用Google Firebase制作IoT設(shè)備
- 帶有OpenCV和Python的Google Chrome恐龍游戲
- 創(chuàng)建自己的智能設(shè)備
- 使用Google Coral和Raspberry Pi進(jìn)行ML鳥類識(shí)別
- 基于Arduino和Google Spreadsheet的考勤系統(tǒng)
- Firebase云消息傳遞/Android Things Pager
- Pimoroni Enviro pHAT到Google表格記錄器
- 將傳感器數(shù)據(jù)從Helium設(shè)備路由到Google表格
- 用于將數(shù)據(jù)從Google表單自動(dòng)發(fā)布到Adafruit IO的Python腳本
- 使用谷歌圖表在網(wǎng)頁(yè)上可視化無(wú)線傳感器數(shù)據(jù)
熱評(píng)
- IR將功率半導(dǎo)體觸角伸往消費(fèi)市場(chǎng)
- 多功能算術(shù)/邏輯運(yùn)算單元(ALU) ,什么是多功能
- 動(dòng)態(tài)ip、靜態(tài)ip、pppoe撥號(hào)的區(qū)別
- ARM與MIPS的比較
- ThunderBolt端口驅(qū)動(dòng)及NET改WAP方法
- ds18b20中文資料詳解
- 滴滴人臉識(shí)別怎么破解
- 超級(jí)計(jì)算機(jī)榜單重新排名 中國(guó)天河二號(hào)已淪為世界第
- 電阻色環(huán)表_色環(huán)電阻識(shí)別方法
- iphone6概念機(jī)圖片曝光_iphone6上市時(shí)
博文
帖子
- 偽電容多諧震蕩器 jf_70421036
- GPIO中斷例程實(shí)現(xiàn)按鍵檢測(cè)和定時(shí)采樣,中斷無(wú)法返回 城市世界
- 【書籍評(píng)測(cè)活動(dòng)NO.23】數(shù)據(jù)處理器:DPU編程入門 ElecFans小喇叭
- 編輯功能問題 jf_70421036
- 逆向破解RS485通信協(xié)議內(nèi)容有什么辦法 jf_95362319
- 不一樣的閃燈電 jf_70421036
- 請(qǐng)教關(guān)于一個(gè)MPU6050的問題 zjf-2004
- FD125CF/FD125MF 帶有嵌入式霍爾傳感器的智能電機(jī)驅(qū)動(dòng)器芯片 jf_66255030
- 請(qǐng)問openmv如何與單片機(jī)進(jìn)行串口通信? msvdsufsdf
- 嵌入式開發(fā)板開發(fā) 微塵微塵微塵
用戶評(píng)論
查看全部 條評(píng)論
查看全部 條評(píng)論>>