0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員怎樣在面試中表現(xiàn)得更出色

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-11-08 15:59 ? 次閱讀

像專業(yè)人士那樣聊天

在深入代碼之前,大部分面試官都喜歡聊聊你的背景。他們想知道:

關(guān)于編程的元認知。你有考慮過如何才能更好地編程嗎?(譯者注:元認知(Metacognition)或譯為后設(shè)認知,這個名詞由 Swartz 及 Perkins 發(fā)明及定義,即“認知的認知”或“知識的知識”。簡言之,就是對自己的認知過程(包括:記憶、感知、計算、聯(lián)想等各項)的思考。)

自主精神/領(lǐng)導(dǎo)能力。你看到你的工作完成了嗎?就算你不必這樣做,你會主動修正不對的事情嗎?

溝通。他們會和你聊聊技術(shù)上的問題是有用的,還是痛苦的?

你至少應(yīng)該準備好下面中的一項:

你解決過技術(shù)問題中一個有趣的例子

你克服人際沖突的一個例子

領(lǐng)導(dǎo)能力或自主精神的例子

你在過去項目中應(yīng)該做什么的故事

你最喜歡語言的一些細節(jié),以及關(guān)于你喜歡和不喜歡說的語言上的一些事情

關(guān)于公司產(chǎn)品或業(yè)務(wù)的問題

關(guān)于公司工程戰(zhàn)略的問題(測試,Scrum等)

好好準備相關(guān)材料。你要展示你做過最自豪的事情,你很希望了解他們正在做什么,而且你對語言和工作流程有一些自己的想法。

溝通

一旦涉及到編程的問題,溝通是關(guān)鍵。在過程中需要幫助但可以清楚與人溝通的候選人,要比那些可以輕而易舉解決問題的候選人更加難得。

理解它是哪一類問題。問題有兩類:

編程。面試官希望看到你解決問題,并且可以寫出整潔和有效的代碼。

聊聊而已。面試官只是想讓你說點什么。這些問題通常要么是高層次的系統(tǒng)設(shè)計(“你如何設(shè)計 Twitter 的備份?”),要么是瑣碎的事情(“JavaScript 中 hoisting 是什么?”)。有時候瑣事是為了引出一個“真正的”問題,比如,“我們?nèi)绾文芸炫乓粋€整數(shù)數(shù)組?好的,現(xiàn)在假設(shè)我們不再使用整數(shù)而是……”

如果面試官在進入“真正的”問題之前,只是想很快得到一個類似閑聊的回答,而你卻開始編寫代碼了,她會感到失望。只需要問一句,“我們要為它編寫代碼嗎?”

讓人覺得你們是一個團隊的。面試官想知道和你一起解決問題會是什么樣子的,所以要讓面試官覺得你是樂于合作的。用“我們”來代替“我”,比如,“如果我們采用一個廣度優(yōu)先搜索,我們會很快得到一個答案?!比绻氵x擇在紙上還是在白板上編寫代碼,最好選擇白板。這樣你就可以坐在面試官的旁邊,面對著問題(而不是和她隔著一個桌子)。

說出你的想法。我是認真的。“讓我們試著這樣做——但我還不確定它是否會起作用?!保绻惚豢ㄗ×?,就說出你的想法。說說什么可能會有用。說說你認為什么東西可以工作,以及為什么它不工作。這也適用于瑣碎的閑聊問題。當被要求解釋 JavaScript 閉包時,“它跟范圍有關(guān),而且是在函數(shù)中實現(xiàn)”,這樣的回答就可以讓你拿到 90% 的分數(shù)。

說你不知道。如果你碰到一個事實(例如,特定語言的邊邊角角,一個涉及分析運行時的難題),不要不懂裝懂。相反應(yīng)該說“我不確定,但我猜測是這樣,因為……”,這個『因為』包括通過展示其它選項的荒謬性來排除它們,或者從其它語言或問題中找到類似的例子。

放慢步調(diào)。不要自信地脫口而出一個答案。如果它是正確的,你仍然需要解釋它,如果它是錯誤的,就會顯得你很魯莽。你并沒有因為速度快而贏得什么,相反更可能會因為打斷她或急于得出結(jié)論而惹惱面試官。

擺脫困境

你有時會被卡住。放松。這并不意味著你已經(jīng)失敗了。記住與找到正確答案的能力相比,面試官通常更加關(guān)注從不同角度探索問題的能力。就算希望渺茫,也要繼續(xù)探索不放棄。

畫圖。別浪費時間光在腦袋里面想 —— 在黑板上思考。畫幾個不同的測試輸入。用手畫出如何獲得想要的輸出。然后思考將你的方法轉(zhuǎn)換成代碼。

解決一個更簡單的問題。不知道如何找到集合中第四大的項目?先思考如何找到最大項,再看看你能否改變一下方法。

先寫一個簡單和低效的方法,再想辦法去優(yōu)化它。使用暴力的方法。盡一切努力得到答案。

