99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

為什么程序員面試時會要求白板編程

工程師人生 ? 來源:網(wǎng)絡整理 ? 作者:工程師吳畏 ? 2018-11-20 16:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在技術評估中的檢查方法

白板編程可以檢查出兩方面的技能:

從一開始就可以寫簡潔的代碼,以及

知其代碼之所以然。

這兩大技能對于一個出色的軟件開發(fā)人員是至關重要的。通過進行白板編程,這兩種技能都能被準確地檢驗出來。

從一開始就寫簡潔的代碼。

不管我們是否喜歡,現(xiàn)代軟件工程主要在于知道足夠的模式,并在正確的規(guī)則中使用正確的模式。

幾天甚至幾周后的工作的結(jié)果,通常只是修改幾百行的代碼。

表面上看,原來的開發(fā)人員在寫代碼時需要多少協(xié)助并不重要。他們可能在寫代碼之前,在腦子里就已經(jīng)想好所有細節(jié)了?;蛘咭灿锌赡芩麄儗懨恳恍写a的時候都查閱了API文檔、實例、或者語法指導。

但是當我們深入探究的時候,就會發(fā)現(xiàn)這其中有很大差異。

理解概念要比理解現(xiàn)象更重要。

一段代碼變得越復雜,僅僅依靠一些開發(fā)模式的知識去開發(fā)就會變得更難,甚至理解代碼都會很艱難。

好的白板編程練習,可以檢查出一個人到底是理解概念,還是通過記住大量模式來掩蓋其基礎知識的匱乏。

當我們問到“你最擅長哪種編程語言?”我們其實并不是想要簡潔的代碼。我們只是在尋找一個切入點,能深入了解一個人,看看他到底有多大能耐。

這里簡單總結(jié)一下根據(jù)“候選人熟悉哪一領域”來決定“在面試中需要涉及哪些方面”:

面向?qū)ο缶幊獭嗬^承,虛擬方法,對象構(gòu)建與析構(gòu)順序,異常處理。

前端——異步邏輯與終止,REST API,驗證用戶輸入。

算法與數(shù)據(jù)結(jié)構(gòu)——動機,用法,平均及最差情況下的復雜度。

后端與架構(gòu)——內(nèi)存模型,垃圾處理機制,多線程,線程鎖機制,benchmarking, profiling。

函數(shù)式編程——Lambdas,curring,排序操作,一元。

內(nèi)核層次——文件系統(tǒng),網(wǎng)絡,POSIX,協(xié)議,標準的檢驗與分析工具。

測試——單元測試,逆向測試和端對端測試,必要測試,基于模型的測試,測試驅(qū)動的和行為驅(qū)動的開發(fā),集成測試。

和候選人談到上面這些的時候,最好的方法是從舉一個例子開始。最好的例子就是讓他們自己寫一個短小簡單的例子。

實際中,候選者寫的大多數(shù)代碼片段都是不完美的。這就提供了一個絕好的機會,看看候選者到底有多少知識。

白板編程很有用,是因為:

有限的寫代碼空間。

有限的寫代碼速度。

修改很麻煩,最好要避免。

沒有補全,語法高亮和其他IDE的牛逼功能。

想明白代碼到底要干嘛。

過一遍代碼片段是如何運行的,這是非常好的練習。做技術面試的時候,絕對不要跳過。

如果代碼寫的是一個算法,有人可以寫出所有步驟,有人可以考慮到特殊情況,有人可以寫出不變式(invariants)并能證明。有人可以根據(jù)每個獨立循環(huán)結(jié)構(gòu)和遞歸調(diào)用解釋其復雜性。

如果代碼是面向?qū)ο缶幊?,有人可以明確指出其具體功能,對象在何時如何被創(chuàng)建,如何被銷毀,什么時候以什么樣的順序會調(diào)用構(gòu)建與析構(gòu)函數(shù),以及異常出現(xiàn)會怎樣,內(nèi)存布局看起來是什么樣的。

I代碼是否整潔,或是否包含明顯的bug,這非常重要。

觀察候選人認真解釋代碼每一步實現(xiàn)的功能,可以了解他們的思考與說話方式。以及他們在其他領域有多深的了解。

最后,這些都是在技術面試中要用到的檢驗技巧。而不是使用API和使用IDE完成特定任務的技巧。

