《Cracking the coding interview》讀書(shū)筆記

如何回答行為類問(wèn)題

行為類問(wèn)題很容易被大家忽視樊销,但是這類問(wèn)題也是面試官考察的重點(diǎn)之一,甚至?xí)绊憣?duì)你技術(shù)水平的評(píng)分声诸,需要足夠的重視酱讶。

回答要具體,以免顯得自大

比如:

  • 團(tuán)隊(duì)里的大部分工作都是我做的
  • 我實(shí)現(xiàn)了項(xiàng)目中的文件系統(tǒng)彼乌,這部分是整個(gè)項(xiàng)目中非常有挑戰(zhàn)性的泻肯,因?yàn)椤?br> 很明顯第二種回答令人印象更深刻,而且不像第一種那樣顯得有點(diǎn)自大慰照。

不要陷入細(xì)節(jié)

很多人對(duì)自己的技術(shù)很有信心灶挟,非常積極地給面試官講解自己用到的技術(shù)。但是面試官可能對(duì)你的技術(shù)細(xì)節(jié)不感興趣焚挠,甚至面試官不了解這方面的技術(shù)膏萧,導(dǎo)致效果不好。這時(shí)候不如把精力更多的放在“效果”展示上蝌衔,以使自己的工作看起來(lái)更加有成果榛泛,更加“高大上”。
比如:
通過(guò)收集大部分用戶的使用習(xí)慣并應(yīng)用Rabin-Karp算法噩斟,我成功把搜索時(shí)間從O(n)降低到了O(log n)曹锨。如果您感興趣,我可以更詳細(xì)的講解一下剃允。

使用S.A.R方法回答問(wèn)題

S.A.R: Situation(問(wèn)題情況)沛简、Action(采取的措施)、Response(效果)
比如:講一下你和隊(duì)友之間發(fā)生的一次比較有挑戰(zhàn)性的溝通問(wèn)題
S:在一次做項(xiàng)目的時(shí)候斥废,我有三個(gè)隊(duì)友椒楣,其中一個(gè)隊(duì)友表現(xiàn)有點(diǎn)“消極”,他在討論期間很少發(fā)言牡肉,做起自己負(fù)責(zé)的模塊很費(fèi)勁捧灰。
A:有一天我很自然的跟他聊了起來(lái),然后慢慢將話題引向了做項(xiàng)目上统锤。我問(wèn)了一些比較開(kāi)放式的問(wèn)題毛俏,比如覺(jué)得項(xiàng)目進(jìn)展怎么樣炭庙,對(duì)哪一個(gè)模塊更感興趣等等。他選了一些相對(duì)簡(jiǎn)單的模塊煌寇,但是主動(dòng)提出做一些文檔相關(guān)的工作焕蹄。我慢慢意識(shí)到他其實(shí)并不是消極,而是對(duì)項(xiàng)目了解不透徹阀溶,以及沒(méi)有信心腻脏。之后我就幫助他分解需要完成的模塊,并且在他取得進(jìn)展的時(shí)候及時(shí)表?yè)P(yáng)他银锻,慢慢提高他的自信心迹卢。
R:雖然之后他依然是團(tuán)隊(duì)里的短板,但是他的進(jìn)步也很明顯徒仓。他開(kāi)始按時(shí)完成自己的任務(wù),并且積極地參加討論誊垢。我們也愿意在以后的項(xiàng)目中繼續(xù)跟他合作掉弛。
總結(jié)一下可以發(fā)現(xiàn),S.A.R回答問(wèn)題的方式可以讓面試者清楚地了解問(wèn)題所在喂走,以及你解決問(wèn)題的方式和最后的效果殃饿,并從中體會(huì)到你的能力


如何回答技術(shù)問(wèn)題

技術(shù)問(wèn)題是重中之重芋肠,但是不要過(guò)于緊張乎芳。正常情況下面試者很難第一時(shí)間給出正確答案,所以當(dāng)你遇到一個(gè)很棘手的問(wèn)題時(shí)帖池,不要慌奈惑,大膽地向面試官說(shuō)出你的解題思路。
不要急著“蓋棺定論”睡汹,如果面試官?zèng)]有卡時(shí)間肴甸,你可以不斷的改進(jìn)你的算法,修改bug囚巴,直到趨于完美原在。
對(duì)于技術(shù)問(wèn)題,我們可以通過(guò)五個(gè)步驟來(lái)解決問(wèn)題:

Step 1: 問(wèn)問(wèn)題

拿到問(wèn)題后彤叉,作為面試者難免會(huì)有一些疑問(wèn)或者不確定的地方庶柿,大膽地問(wèn)出來(lái)。
比如:設(shè)計(jì)一個(gè)列表的排序算法秽浇。
Q:什么類型的列表浮庐,array list or linked list?
A:An array。
Q:列表中的數(shù)據(jù)是什么類型兼呵?數(shù)字兔辅?字符腊敲?還是string?
A:數(shù)字维苔。
Q:……
A:……
通過(guò)這樣的問(wèn)問(wèn)題碰辅,會(huì)讓算法設(shè)計(jì)起來(lái)簡(jiǎn)單許多。

