面試前快速測試 IT 專家能力的 7 種方法

聘請 IT 專家並不是一件容易的事。 首先,現在市場上缺乏有經驗的人才,他們明白這一點。 如果候選人首先不感興趣,他們往往不願意花大量時間參加雇主的「選拔活動」。 以前流行的「我們給你測試8小時以上」的做法已經不再適用。 對於在進行全面技術面試之前對知識的初步評估和篩選候選人,有必要使用其他更快的方法。 其次,為了對知識和技能進行高品質的評估,您需要自己擁有此類技能或吸引具有此類技能的同事。 這些困難可以使用我將在本文中討論的方法來解決。 我自己也使用這些方法,並為自己編制了一種評級。

因此,我在面試前快速測試 IT 專家能力的 7 種主要方法:

7. 研究候選人的作品集、程式碼範例和開放式儲存庫。

6. 短時測試任務(30-60分鐘完成)。

5. 透過電話/Skype 進行關於技能的簡短快速訪談(類似於問卷,僅在線上且透過語音)。

4. 現場實踐(編碼)-我們透過共享螢幕即時解決一個簡單的問題。

3. 包含有關經驗的開放式問題的問卷。

2. 多項選擇題測驗時間短,完成時間有限。

1.多階段測試任務,第一階段在面試前完成。

接下來,我詳細考慮這些方法,它們的優缺點,以及我使用一種或另一種方法來快速測試程式設計師能力的情況。

面試前快速測試 IT 專家能力的 7 種方法

在上一篇關於招募管道的文章中 habr.com/en/post/447826 我對讀者進行了一項關於快速測試 IT 專家技能的方法的調查。 在這篇文章中,我將討論我個人喜歡的方法、為什麼喜歡它們以及如何使用它們。 我以第一名開始,以第七名結束。

1.多階段測試任務,第一階段在面試前完成

我認為這種測試開發人員能力的方法是最好的。 與傳統的測試任務不同,當你說「接受任務並去做」時,在我的版本中,完成測試任務的過程分為幾個階段——討論和理解任務、設計解決方案和評估所需的資源、實施解決方案的幾個階段、文件和交付、接受決定。 這種方法更接近正常的現代軟體開發技術,而不僅僅是「拿來就做」。 詳細資訊如下。

我在什麼情況下使用這個方法?

對於我的項目,我通常會聘請遠距工作人員,他們開發專案中單獨的、獨立的且相對獨立的部分。 這減少了員工之間的溝通需求,通常為零。 員工之間不是相互溝通,而是與專案經理溝通。 因此,對我來說,立即評估一個人快速理解問題、提出澄清問題、獨立制定解決問題的行動計劃以及估計必要的資源和時間的能力非常重要。 多階段測試任務可以很好地幫助我做到這一點。

如何實施

我們確定並制定與開發人員必須處理的專案相關的獨立且原創的任務。 我通常將主要任務或未來產品的簡化原型描述為任務,為了實現該任務,開發人員必須面對專案的主要問題和技術。

測試任務的第一階段是熟悉問題、澄清不清楚的內容、設計解決方案、規劃解決問題的步驟以及估計完成各個步驟和整個測試任務的時間。 在退出時,我期望一份 1-2 頁的文件,概述開發人員的行動計劃和時間估計。 我還要求候選人表明他們想要完全實施哪個階段,以確認他們的實務技能。 目前還不需要程式設計任何東西。

這項任務(同一個)被分配給幾個候選人。 預計第二天就會收到候選人的回覆。 接下來,2-3 天后,當收到所有答案後,我們會分析候選人發送給我們的內容以及他們在開始任務之前提出的澄清問題。 根據此訊息,您可以邀請任意數量的候選人進入下一階段。

下一階段是簡短的訪談。 我們已經有話要談了。 候選人已經對他將從事的專案的主題領域有了一個粗略的了解。 這次面試的主要目的是回答候選人的技術問題並激勵他完成主要測試任務——對他自己選擇的任務部分進行程式設計。 或您希望看到實現的部分。

了解開發人員想要實現任務的哪一部分總是非常有趣的。 有些人喜歡解壓縮項目結構,將解決方案分解為模組和類,即從上到下移動。 有些人強調了一個單獨的子任務,這是他們認為最重要的,但沒有規定整個解決方案。 也就是說,它們是自下而上的——從最複雜的子任務到整個解決方案。

