題:
如何應對在初試時被騙的候選人?
Alexei
2018-01-16 22:22:48 UTC
view on stackexchange narkive permalink

我被要求參加與在我工作的公司中擔任初級程序員工作的候選人的面試。面試包括我的一位人力資源代表的同事。

在研究為問題提供的解決方案(初始測試)時,我注意到其中的一個對於新手來說看起來相當先進,並且認為候選人沒有解決該問題。我可以很快找到確切的解決方案(相同的縮進,相同的結構,僅更改了幾個變量名,因此可以清楚地複制它。)。

編碼平台明確聲明不允許完全複製解決方案(僅API)文檔,StackOverflow等都可以使用。)

我已經告訴另一位同事有關我所發現的內容的信息,因為工作機​​會在他的部門內部,因此我建議您優先考慮提供解決方案的候選人,即使他們得分要少。

我想知道在面試過程中我該如何對此做出反應

  • 告訴應聘者-這顯然會讓他感到尷尬,也可能使他將來變得更加複雜。
  • 不要告訴候選人-這可能被解釋為不公平(反饋不完整)

問題:如何處理在考試中復制的考生?

[EDIT]

謝謝大家的合作有益的評論和答案。確實,此過程並不可行,因為大多數編碼問題都已存在至少2年。不幸的是,我無法控制流程,但是我可以建議我的經理進行更改(即確保更改/更新了問題)。

面試-候選人精通知識,他無法證明自己掌握了所編寫代碼的概念。我的同事建議我們認為他可能在其他地方使用過一些代碼,而他對我們發現的代碼感到驚訝。