Step 2:設(shè)計(jì)算法

設(shè)計(jì)算法時(shí)注意以下幾個(gè)問(wèn)題:

  • 時(shí)間和空間復(fù)雜度
  • 如果數(shù)據(jù)量過(guò)大會(huì)怎么樣
  • 你設(shè)計(jì)的算法會(huì)帶來(lái)哪些“負(fù)面”影響(比如你改進(jìn)的二叉搜索樹(shù)會(huì)不會(huì)導(dǎo)致插入介时、刪除效率降低)
  • 如果有“負(fù)面”影響没宾,你是否做出了最正確的妥協(xié)
  • 你是否充分利用了面試官提供的全部信息(比如數(shù)據(jù)類型是年齡,0~130)

Step 3:偽代碼

書(shū)寫(xiě)偽代碼能夠幫你理清思路沸柔,避免真正寫(xiě)代碼的時(shí)候犯很多錯(cuò)誤循衰。但是在寫(xiě)偽代碼之前需要和面試官說(shuō)明(或者在草稿紙開(kāi)頭注明),以免他們誤解你不想寫(xiě)實(shí)際代碼褐澎。

Step 4:代碼

寫(xiě)代碼不要太著急会钝,要有條不紊。注意以下幾點(diǎn):

  • 不要吝嗇構(gòu)造數(shù)據(jù)結(jié)構(gòu):比如要求你找出一群人中年齡最小的一個(gè)工三,你可以定義一個(gè)Person數(shù)據(jù)結(jié)構(gòu)迁酸。這樣面試者會(huì)覺(jué)得你有面向?qū)ο蟮乃枷搿?/li>
  • 代碼要整潔:不要寫(xiě)得太擁擠或者涂抹很?chē)?yán)重,影響面試者理解你的代碼俭正。

Step 5:測(cè)試

考慮以下幾個(gè)測(cè)試點(diǎn):

  • 邊緣值:最大值奸鬓,負(fù)值,0掸读,null等
  • 用戶異常輸入:如果用戶傳入null或負(fù)值會(huì)怎樣串远?
  • 正常值:不要忘了測(cè)試正常值
    如果算法很復(fù)雜,不要等到最后才測(cè)試儿惫,可以寫(xiě)代碼過(guò)程中每個(gè)函數(shù)或每個(gè)重要點(diǎn)測(cè)試澡罚。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市姥闪,隨后出現(xiàn)的幾起案子始苇,更是在濱河造成了極大的恐慌,老刑警劉巖筐喳,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件催式,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡避归,警方通過(guò)查閱死者的電腦和手機(jī)荣月,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)梳毙,“玉大人哺窄,你說(shuō)我怎么就攤上這事。” “怎么了萌业?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵坷襟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我生年,道長(zhǎng)婴程,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任抱婉,我火速辦了婚禮档叔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蒸绩。我一直安慰自己衙四,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布患亿。 她就那樣靜靜地躺著传蹈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪步藕。 梳的紋絲不亂的頭發(fā)上卡睦,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音漱抓,去河邊找鬼。 笑死恕齐,一個(gè)胖子當(dāng)著我的面吹牛乞娄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播显歧,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼仪或,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了士骤?” 一聲冷哼從身側(cè)響起范删,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拷肌,沒(méi)想到半個(gè)月后到旦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巨缘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年添忘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片若锁。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搁骑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仲器,我是刑警寧澤煤率,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站乏冀,受9級(jí)特大地震影響蝶糯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜煤辨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一裳涛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧众辨,春花似錦端三、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蛛株,卻和暖如春团赁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谨履。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工欢摄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人笋粟。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓怀挠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親害捕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绿淋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,749評(píng)論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法尝盼,內(nèi)部類的語(yǔ)法吞滞,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法盾沫,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,598評(píng)論 18 399
  • 用第三人稱的視角自我評(píng)估 訓(xùn)練任務(wù)是故意讓所有隊(duì)伍都失敗裁赠。有謙卑素質(zhì)的指揮官回來(lái),首先把責(zé)任歸于自己赴精。是我沒(méi)控制好...
    sageness閱讀 150評(píng)論 0 0
  • 引言 “要成為某個(gè)領(lǐng)域的專家啊奄,需要10000小時(shí),按比例計(jì)算就是:如果每天工作八個(gè)小時(shí)掀潮,一周工作五天菇夸,那么成為一個(gè)...
    這是小秋閱讀 1,205評(píng)論 18 27
  • 感恩老婆學(xué)習(xí)到的智慧分享給我,感恩譚姐辛苦帶光寶仪吧,感恩光寶快樂(lè)的成長(zhǎng)庄新,感恩歐迪輝將心愛(ài)的車(chē)借給我使用,感恩父母給我...
    2月31日閱讀 129評(píng)論 0 0