優點

我們可以看到候選人的博學、他的知識對我們專案的適用性以及溝通技巧的發展。 我們也很容易對候選人進行比較。 我通常會拒絕對完成任務所需時間給出過於樂觀或過於悲觀估計的候選人。 當然,我對時間有自己的估計。 考生的低分很可能表明該人沒有正確理解任務並膚淺地完成了這項測試。 過多的時間估計通常表明候選人對主題領域的理解很差,並且沒有我需要的主題的經驗。 我不會根據候選人的分數立即拒絕他們,而是要求他們在評估尚未充分激發的情況下證明其評估的合理性。

對某些人來說,這種方法可能看起來複雜且昂貴。 我對使用這種方法的勞動強度的評估是:描述測驗任務需要30-60分鐘,然後檢查每個考生的答案需要15-20分鐘。 對於考生來說,完成這樣的測驗任務通常不會超過1-2小時,同時他們沉浸在未來要解決的問題的本質中。 到了這個階段,候選人可能會變得不感興趣,並且拒絕與你溝通,浪費了一點時間。

限制

首先,您需要提出一個原創的、孤立的和廣泛的測試任務;這並不總是可能的。 其次,並非所有候選人都會立即明白第一階段不需要程式設計。 有些人立即開始編程並消失幾天,然後向他們發送完整完成的測試任務。 從形式上來說,他們未能通過這項測試任務,因為他們沒有按照要求去做。 但同時,如果他們為整個測試任務提供了適當的解決方案,他們就成功了。 為了杜絕此類事件的發生,我通常會在作業發出後兩天給所有收到任務的候選人打電話,以了解他們的情況。

2. 有時間限制的簡短多項選擇測試

我不經常使用這種方法,儘管我真的很喜歡它並且發現它是快速測試能力的最佳方法之一。 我會在不久的將來單獨寫一篇文章來介紹這個方法。 此類測試廣泛應用於各個知識領域。 最引人注目、最典型的例子就是考駕照的理論考試。 在俄羅斯,這項考試包含 20 個問題,必須在 20 分鐘內回答。 允許有一個錯誤。 如果你犯了兩個錯誤,你必須正確回答另外 10 個問題。 這種方法是高度自動化的。

不幸的是,我還沒有看到針對程式設計師的此類測試的良好實現。 如果您知道程式設計師可以使用此類測試的現成實現,請在評論中寫下。

如何實施

作為外包招聘人員,我在履行訂單時曾與雇主自行實施類似的測試。 實施這樣的測試是很有可能的。 例如,使用 Google 表單。 主要問題在於撰寫問題和答案選項。 通常情況下,雇主的想像力足以回答 10 個問題。 不幸的是,在 Google Forms 中,無法實現池中問題的輪換和時間限制。 如果您知道一個很好的線上工具來創建自己的測試,可以限制參加測試的時間並為不同的考生組織不同的問題選擇,那麼請在評論中寫下此類服務。

我在什麼情況下使用這個方法?

現在,如果雇主有現成的測驗可以提供給候選人,我就應雇主的要求使用這種方法。 也可以將此類測試與我評分中的第四種方法結合起來 - 我們要求候選人共享他的螢幕並參加測試。 同時,您可以與他討論問題並回答選項。

優點

如果實施得好,該方法是自主的。 考生可以選擇自己方便的時間參加考試,您不需要浪費很多時間。

限制

這種方法的高品質實施成本相當高,而且對於偶爾僱用新員工的小公司來說並不是很方便。

3. 包含有關經驗的開放式問題的問卷

這是一組開放式問題,邀請候選人反思他們的經驗。 但是,我們不提供答案選項。 開放性問題是那些不能簡單、單音節地回答的問題。 例如,還記得您使用某某框架解決的最困難的問題嗎? 您遇到的主要困難是什麼? 此類問題無法用單音節字來回答。 更準確地說,唯一簡單的答案是我沒有這樣的經驗,我沒有使用過這個工具。

如何實施

使用 Google Forms 可以輕鬆實現。 最重要的是提出問題。 我使用了幾種標準設計。