白板編程很有用,是因為:

白板上的內(nèi)容或多或少是不變的。

用不同顏色的筆標出“候選人的原始代碼”、“面試官的評論”、“候選人評論”,可以很好的將對話可視化。

不用白板是否有辦法做到上面這些技巧呢?

能,也不能。

對于寫整潔的代碼,我覺得可以讓候選人在自己的筆記本電腦上寫。

但是要有這些條件:

代碼要用投影儀投射在大屏幕上

字體要非常大。

關掉大多數(shù)IDE的牛逼功能。

要知道,在不熟悉的操作系統(tǒng)、鍵盤甚至是編輯器上,相比在白板上編程可能會更難。要么讓他們在自己的電腦上寫程序,要么確認你提供的環(huán)境他們能夠接受。

至于理解代碼的部分,白板要更有利。

理想情況下,如果是投影儀的影像就是投放到白板上,我會讓候選人把投放投射的白板上,面試官再拿幾支記號筆。

不過我要說明白,電腦上不允許使用“快速修改”之類的功能。

如果只有兩個人的話,打印機又在旁邊,那就用用大字體打印出代碼,然后用幾支彩色筆去分析也非常好。

教學可以幫助練習這些技巧。

我經(jīng)常被問到,一個人要如何掌握上面的這些技巧。我的答案就是:教學(teaching)。

這對面試官和應聘者都是有益的。

我自己對我的知識水平有一個簡單標準。如果我可以對一個領域不做準備就能進行討論的話,我就算是有豐富的知識了。

在軟件領域,這就意味著不用點退格就寫出完美的代碼,然后能一步一步解釋它是做什么的。

如果你是那種經(jīng)常要被叫過去解釋一個算法或者API的人,那你基本上就不會對白板編程面試感到有困難。

白板編程是面試的必要環(huán)節(jié)么?

不可否認,白板編程很有幫助。但沒有它也可以。

如果有一個大屏幕可以顯示代碼,如果屏幕本身就是個白板,可以在上面用彩色筆進行注釋。

我個人喜歡鼓勵別人走到白板前。而且這樣做有什么不好呢?

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

    關注

    88

    文章

    3689

    瀏覽量

    95260
  • 程序員
    +關注

    關注

    4

    文章

    954

    瀏覽量

    30413
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何在 樹莓派 上編寫和運行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學習C語
    的頭像 發(fā)表于 03-25 09:28 ?572次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?750次閱讀
    零基礎入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    硬件面試(一)

    硬件面試(一)
    的頭像 發(fā)表于 02-26 13:55 ?674次閱讀
    硬件<b class='flag-5'>面試</b>(一)

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

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

    Triton編譯器與GPU編程的結(jié)合應用

    優(yōu)化,以及生成高效的并行執(zhí)行計劃。 GPU編程的挑戰(zhàn) GPU編程面臨的主要挑戰(zhàn)包括: 編程復雜性 :GPU編程需要對硬件架構(gòu)有深入的理解,包括線程、塊和網(wǎng)格的概念。 內(nèi)存管理 :GPU
    的頭像 發(fā)表于 12-25 09:13 ?837次閱讀

    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 ?3次下載
    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)力技術生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1108次閱讀

    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)。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共
    的頭像 發(fā)表于 11-08 10:17 ?533次閱讀

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

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

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導下,鴻蒙生態(tài)服務公司舉辦了一場面向廣大開發(fā)者的盛會——鴻蒙1024程序員節(jié)暨鴻蒙原生應用交流會。軟通動力子公司鴻湖萬聯(lián)作為開源鴻蒙生態(tài)的重要參與者和貢獻者
    的頭像 發(fā)表于 10-29 15:49 ?753次閱讀
    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024<b class='flag-5'>程序員</b>節(jié)成功舉辦

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

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

    技術干貨驛站 ▏深入理解C語言:掌握程序結(jié)構(gòu)知識

    在計算機編程的世界中,C語言被廣泛認可為一門強大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C語言的程序結(jié)構(gòu)和基本語法對于初學者來說至關重要。從一個簡單
    的頭像 發(fā)表于 07-27 08:45 ?1861次閱讀
    技術干貨驛站 ▏深入理解C語言:掌握<b class='flag-5'>程序</b>結(jié)構(gòu)知識