面試是我們進(jìn)入一家公司的第一步,保持良好的形象與言行舉止是必不可少的。同時(shí)對(duì)于應(yīng)聘技術(shù)方面的人員來(lái)說(shuō),掌握最關(guān)鍵的技能更是必不可少。那么在一些大公司里是怎樣面試技術(shù)人員的呢?北京北大青鳥(niǎo)學(xué)校今天就與大家分享一下全球知名互聯(lián)網(wǎng)公司Google的面試問(wèn)題。
1.請(qǐng)寫(xiě)出一個(gè)整數(shù)乘法的算法
挑戰(zhàn): 這是一個(gè)相當(dāng)開(kāi)放性的問(wèn)題,設(shè)計(jì)初衷是看看工程師是否會(huì)定義參數(shù)。
編程語(yǔ)言是什么?
是匯編語(yǔ)言嗎?
是:那么你得白手起家開(kāi)發(fā)出一套基本運(yùn)算來(lái)。
否則的話:那就簡(jiǎn)單了,只需將數(shù)字套進(jìn)去即可,因?yàn)榇蟛糠终Z(yǔ)言均支持?jǐn)?shù)學(xué)運(yùn)算。
2.合并兩個(gè)排序鏈表
挑戰(zhàn): 這類問(wèn)題是Google面試問(wèn)題的一個(gè)共同趨勢(shì):找出解決問(wèn)題的有效辦法。
合并兩條鏈表是一般會(huì)在鏈表之間發(fā)生“沖突”(因?yàn)樗鼈兏髯杂刑囟ǖ拇涡,而你的合并?huì)把次序搞亂)你必須找出一種算法快速消除那些沖突。(北京北大青鳥(niǎo)學(xué)校)
3.給出一組區(qū)間(以秒計(jì)),讓你找出重疊的部分
挑戰(zhàn): Google一般也會(huì)要你解決一堆數(shù)學(xué)問(wèn)題。
這些設(shè)計(jì)的意圖是讓工程師對(duì)問(wèn)題進(jìn)行有效的思考,而不是僅僅知道如何對(duì)每個(gè)問(wèn)題進(jìn)行編碼。
此處的問(wèn)題會(huì)要你實(shí)現(xiàn)一個(gè)聰明的數(shù)學(xué)技巧。
4.如果你有n個(gè)節(jié)點(diǎn)的列表,對(duì)于一個(gè)有向無(wú)環(huán)圖來(lái)說(shuō),最多可以有幾條邊?
挑戰(zhàn): 這是著名的數(shù)學(xué)問(wèn)題旅行商(traveling salesman problem)問(wèn)題的一個(gè)派生。
這是一個(gè)不要求你找出聰明的數(shù)學(xué)算法而是要你拓展思路的數(shù)學(xué)問(wèn)題。
你必須在節(jié)點(diǎn)間畫(huà)線,條件只有一個(gè):無(wú)論你從哪里開(kāi)始,永遠(yuǎn)不要回到原點(diǎn)
5.在Java里面,finally、final和finalize的區(qū)別是什么?
挑戰(zhàn): 看看你知不知道這些術(shù)語(yǔ)。比方說(shuō),F(xiàn)inalize處理的是“垃圾回收”,而Finally則是指向一個(gè)特定的錯(cuò)誤。
6.從一大塊文本中去掉重復(fù)的行
挑戰(zhàn): 一個(gè)基本問(wèn)題,看你是不是能估算出問(wèn)題是否可以在有限的時(shí)間內(nèi)解決。
這樣的問(wèn)題通常可以采取暴力攻擊手段,但卻有可能永遠(yuǎn)都無(wú)法解決。(北京北大青鳥(niǎo)學(xué)校)
7.給你一串字符,要你找出包含有給定字符集的最小窗口
挑戰(zhàn): 此類問(wèn)題有許多解決方式,這完全取決于你選擇的算法是什么。
Google要找的是能選出更快算法的工程師。(北京北大青鳥(niǎo)學(xué)校)