告訴我們您在 XXX 的幫助下完成的上一個項目,在這個項目中對您來說最困難的事情是什麼?

XXX技術對您來說主要有哪些優勢,請舉例說明您的經驗?
選擇 XXX 技術後,您還考慮過哪些其他替代方案?為什麼選擇 XXX?

在什麼情況下您會選擇 AAA 技術而不是 BBB?
告訴我們您使用 XXX 解決的最困難的問題,主要困難是什麼?

因此,這些構造可以應用於工作堆疊中的許多技術。 用網路上的範本短語來回答此類問題並不容易,因為它們是個人的,並且與個人經驗有關。 在回答這些問題時,應徵者通常會記住這樣一個想法:在面試中,他的任何答案都可以以附加問題的形式提出。 因此,如果沒有經驗,候選人常常會退縮,意識到進一步的對話可能毫無意義。

我在什麼情況下使用這個方法?

在處理選擇專家的訂單時,如果客戶沒有提出自己的主要能力測試方法,我會使用此方法。 我已經準備了有關多個主題的調查問卷,並且對新客戶使用這種方法不需要花費任何費用。

優點

使用 Google 表單易於實施。 此外,還可以在前一次調查的基礎上進行新的調查,將技術和工具的名稱替換為其他名稱。 例如,關於 React 體驗的調查與關於 Angular 體驗的調查沒有太大區別。

編制這樣一份問卷需要15-20分鐘,候選人通常會花15-30分鐘來回答。 時間投入雖少,但我們會收到有關候選人個人經歷的信息,從中我們可以構建並使每次與候選人的面試變得獨特且更有趣。 通常,此類問卷調查後的訪談持續時間較短,因為您不必提出簡單、類似的問題。

限制

為了區分候選人自己的答案和「谷歌搜尋」的答案,你需要了解這個主題。 但這很快就會帶來經驗。 在查看 10-20 個答案後,您將學會區分考生自己的原始答案和互聯網上找到的答案。

4. Live-Doing(編碼)-使用共享螢幕即時解決簡單問題

這種方法的本質是要求考生解決一個簡單的問題並觀察其過程。 候選人可以使用任何東西;不禁止在網路上搜尋資訊。 候選人可能會因為在工作中被觀察而感到壓力。 並非所有候選人都同意使用此選項來評估其技能。 但是,另一方面,這種方法可以讓你看到一個人腦子裡有什麼知識,即使在有壓力的情況下他也能使用什麼,以及他會去搜尋引擎尋找什麼資訊。 候選人的水平幾乎立即可見。 初學者使用該語言最基本的甚至原始的功能,並且經常開始手動實現基本庫的功能。 更有經驗的候選人精通基本的類別、方法、函數,並且可以使用他們熟悉的基本語言庫的功能快速解決簡單的問題 - 比初學者快 2-3 倍。 即使是更有經驗的候選人通常也會先討論解決問題的不同方法並提出幾種解決方案選項,詢問我希望實施哪個選項。 候選人所做的一切都可以討論。 即使基於相同的任務,面試結果也會有很大不同,候選人的解決方案也是如此。

作為此方法的變體,您可以要求候選人參加一些測試來測試專業能力,證明選擇一個或另一個答案選項的合理性。 與常規測驗不同,你會發現答案的選擇有多合理。 您可以根據自己職位空缺的特點,自行設計該方法的變體。

如何實施

使用 Skype 或其他允許共享螢幕的類似視訊通訊系統可以輕鬆實現此方法。 您可以自己提出問題,也可以使用 Code Wars 等網站和各種現成的測試。

我在什麼情況下使用這個方法?

當我選擇程式設計師時,從履歷中根本不清楚候選人的知識水平,我會以這種形式為候選人提供面試。 根據我的經驗,大約 90% 的開發人員並不介意。 他們很高興從第一次面試開始就開始了有關程式設計的交流,而不是諸如「你認為 5 年後的自己會怎樣」之類的愚蠢問題。

優點

儘管候選人有壓力和焦慮,但候選人的整體技能水平是立即清晰可見的。 候選人的溝通技巧也變得清晰可見——他如何推理、如何解釋和激勵他的決定。 如果您需要與同事討論候選人,可以輕鬆錄製螢幕視頻,然後向其他人展示面試內容。

