久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

技術(shù)面試時,程序員需要什么樣的編程測試?

求職面試讓人感覺又重回了大學(xué)。這么多年來實際編程的經(jīng)驗突然間都被拋到腦后,就好象你再次坐在演講廳里,證明你對理論課程的掌握,實際上這些問題已經(jīng)早就讓那些喜歡閱讀高德納的開發(fā)人員解決了。

我在討論區(qū)見到的最常見的解釋就是老板是白癡。其次最常見的解釋是,老板們都希望成為Google,而Google確實需要計算機科學(xué)專家,而其他公司都不需要。但無論如何,這些公司都采用了Google的招聘流程,并希望借此成為億萬富翁。

其實,真正的理由很簡單。當你坐下來為開發(fā)人員撰寫面試問題時,你必須滿足許多限制才能寫出一個好問題。而滿足所有這些限制的問題最后往往都看起來像“算法”問題。

面試的目的是盡快獲取候選人的信息。一個好的面試問題并不一定要代表日常工作。為了解釋清楚這一點,想象一下飛行員的面試。在有了基本的了解之后,理應(yīng)詢問候選人在各種緊急情況下該做什么。緊急情況并不代表飛行的日常工作,但安全很重要,因此沒有人會指責(zé)面試官提出無關(guān)緊要的問題。然而,在軟件面試中卻出現(xiàn)了這樣的問題。

既然我們的目標是盡快獲取候選人的信息,那么我們的限制是什么?

首先,要完成的程序必須短小精悍。除非你想整個面試就問一個問題,否則這個問題應(yīng)該是一個稱職的開發(fā)人員在30分鐘內(nèi)完成的問題。30分鐘你根本寫不了多少代碼。這重限制已經(jīng)排除了大多數(shù)能帶來實用價值的“真實”程序。

其次,這個程序必須單獨完成,沒有復(fù)雜的設(shè)置或網(wǎng)站特定的知識?;ㄙM在解釋問題上的時間每多一秒,候選人展示技術(shù)力的時間就少一秒。有時我看到網(wǎng)上論壇里有人評論說:“這個公司是傻X,他們使用的是標準的商業(yè)網(wǎng)絡(luò)應(yīng)用程序,卻不讓我寫REST API,非要讓我編寫自己的排序函數(shù)?!?/p>

但是編寫一個“寫一個REST API”形式的問題,并通過這個問題實際驗證候選人能否成功通過面試,這項工作非常困難。這個API應(yīng)該干些什么?數(shù)據(jù)從哪里來?你是希望連接到某個數(shù)據(jù)庫,還是通過文件提供數(shù)據(jù),抑或者將其保存在內(nèi)存中?等等。理想情況下,面試的問題應(yīng)該在30秒以內(nèi)解釋清楚。有些公司確實會提這樣的問題,但他們只想招聘懂得特定選擇框架的開發(fā)人員,而且該框架已經(jīng)自動完成了所有的樣板代碼。

第三,這種方法實際上可以表現(xiàn)出候選人是否懂得編程。編寫幾個返回一些假HTML的函數(shù)不能證明什么,但至少證明候選人可以使用循環(huán)、集合、類、以及輸入輸出,還熟悉他們的標準庫(我的意思是大致了解編程技術(shù),而不是說他們記住了每個API)。

第四,這種方法可以給優(yōu)秀的候選人提供脫穎而出的機會。上述我提到的基礎(chǔ)看起來可能非常基礎(chǔ)。但這并不意味著我們公司的門檻很低。一個良好的編程測試問題需要掌握一定的深度,讓優(yōu)秀的候選人可以快速高效地創(chuàng)建一個比新手更好的解決方案。面試官通過了充分的練習(xí),即使每個人面對的都是同一組問題,他們也知道如何區(qū)分經(jīng)驗豐富的開發(fā)人員和初學(xué)者。

最后,你需要一些證據(jù),證明候選人可以解決一個沒有明顯解決方案的問題,讓他們自行思考答案,而不是手足無措。這類問題的具體性質(zhì)并不重要,只需保證候選人無法用以前見過的方法解決。這是面試過程中最模糊的部分:這對測試候選人的思維能力有什么真正的意義?這也是排除“利用他人的代碼解決我的問題”的方法,盡管這常常是實際工作中的正確方法。

簡短、易于解釋、僅使用基本語言功能,解決方案既可以是最基本的,也可以有一定的深度,而且還不至于千篇一律。我認為所有這些都是招聘到一個稱職的團隊成員的基礎(chǔ)問題,但是滿足這些條件的問題必然最后會成為沒有代表性的算法難題。

所以不要過于關(guān)注你的答案是否具有理想的計算復(fù)雜性,至少在第一次嘗試中沒必要。面試官可能并不在意。相反,你應(yīng)該快速出色地編寫干凈且沒有bug的代碼。然后,如果有多余的時間的話,再去優(yōu)化。

由于缺乏全球認可的認證機構(gòu)以及對具體技術(shù)技能的需求,招聘開發(fā)人員的過程比某些專業(yè)更為嚴格。

多年來,從雇主的角度來看,招聘的流程已經(jīng)得到了極大的改善。對于那些習(xí)慣于這種面試的候選人來說,這種方式可以招聘到更均衡的團隊,避免有人濫竽充數(shù),盡管有關(guān)這種方式的抱怨也很普遍。

盡管如此,我依然看到無論我們在該行業(yè)中付出多大的努力,招聘仍然具有很大程度的隨機性。經(jīng)過精心設(shè)計的面試流程可以改善這種隨機性,這也是我們的努力方向。但是,鑒于解雇一個不合格的人的成本之高,漏掉優(yōu)秀的人才總好過讓人蒙混過關(guān),因此才有了這些面試的悲慘故事:一些有真正實力的人才因為機械的流程而被拒。正如Spolsky提出的面試實習(xí)生的替代方案一樣,盡管這種流程存在各種缺陷,但也是一個無人能及的系統(tǒng)。

好啦!今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會有大量優(yōu)質(zhì)內(nèi)容與大家分享!

版權(quán)聲明:轉(zhuǎn)載文章來自公開網(wǎng)絡(luò),版權(quán)歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權(quán)益,請與我們聯(lián)系刪除或授權(quán)事宜。

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機構(gòu)!

    1. 主站蜘蛛池模板: 西吉县| 唐山市| 郎溪县| 鄯善县| 宁陕县| 新疆| 上虞市| 吐鲁番市| 仪征市| 定西市| 边坝县| 内江市| 金门县| 手游| 简阳市| 东丽区| 临颍县| 镇沅| 云霄县| 五华县| 广河县| 古浪县| 襄汾县| 博白县| 毕节市| 靖远县| 许昌市| 内黄县| 连城县| 曲沃县| 同德县| 鄢陵县| 永康市| 靖边县| 修文县| 龙江县| 京山县| 赤水市| 九寨沟县| 温州市| 镇江市|