国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

在技術(shù)評估中的檢查方法

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

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

知其代碼之所以然。

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

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

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

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

表面上看,原來的開發(fā)人員在寫代碼時需要多少協(xié)助并不重要。他們可能在寫代碼之前,在腦子里就已經(jīng)想好所有細節(jié)了。或者也有可能他們寫每一行代碼的時候都查閱了API文檔、實例、或者語法指導(dǎo)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

有限的寫代碼空間。

有限的寫代碼速度。

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

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

想明白代碼到底要干嘛。

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

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

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

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

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

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

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

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

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

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

能,也不能。

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

但是要有這些條件:

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

字體要非常大。

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

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

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

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

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

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

教學(xué)可以幫助練習(xí)這些技巧。

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

這對面試官和應(yīng)聘者都是有益的。

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

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

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

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

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

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

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

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

    關(guān)注

    90

    文章

    3716

    瀏覽量

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

    關(guān)注

    4

    文章

    956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    面試必看!排隊自旋鎖32位變量的域劃分與核心作用

    核心數(shù)據(jù)結(jié)構(gòu)的域含義模糊不清,導(dǎo)致面試時錯失高分。今天這篇文章,我們就從面試視角拆解 32 位變量的域劃分、各域作用,再結(jié)合流程圖理清工作機制,幫你徹底吃透這個考點。
    的頭像 發(fā)表于 02-09 16:54 ?811次閱讀
    <b class='flag-5'>面試</b>必看!排隊自旋鎖32位變量的域劃分與核心作用

    面試必看:排隊自旋鎖之MCS鎖的實現(xiàn)原理與關(guān)鍵考點

    在并發(fā)編程面試中,“鎖” 是繞不開的核心話題,而自旋鎖作為輕量級鎖的代表,其優(yōu)化方案更是高頻考點。
    的頭像 發(fā)表于 02-09 16:51 ?749次閱讀
    <b class='flag-5'>面試</b>必看:排隊自旋鎖之MCS鎖的實現(xiàn)原理與關(guān)鍵考點

    Claude Code在國內(nèi)怎么使用?AI編程人員必看的完整指南!

    這兩年,AI編程工具層出不窮,但最近 Claude AI 在程序開發(fā)者圈子里備受歡迎,越來越多程序員發(fā)現(xiàn)使用Claude的體驗非常接近“一個懂工程的搭檔”,而不是簡單的代碼生成器。 但問題也隨之而來
    的頭像 發(fā)表于 01-23 14:09 ?3078次閱讀
    Claude Code在國內(nèi)怎么使用?AI<b class='flag-5'>編程</b>人員必看的完整指南!

    如何成為編程高手

    的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎(chǔ)上,除計算機以外,多涉獵其他的學(xué)科,比如天文、物理、數(shù)學(xué)等等。開闊的思維對程序員來說很重
    發(fā)表于 12-29 06:57

    探索S32K344白板:多功能硬件開發(fā)平臺的深度剖析

    探索S32K344白板:多功能硬件開發(fā)平臺的深度剖析 在當今電子技術(shù)飛速發(fā)展的時代,一款功能強大且全面的開發(fā)平臺對于電子工程師來說至關(guān)重要。NXP的S32K344白板就是這樣一款極具潛力的硬件開發(fā)
    的頭像 發(fā)表于 12-25 10:55 ?515次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應(yīng)用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?721次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    AI面試,正在變成一場沒有人的表演

    優(yōu)化了數(shù)十份簡歷后,拿到了心儀面試;有人靠實時輔助軟件,順利通過了某國企的AI視頻初篩。 當企業(yè)用AI快速篩選簡歷、用虛擬人進行第一輪面試時,求職者也開始用AI武裝自己,試圖以技術(shù)對抗技術(shù)。 一個怪圈已然形成: 企業(yè)部署AI以求效率,
    的頭像 發(fā)表于 12-23 16:36 ?7937次閱讀
    AI<b class='flag-5'>面試</b>,正在變成一場沒有人的表演

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔(dān)心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點
    發(fā)表于 12-10 08:24

    編程序段的定義介紹

    已經(jīng)由操作系統(tǒng)自動設(shè)置為代碼段的段基址,數(shù)據(jù)段的段基址則需要程序員手動裝入DS中; ASSUME偽指令用于指定每一個數(shù)據(jù)段所對應(yīng)的段基址寄存器。如上面的代碼中CODE段的段基址寄存器為CS,DATA段
    發(fā)表于 11-21 08:19

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?782次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?709次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!

    無法在調(diào)試中連接到PSOC4怎么解決?

    您好,我有一塊使用 PSOC4 CY8C4013SXI-410 制作的小板。非常簡單的設(shè)備,它只有三個 GPIO 引腳并通過 5 引腳 SWD 進行編程。我遇到的問題是程序員能夠看到該設(shè)備但無法對其進行編程
    發(fā)表于 07-22 06:02

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

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

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

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

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