評論不作進一步討論;此對話已[轉移至聊天](http://chat.stackexchange.com/rooms/71798/discussion-on-question-by-alexei-how-to-deal-with-a-candidate-that-cheated-在)。
該代碼段多長時間了?
“只能使用API文檔,StackOverflow等。”嗯……那是他幹的嗎?
七 答案:
Draken
2018-01-16 22:51:08 UTC
view on stackexchange narkive permalink

您在這裡進行假設,我們不能保證候選人確實作弊,只是非常懷疑他們做了。因為您已經與他們進行了訪談,所以不要與他們面對面,而是請他們引導您完成他們的解決方案。確保他們了解他們寫的內容及其工作方式。

總是有可能他們要么管理了一個非常相似的答案,要么是在SO上回答了該問題的用戶,並在可能的情況下叫了某人出錯不是最好的方法。最好調查並證明自己是對的。

您永遠不會知道,也許他們是那麼的好,並且得出了相同的答案?如果是這樣,則您有一個很強的工作候選人(假設答案是好的),並且沒有通過直接稱他們為騙子來燒掉任何橋樑。

如果事實證明他們確實作弊,他們應該能夠了解他們是從您的詢問中發現的。只是讓他們表示感謝,但不要感謝,就這樣吧。對抗,尤其是在面試環境中,對抗並不是路要走。

從哲學上講,我不能保證他會作弊,但是幾乎沒有(CV方面的)Web開發經驗,並且編寫與SO答案幾乎相同的複雜JS代碼幾乎是不可能的。
的確,在證明有罪之前,它是無辜的。您不知道是誰最初寫的那個SO答案,可能是您的申請人。很有可能不是這樣,他們將在第一次查詢時落入代碼中,但是最好讓他們犯錯誤而不是您指責他們
“無罪直到證明有罪”僅適用於法院。面試的規則是“只有經過證明的僱用才能僱用”。
如果說明指示您不應該從互聯網上複製內容,則此人沒有遵循說明或沒有足夠的意識來表明他們已經發布了答案。在這種情況下,為什麼不對變量名做些改動?如果某人的簡歷中有拼寫錯誤,我的假設是他們不會拼寫,而不是別人寫了自己的簡歷,這會更糟。
當我在初中參加入門編程課程時,講師對我最好的朋友是“肯定”,我在作弊。為了進行測試,他會讓我們坐在房間的對面,在黑板上寫下問題(這樣我們就無法提前看到油印的問題),然後像鷹一樣看著我們。儘管如此,我們的答案仍然可以支持字母換字母,甚至包括註釋和變量名之類的東西。他從來沒有想過:我們只是非常相似的想法,並且以相同的方式解決了相同的問題。
@Draken在您的公司中,沒有任何決定會比招聘過程對您的底線產生更大的影響。就每分鐘的風險而言,面試是您工作中最冒險的行為。我寧願錯誤地拒絕一個好的候選人,而不是錯誤地接受一個不好的候選人。而且我不會在那些看起來很有信心被欺騙的人身上浪費時間。
我想說一個經驗豐富的程序員了解此問題,並會故意避免看起來像他們自己發布的SO答案。那基本上就是我要做的。在回答了這些問題之後,我將Google完全避免了這種情況。我認為您可以傾向於假設他們欺騙而不是沒有欺騙。我也同意corsiKa。
@JeffO,給出了說明,並引述了問題:*“不允許完全複製解決方案(只能使用API文檔,** StackOverflow **等。)” *確實取決於代碼段的持續時間。無論如何,此答案提供了最佳方法。
@Alexei“ ...極不可能”,但這不是重點。我們所有人都同意您的看法,這極不可能。Draken並不是說您應該接受他們的解決方案-他為您提供了一種聰明的方法來驗證他們的知識,不會造成不必要的戲劇性。您問應如何對待候選人。_親自問他解釋他的解決方案_絕對是正確的答案。您將學習需要了解的內容,並且避免了必須進行對抗的情況。
““在證明有罪之前無罪”僅適用於法院。”-不,這僅在法律上適用。這仍然是一種好方法,因為它可以消除偏見。在這裡,您的面試規則是不必要的(並且多餘的,如果您要對雙關語原諒的話),因為討論的主題是如何決定是否錄用。
@Wildcard-並非如此。即使只是幾行代碼,而您所做的全部更改都是變量名,這些變量名幾乎是所有實際用途的完整副本。
@Alexei當您說“經驗”時,您是在計數不是來自教育機構的經驗嗎?StackOverflow調查顯示(每年),大多數程序員都是“自學成才”的。
我喜歡候選人應理解答案的想法。有時,解決方案實際上就像引用StackOverflow一樣簡單,但是我遇到過這樣的情況,否則,體面的開發人員會在不知道_why_起作用的情況下將解決方案從那裡複製到我們的應用程序中。不好的地方是,如果復制和粘貼這些多餘的東西而沒有其他思考,它們也可以被引入。
如果沒有其他原因,他顯然忽略了原始職位的出處,從而明顯違反了SO許可證的條款,這對我來說是一個污點。
@Pharap-“經驗”是指CV中提到的相關經驗,可以是涉及該語言/框架,課程,SO答案等的項目。
“但是幾乎沒有(CV)的Web開發經驗,幾乎不可能寫出與SO答案相同的複雜JS代碼”為什麼要測試聲稱完全沒有JS經驗的候選人?這只是浪費每個人的時間。
嗯,您是否不覺得自己在忽略那些(大批?)無法解釋現有解決方案的人?
Neo
2018-01-16 22:45:59 UTC
view on stackexchange narkive permalink

如何處理在測試中復制的考生?

我不會浪費時間告訴考生任何事情,他們當然會否認自己被騙了。如果您確定,他會作弊,請告知招聘經理,並建議他查看其他應聘者。

如果有人會作弊,如果您僱用他們,他們還會做什麼

簡短的回答:忘記作弊者,然後轉到其他候選人。

但是,如果他從堆棧溢出中得到了該怎麼辦?
@SandraK這是在開玩笑嗎,因為我們當前正在使用Stack Exchange,還是您認為這很重要?
@MatthewRead OP說:“不允許複製解決方案(只能使用API文檔,StackOverflow等)_”。如果候選人從Stack Overflow獲得解決方案,那是我的意思。我沒有收到您的評論。
如果這正是其說法,那麼對於是否可以從StackOverflow複製解決方案就模棱兩可。如所寫,它不僅模棱兩可,而且令人困惑。如果試圖說您不能從任何站點複製解決方案,但是可以像使用其他站點一樣使用StackOverflow,那為什麼還要提到StackOverflow?這不是例外或其他限制。
我的猜測是,他們是由一位大學教授培訓的,他沒有使用任何工具來查看誰欺騙了他們的編程工作。
@DavidSchwartz Schwartz不,一點都不歧義。張貼者顯然意味著他們被允許將網站用作資源。顯然,這不包括直接複製答案。這是常識和說法。當有人說您可能在StackOverflow上查找內容時,他們並沒有告訴您可以直接複製答案。他們告訴您可以將該網站用作學習您不熟悉的概念的資源。試圖找到一個漏洞來避開大家都知道的作弊行為顯然是行不通的。
@DavidSchwartz我在這裡同意BooleanChese,如果不清楚您是否可以復制SO解決方案,那麼對於在更改所有變量名稱的同時復制解決方案的候選人,我們應該怎麼推斷?
@PierreArlaud像我們中的某些人一樣,可能是一個候選人,在某種程度上不確定“ _use Stackoverflow_”的意思是“只是閱讀有關它的內容”還是包含摘錄的代碼段。名稱更改可能與代碼的其他位(他們確實寫過的)相適應。在我的工作中,我將愉快地摘錄SO的摘要(經過信貸,並且經常改編):可能他們最大的缺點就是沒有承認他們這樣做了。我會問他們_explain_代碼如何工作,如果他們能做到,那就沒問題了。
我遇到的最麻煩的同事是那些經常誤解方向並努力向前的同事。無論如何,如果工作是完成工作具有很大靈活性的工作,或者相反地是明確編寫了需求以免造成混亂的工作,那可能就可以了。
使用堆棧溢出的@SandraK:,無需任何原始思想就可以直接從中復制/粘貼,不一定是同一回事。使用SO有“正確”的方法和“錯誤”的方法。
@LightnessRacesinOrbit候選人獲得了正確答案,並更改了一些變量名稱。那是沒有思考就不是複制/粘貼。
@SandraK:更改某些變量名稱不是“思考”。
@SandraK充其量是在考慮他們可能如何隱藏複製/粘貼這一事實。這只是更多證據,證明這是故意作弊,而不是對指令的誠實誤解。
The Photon
2018-01-17 03:01:39 UTC
view on stackexchange narkive permalink

從所寫內容(在問題和評論中,後來轉移到聊天中)看來,提交給候選人的規則說允許使用SO,他們找到了SO的解決方案。因此,在我看來,他們似乎沒有被欺騙,取消候選人資格將是不公平的。但這在很大程度上取決於規則的確切措辭,因為這些規則是向候選人提出的。

在您所說的評論中,

SO和/或其他文檔可用於處理小事情(例如,如何有效地對某種數組或列表進行某種語言排序)

p>

確定這不是給候選人的確切語言嗎?如果不是明確的,什麼是“小事情”和什麼是“大事情”,在我看來,候選人使用了明確允許的資源。

您的公司有責任提出問題如果您想允許考生參考SO,則不能通過從SO複製&粘貼來解決,但是不能複制&粘貼。

此時的最佳分辨率是用臉來與該候選人面試,以了解他們是否確實具備該職位所需的知識,並在將其提交給下一位候選人之前修改篩選問題。

同意,他找到了一個行之有效的高級解決方案。您是否希望候選人在容易獲得更好的解決方案時會提出劣等的解決方案?如果要避免複製/粘貼,請執行不可能進行完整復制/粘貼的任務。如果您不這樣做,並且拒絕好的解決方案,那麼我想您應該得到普通開發人員的青睞。
您在這裡遇到了一個大問題:這是一個糟糕的篩選問題。“打開書本”測試應該比簡單的SO問題可以回答的要先進。此外,您如何知道其他候選人是否剛剛付錢給某人寫他的答案?進行篩選,然後進行採訪。我為他知道答案是正確的而稱讚。我仍然要他指導我完成他的解決方案,因為我不希望程序員在不了解_why_的情況下從SO複製/粘貼,答案就是他們需要的。
如果發生了這種情況(我懷疑是這樣),那麼他們最大的錯誤可能就是沒有包含適當的CC-by-SA確認。如果他們能夠充分解釋代碼(無論是編寫代碼還是取消代碼),您將來可能會提到。
@BloodGain顯然,答案是我需要的原因是因為它有效。大聲笑
NexusInk
2018-01-17 21:40:05 UTC
view on stackexchange narkive permalink

如果您的公司正在尋找才華橫溢的編碼員-然後從其他符合條件的候選人中進行選擇。

如果沒有,則需要重新定義作弊的概念-網上沖浪是否是騙局Stackoverflow,API docs,Github來找到解決問題的方法?

這種所謂的作弊行為有哪些法律影響?公司會被起訴嗎?那麼此候選人不適合您。

您的源代碼是否開放?僱用他們的一切理由都證明他們非常適合解決問題。

如果您有任何疑問,請考慮認為這個“新手作弊者”得分最高。他們將在5年的時間裡做什麼?如果有機會與其他專家團隊一起工作,可以指導他們……

在您的討論中保持直率:讓他們知道他們超出了預期(分值),但要表達您的疑問和疑慮-你們都會學到新的東西。外交是一項艱鉅的交易-也許讓人力資源代表來處理。

天哪,如果候選人具有足夠的代碼照明能力來滿足您的需要,那麼他肯定會成為資產,甚至在退休時也能勝任工作。

p>

訪談還可以包括註釋中指定的實時代碼測試,以評估初級程序員對所需語言的理解。

我們只需要忍受一些“道德與合規”講座。將來似乎無法出售所產生的代碼,即使其中包含複製的材料,即使該代碼來自幫助站點並打算複製也是如此。我們有檢查員來,實際上是對部分代碼進行網絡搜索,以查看其是否被抄襲。複製的代碼必須正確記入貸方,並在必要時進行許可。否則,您真的可以被起訴。
@RedSonja這種情況與封閉源代碼產品的法律方面有關嗎?GPL或MIT(僅舉兩個)許可代碼如何?據我所知,在專有許可軟件中使用自由許可的代碼是有效的(閱讀法律)
@RedSonja您在美國嗎?在美國絕對不是這樣
我不是律師,所以我對版權法知之甚少。但是在講座中,我們聽說有人說您必須在有效的時候擁有有效的許可證-我們都可以同意。如果閱讀小字體,即使是免費代碼也有一些限制。他們喜歡您相信它。現在,我們有一些客戶從我們這裡購買源代碼,而不僅僅是可執行文件,並且使用複制的代碼是一個敏感領域。我們聲明這是我們自己的工作,然後不是。是的,這很棘手。
Camion
2018-01-17 05:00:03 UTC
view on stackexchange narkive permalink

似乎大多數人在這裡做出隱含的假設,即道德應該決定選擇正確的候選人。我認為這是錯誤的做法。在工作選擇過程中,您的目標是選擇對公司最有利可圖的候選人。

現在,我並不是說道德問題(欺騙還是不欺騙)不應該不是決定因素。我只是說這個問題不應該被認為是顯而易見的。

編輯:

  1. 光子表示反對,一名為了追求利潤而作弊的員工會提出要求。是的,這是一般人的推理,但應聘者可能認為這不是在作弊,否則他不會造成任何後果。
  2. ol>

真正的傷害,並且會知道在現實生活中該在哪裡停止(也許)。

  • 我們應該問自己,所有曾經欺騙過學校考試的人是否會對他們的公司構成威脅;
  • 冒險的能力對於職位;
  • 即使在某些情況下,公司作弊的好處大於弊端;甚至
  • 該公司將受益於讓某人為某些行為承擔責任(例如,在軟件產品中:已知公司在其軟件中竊取了GPL代碼)。被發現時開除某人可能會很高興)。

