91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

為什么程序員面試時(shí)會(huì)要求白板編程

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

掃碼添加小助手

加入工程師交流群

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

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

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

知其代碼之所以然。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

白板編程很有用,是因?yàn)椋?/p>

有限的寫代碼空間。

有限的寫代碼速度。

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

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

想明白代碼到底要干嘛。

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

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

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

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

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

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

白板編程很有用,是因?yàn)椋?/p>

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

用不同顏色的筆標(biāo)出“候選人的原始代碼”、“面試官的評(píng)論”、“候選人評(píng)論”,可以很好的將對(duì)話可視化。

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

能,也不能。

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

但是要有這些條件:

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

字體要非常大。

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

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

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

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

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

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

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

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

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

我自己對(duì)我的知識(shí)水平有一個(gè)簡單標(biāo)準(zhǔn)。如果我可以對(duì)一個(gè)領(lǐng)域不做準(zhǔn)備就能進(jìn)行討論的話,我就算是有豐富的知識(shí)了。

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

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

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

不可否認(rèn),白板編程很有幫助。但沒有它也可以。

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

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

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

    關(guān)注

    90

    文章

    3718

    瀏覽量

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

    關(guān)注

    4

    文章

    956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

    如何成為編程高手

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

    芯盾時(shí)代SDP助力企業(yè)應(yīng)對(duì)核心機(jī)密泄露危機(jī)

    無論你是程序員、文案、財(cái)務(wù),無論你想擼代碼、出海報(bào)、做報(bào)表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?729次閱讀

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

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

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

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

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

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

    程序員最常見謊言

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

    編程序段的定義介紹

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

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

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

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

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

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

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

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習(xí)者介紹一門時(shí)下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習(xí)者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦?。。?! 如果內(nèi)容
    發(fā)表于 06-03 16:10

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

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