更加大聲說出你的想法。說出你知道的。說說你認為什么可能會工作和為什么它行不通。你可能會意識到它確實有用,或者一個改進的版本會游有用?;蛘吣憧赡軙玫揭粋€提示。

等待提示。不要一臉期待地盯著面試官,只需要停下來“想一下” —— 你的面試官可能已經(jīng)決定給你一個提示,只是在等待一個時機,避免影響到你。

考慮空間和運行時間的限制。如果你不確定是否能優(yōu)化解決方案,大聲說出你的想法。例如:

“我至少要查看所有的項,所以我不能再優(yōu)化了?!?/p>

“暴力的辦法就是測試所有的可能性”

“這個答案將包含 n^2 個項,所以我至少要花這么多時間?!?/p>

把你的想法寫下來

你很容易讓自己陷入混亂。你先集中精神把想法寫下來,最后才去關(guān)心細節(jié)。

調(diào)用輔助函數(shù)并進行下去。如果你不能很快想到如何實現(xiàn)一部分的算法,不論大小都跳過它。呼叫一個命名合理的輔助函數(shù),聲明“這將會完成某事”,并進行下去。如果輔助功能不重要,你完全可以不去實現(xiàn)它。

不要擔(dān)心語法。只要略過它就好了。如果必須的話請轉(zhuǎn)換成英語。只需要說你會回頭看它的。

給自己留下足夠的空間。你后面可能要在兩行之間添加代碼或注釋。從白板的頂部開始,在每一行之間留下一個空白行。

為最后的檢查做好標記。別擔(dān)心你的循環(huán)應(yīng)該是 “《” 還是 “《=” 。你可以做一個標記提醒自己最后去檢查。只要把整體算法寫下來。

使用描述性的變量名稱。這樣會花一些時間,但會防止你忘記代碼正在做的事情。使用 names_to_phone_nums_map 代替 nums。在命名中暗示類型。返回布爾值的函數(shù)應(yīng)該以 “is_ ” 開頭。擁有一個列表的變量應(yīng)該以“s”結(jié)尾。選擇你能理解的標準并堅持下去。

當你完成后,記得做好善后工作。

你輸入一個例子,手動過一遍你的方法,并大聲說出你的想法。當程序運行時,你寫下變量保存的值 —— 在腦袋里做這些不會給你帶來任何加分。這樣可以幫你查找問題,并且可以消除面試官對于你正在做什么的疑惑。

查找一開始的錯誤。你應(yīng)該在循環(huán)中使用“《=”而不是“《”?

測試邊界情況。包括空集、單個元素集合或負數(shù)等等。加分項:提一下單元測試!

不要覺得麻煩。有些面試官并不在意這些善后步驟。如果你不是很確定這一點,可以這樣說:“我通常會用一些邊界條件來測試代碼 —— 接下來我們要這么做嗎?”

實踐

最后,處理實際問題是無法替代的。

用紙和筆來編寫代碼。誠實地面對自己。剛開始可能會覺得很棘手。這沒什么。如果你現(xiàn)在能克服這種棘手的問題,等到真正面試的時候,就不會顯得笨手笨腳了。

我們遇到的實際問題反映了面試的流程,即當你陷入困境時會得到提示,當你的算法可以進一步優(yōu)化時也會得到鼓勵。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3633

    瀏覽量

    93853
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    953

    瀏覽量

    29825
收藏 人收藏

    評論

    相關(guān)推薦

    程序員將消失”,李彥宏/黃仁勛都贊同,三大方向可“自救”

    電子發(fā)燒友網(wǎng)報道(文/吳子鵬)日前,百度創(chuàng)始人、董事長兼首席執(zhí)行官李彥宏央視《對話》?開年說的訪談中表示,以后其實不會存在“程序員”這種職業(yè)了,因為只要會說話,人人都會具備程序員的能
    的頭像 發(fā)表于 03-12 00:18 ?3530次閱讀
    “<b class='flag-5'>程序員</b>將消失”,李彥宏/黃仁勛都贊同,三大方向可“自救”

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員功能上實現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?249次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本
    的頭像 發(fā)表于 11-30 10:34 ?460次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?199次閱讀

    程序員面試只需一個技能征服所有面試官!

    為什么要學(xué)嵌入式?面試各方面感覺都良好,為啥最后給斃了?在這么多技術(shù)活兒里,嵌入式開發(fā)為啥這么吃香?嵌入式開發(fā)找工作,為何更容易?……來,來,來,看看不為人知的內(nèi)部消息!就像我最近聽說的這個事兒,有
    的頭像 發(fā)表于 11-05 19:35 ?232次閱讀
    <b class='flag-5'>程序員</b>去<b class='flag-5'>面試</b>只需一個技能征服所有<b class='flag-5'>面試</b>官!

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?221次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    適者生存,程序員最終會流向哪……

    程序員沒有永遠的護城河??!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?424次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?846次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