限制

通訊可能會中斷。 由於焦慮,候選人可能會開始變得愚蠢。 在這種情況下,你可以休息一下,給他時間獨自思考任務,10分鐘後打電話繼續。 如果在此之後候選人表現得很奇怪,那麼值得嘗試另一種評估技能的方法。

5. 透過電話/Skype進行簡短的技能面試

這只是透過電話、Skype 或其他語音通訊系統進行的語音對話。 同時,我們也可以評估候選人的溝通能力、博學和視野。 您可以使用問卷作為對話計劃。 或者,您可以與候選人更詳細地討論他對問卷的回答。

如何實施

我們同意與候選人進行對話並致電。 我們提出問題並記錄答案。

我在什麼情況下使用這個方法?

當候選人的答案對我來說似乎是原創的或不夠令人信服時,我通常會將這種方法與問卷結合使用。 我與候選人討論問卷中的問題,並更詳細地了解他的意見。 當候選人的溝通技巧和簡單清晰地表達自己的想法的能力很重要時,我認為這樣的對話是強制性的。

優點

如果不以聲音談論專業話題,通常無法確定候選人能在多大程度上表達自己的想法。

限制

主要缺點是花費額外的時間。 因此,如果有必要,我除了使用其他方法外,還會使用此方法。 此外,還有一些考生專業話題講得很好,但實踐知識卻很少。 如果您需要一個能夠持續有效解決問題的程式設計師,那麼最好選擇另一種主要能力測試方法。 如果您需要一名經理或分析師,即從人類語言翻譯為「程式設計師」並返回的專家,那麼這種測試能力的方法將非常有用。

6、短時測試任務(30-60分鐘完成)

對於許多職業來說,專家能夠快速找到問題的解決方案非常重要。 一般來說,問題並不難解決,但解決問題所花費的時間很重要。

如何實施

我們與考生同意完成測驗任務的時間。 在指定的時間,我們向候選人發送任務條款,並了解他是否理解對他的要求。 我們記錄候選人解決問題所花費的時間。 我們分析解決方案和時間。

我在什麼情況下使用這個方法?

在我的實務中,這種方法被用來測試技術支援專家、SQL程式設計師和測試人員(QA)的能力。 這些任務類似於「找到問題區域並找出解決問題的方法」、「最佳化 SQL 查詢,使其運行速度提高 3 倍」等。 當然,您可以提出自己的任務。 對於新手開發者來說,也可以使用這個方法。

優點

我們只把時間花在起草和檢查作業上。 候選人可以選擇自己方便的時間來完成任務。

限制

主要缺點是您的問題或類似問題的解決方案可能會發佈在互聯網上,因此您需要有多種選擇並定期提出新任務。 如果需要測試你的反應速度和視野,我個人選擇定時測試(方法二)。

7. 研究候選人的作品集、程式碼範例、開放式儲存庫

這可能是測試能力的最直接的方法,前提是您的候選人有一個作品集,並且您的選拔團隊中有可以評估該作品集的專家。

如何實施

我們研究候選人的履歷。 如果我們找到作品集的鏈接,我們就會研究它們。 如果履歷表中沒有註明作品集,那麼我們會要求候選人提供作品集。

我在什麼情況下使用這個方法?

在我的實踐中,這種方法很少被使用。 候選人的作品集中包含所需主題的作品並不常見。 有經驗的候選人通常更喜歡這種方法,而不是典型且無趣的測試任務。 他們說,“看看我的說唱,有幾十個我解決各種問題的例子,你就會看到我是如何寫程式的。”

優點

節省了考生的時間。 如果您團隊中的專業人員有時間,則可以在不與候選人溝通的情況下快速淘汰不合適的人選。 當招募人員尋找候選人時,他的同事正在評估作品集。 結果是相當快速且並行的工作。

限制

這種方法並不能適用於所有IT職業。 要評估投資組合,您需要自己掌握技能。 如果您不是專家,那麼您將無法定性評估投資組合。

同事們,我邀請您在評論中討論您所讀到的內容。 告訴我們,您還使用哪些其他方法來快速測試能力?

來源: www.habr.com

添加評論