當然,我不會推薦這種不當行為,但我只想說明一個人不應該看到黑白相間的東西。現實生活中有很多灰色情況,人們可能應該從更寬泛的角度審視這種情況,而不僅僅是堅持道德。

  1. 如果候選人欺騙設計良好的測試(我認為不是),那麼您就失去了評估其技能的機會。
  2. ol>

也許,精心設計的測試會考慮到這種想法,並且能夠欺騙這種精心設計的測試的候選人可能被認為比測試設計本身更聰明。

更多編輯:作為結論,我想補充一點,基於這些原因,但根據您的需要,IMO最明智的選擇可能是與他面對面並為他辯護。

1.企圖牟取暴利的僱員會使公司面臨法律和其他危害的風險。2.如果考生在精心設計的考試中作弊(我認為不是這樣),那麼您將失去評估其技能的機會。
是的,這是一般的推理,但是員工可能會這樣做,因為他認為自己不會造成真正的傷害,並且會知道在現實生活中該停在哪裡(也許)。所有曾經欺騙過學校考試的人對他們的公司構成危險嗎?同樣在某些情況下,收益大於弊端,或者甚至公司將受益於讓某人為某些行為承擔責任(例如,在軟件產品中:已知公司盜用GPL代碼的案例)他們的軟件中。他們可能很高興看到有人發現時將其開除。
可以肯定的是,我不推薦這種不當行為,但我只想舉例說明,一個人不應看到黑底白字。現實生活中有很多灰色狀況,人們可能應該從更寬泛的角度審視這種情況,而不僅僅是堅持道德。
哦,關於“精心設計的考試作弊”,我要補充說,精心設計的考試將考慮到這種想法(例如:評估承擔風險的能力),並且員工能夠作弊測試,可能比測試本身更聰明。
如果候選人認為作弊不會造成傷害,那就是不僱用他們的原因,而不是僱用他們的原因。
“能夠欺騙這樣精心設計的測試的候選人可能被認為比測試設計本身更聰明。”有人立即想到柯克上尉和小林丸嗎?重新啟動版本,當然.....
@The光子:在某些情況下,理想的作弊是可取的。總的來說,出於多種原因,我會同意您的看法,但是通常最好的做法是思考一些問題。例如,以馬內利·康德(Emmanuel Kant)和本傑明·康斯坦斯(Benjamin Constant)之間關於撒謊權的辯論:對謀殺者的謊言是錯誤的,這些謀殺者向您詢問您隱藏在房屋中的朋友?社會建構是基於對規則的尊重,而社會進化是基於對規則的超越。重要的一點是,社會需要將犯罪行為保持在較低水平,而不是被根除。
順便說一句,將喜歡和回應的數量與其他人和問題進行比較很有趣。它很好地說明了一個事實,即社會對它的規則和使用有一定的質疑,並且這個數量需要保持在一定的範圍內,這個範圍很小但不能為零。而且我相信最理想的數量一定會出現來自自然選擇:適量的添加會給附近的人群帶來進化優勢。尚不足以阻礙團隊適應環境的能力,但太大的程度則會破壞信任。
Alan Berdinelli
2018-01-17 23:32:57 UTC
view on stackexchange narkive permalink

