ฉันเพิ่งได้สัมภาษณ์ทางโทรศัพท์กับ บริษัท หลังจากการสัมภาษณ์ทางโทรศัพท์ฉันได้รับคำสั่งให้ทำการเขียนโปรแกรมสั้น ๆ (โปรแกรมขนาดเล็กไม่ควรใช้เวลาเกินสามชั่วโมง)
ฉันจะดำเนินการด้วยความระมัดระวัง ประเมินความเกี่ยวข้องของความท้าทายที่มีต่องานและให้แน่ใจว่าการชำระเงินคืนในอนาคตจากนายจ้างจะทำให้เวลาของคุณ 3 ชั่วโมงคุ้มค่า
ฉันถามค่าในการทดสอบประเภทนี้และต้องการตัดสินใครสักคนเกี่ยวกับความสำเร็จในอดีตของพวกเขา งานสั้น ๆ ที่กำหนดไว้ล่วงหน้าไม่สามารถบอกนายจ้างเกี่ยวกับสิ่งที่คุณสามารถทำได้ เฉพาะสิ่งที่คุณไม่สามารถทำได้และสามารถกำหนดได้อย่างรวดเร็วด้วยคำถามสองสามข้อทางโทรศัพท์
การทดสอบจะมีสถานที่ ถามคำถามต่อไปนี้เกี่ยวกับแบบทดสอบและตอบคำถามด้วยตนเอง
- การสอบยุติธรรมนั้นได้รับระดับอาชีพในปัจจุบันของคุณหรือไม่?
- การทดสอบมีคำตอบที่ถูกต้องชัดเจนหรือไม่?
- ผู้สัมภาษณ์มีความสนใจในศักยภาพของคุณในฐานะบุคคลหรือไม่หรือพวกเขาแสดงความสนใจในผลการทดสอบมากขึ้น (เช่นเอเจนซี่จ้างงานนั้นแย่มากสำหรับเรื่องนี้)
- การทดสอบแสดงถึงประเภทของงานที่คุณจะสนุกกับการทำหรือเป็นการตรวจสอบทักษะที่คลุมเครือ (เช่นการทดสอบถ้าคุณรู้ไวยากรณ์ของ Java)
ฉันได้รับคำสั่งโดยตรงเท่านั้นที่จะเสร็จสิ้นการมอบหมายและเปิดรหัส
คุณเพิ่งตอบคำถามของคุณเอง
ทันทีที่ฉันวางแผนจะโยนมันลงบน Github เขียนชุดทดสอบโดยใช้ Travis-CI (รวมอย่างต่อเนื่องฟรีสำหรับที่เก็บ Github สาธารณะ) เพื่อเรียกใช้ชุดทดสอบและใช้ CMake เพื่อสร้าง Linux makefiles สำหรับ Travis-CI
ไม่นั่นไม่ใช่สิ่งที่พวกเขาขอให้คุณทำ
ด้วยวิธีนี้ไม่เพียง แต่ฉันสามารถแสดงให้เห็นว่าฉันเข้าใจวิธีใช้ Git, CMake, Travis-CI และวิธีการเขียนการทดสอบ แต่ฉันยังสามารถเชื่อมโยงไปยังหน้า Travis-CI เพื่อให้พวกเขาสามารถเห็นผลลัพธ์ของการทดสอบ ฉันคิดว่าจะทำให้สะดวกขึ้นเล็กน้อยสำหรับผู้สัมภาษณ์
ฉันต้องระวังการสาธิตทักษะเร็วเกินไปหรือช้าเกินไปในกระบวนการสัมภาษณ์ หากคุณรู้สึกว่าคุณสัมภาษณ์ไม่เก่งและตอนนี้กำลังพยายามชดเชยแล้วมันจะไม่ทำงาน ในทางกลับกันการทำมากเกินไปเมื่อไม่ได้ถามก็แสดงให้เห็นถึงความกระตือรือร้น ซึ่งอาจส่งผลให้นายจ้างตอบโต้ด้วยข้อเสนอค่าจ้างที่ต่ำกว่าจากนั้นคุณก็คาดหวัง
อย่างไรก็ตามฉันกังวลเล็กน้อยว่าการทำสิ่งนี้ให้เป็นงานที่ค่อนข้างง่ายจะดูไม่ดี
ใช่มันดูไม่ดี การแก้ไขความท้าทายด้วยรหัสหนึ่งบรรทัดจะน่าประทับใจยิ่งกว่าโครงการที่ถูกลบทิ้งทั้งหมด
จากประสบการณ์ของฉันนี่ไม่ใช่วิธีที่คุณชนะการสัมภาษณ์งาน แต่มันเป็นวิธีหนึ่งในการตกงาน การทดสอบรหัสเป็นปัญหาการควบคุมคุณภาพ ทุก บริษัท ที่ใช้การทดสอบรหัสเมื่อจ้างคนทำเช่นนี้เพราะก่อนหน้านี้พวกเขาไม่ได้ใช้การทดสอบรหัส พวกเขามีประสบการณ์ที่ไม่ดีของใครบางคนลื่นไหลผ่านขั้นตอนการสัมภาษณ์ที่ไม่ควรมี
พวกเขาจะนำซอร์สโค้ดของคุณและส่งไปทั่วสำนักงาน ผู้คนจะแสดงความคิดเห็นเกี่ยวกับเรื่องนี้และสิ่งที่คุณไม่ต้องการให้พวกเขาพูดคือ "เขาทำผิดพลาดครั้งนี้ แต่ใช้เวลาในการใช้ Git, CMake และ Travis-CI ช่างเป็นคนงี่เง่าที่พลาดความผิดพลาดนี้"
แค่นั้นแหละ. คุณแพ้แล้ว
พวกเขาต้องการรู้ว่าคุณสามารถเขียนโค้ดได้เพราะพวกเขาไม่สามารถสอนคุณได้ สามารถสอน Git, CMake และ Travis-CI ได้อย่างง่ายดาย