假設,您認為他作弊是正確的。我認為您應該根據候選人的要求採取行動:

  • 程序員應該解決問題。如果您想提高生產率,我相信候選人是完美的,因為他沒有嘗試解決已經解決的問題,而是使用了現有的解決方案。

  • 如果您擔心應聘者不了解該知識,則可以進行另一次面試,向他詢問他的解決方案。可以開始考慮拋棄他,或者讓他再做一次測試以查看他是否再次作弊。

我個人認為這不是問題,因為我發現可以使用現有解決方案的人比花費更多時間編寫新代碼,修復,嘗試幾種方法的人更有幫助。

實際上,當您不能僅僅從SO複製和粘貼時,您將遇到多少個程序員。無論如何,您都應該接受後續採訪,開發人員應捍衛他們的設計決策,此時您可以問他對此的想法。他要么向您解釋代碼,要么向您解釋代碼,並告訴您它比編寫代碼要快。人們認為所有Jr開發人員都是相同的。有些人的編碼大腦更好。Jr. Dev只是入門級程序員的頭銜
lukuss
2018-01-18 19:47:53 UTC
view on stackexchange narkive permalink

您確定他被騙了嗎? 如果是:的想法不是關於“為已解決的問題找到解決方案”,“生產力”或“具有足夠的知識”。也不關他是否可以接受測試,因為他做了什麼……不。

他被騙了。他違反了一項原則。如果他沒有正確性原則,他應該成為公司的一部分嗎?作弊在偷。如果他偷竊是為了賺錢,他下次(從貴公司)會偷竊什麼? ,告訴他您懷疑他在考試中作弊,並為他提供了另一種不同的考試機會。但是一個好的程序員不需要作弊。優秀的程序員不會因作弊而變得優秀。

最後,這是您的選擇。我的建議是不僅要看能使他勝任這項工作的結果。僱用什麼樣的人也很重要。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...