ฉันต้องการให้คุณทดสอบโค้ดไวท์บอร์ดที่ฉันขอให้คุณเขียน ฉันต้องการให้คุณพูดออกมาดัง ๆ ในขณะที่คุณเขียนมองไปที่มันเห็นความผิดพลาดทางไวยากรณ์ส่วนใหญ่ที่คุณทำและชี้ให้เห็นว่ามันจะมีประสิทธิภาพมากขึ้นได้อย่างไร ในความเป็นจริงมันเป็นจุดที่ทำในไวท์บอร์ด มันไม่ได้เป็นแบบ one-shot, write-it-all-out, uh-huh-you-get-70/100 ชนิดของสิ่งที่ มันคือบทสนทนาซึ่งเป็นสื่อกลางโดยใช้รหัสและจัดขึ้นที่ไวท์บอร์ดแทนที่จะข้ามโต๊ะทำงานของฉัน
ต่อไปนี้เป็นวิธีที่ยอดเยี่ยมในการทดสอบ "การเขียนโค้ดไวท์บอร์ด" ล้มเหลว:
- ปฏิเสธมัน
- อย่าถามคำถามที่ชัดเจนเพียงอย่างเดียว (ภาษาแพลตฟอร์มสิ่งที่เกี่ยวกับข้อกำหนด) และอย่าบอกสมมติฐานของคุณเกี่ยวกับข้อใดข้อหนึ่งข้อนี้และตั้งสมมติฐานที่ไม่เป็นไปตามที่ฉันต้องการ
(เช่นเขียนใน Fortran ตีความ "display" หรือ "print" เป็น "write to event log" สิ่งนั้นฉันอาจอนุญาตถ้าคุณบอกล่วงหน้าว่าเป็นสมมติฐานของคุณ)
- ถามฉันว่าฉันต้องการใช้ภาษาใดรับคำตอบที่อยู่ในคำบรรยายลักษณะงานแล้วเขียนเป็นภาษาอื่นเพราะคุณไม่สะดวกในภาษาที่ฉันขอ
(เราเป็นที่ปรึกษาที่นี่ฉันกำลังทดสอบพฤติกรรมของที่ปรึกษามากพอ ๆ กับการเขียนโค้ดการถามลูกค้าให้ถูกต้องก็ต่อเมื่อลูกค้ามีทางเลือกเท่านั้นการควบคุมการสนทนากับผู้ที่จะจ่ายเงินให้คุณนั้นยากนี่คือบทเรียนที่ 1 ทำเครื่องหมายกับคุณในหัวข้อใด ๆ แต่สำหรับ "คุณกำลังจ้างโปรแกรมเมอร์ X แต่ฉันไม่ต้องการเขียนใน X สำหรับคุณ" ตอนนี้คุณมีเครื่องหมายสีดำขนาดใหญ่สองตัว)
- แสดงให้ฉันเห็นว่าคุณเป็นนักบินอวกาศสถาปัตยกรรมโดยการเติมกระดานไวท์บอร์ดสองอันด้วยอินเทอร์เฟซรูปแบบโรงงานนามธรรมการฉีดยาและการทดสอบเมื่อฉันต้องการให้คุณ "พิมพ์ตัวเลขจากหนึ่งถึง 5"
(คุณคิดว่าฉันพูดเกินจริง แต่ฉันมีผู้ชายคนหนึ่งที่สรุปปัญหาของฉันอย่างมาก - ยึดตัวอย่างข้างบนสมมติว่าแทนที่จะเป็น 1 ถึง 5 วิธีแก้ปัญหาของเขาจะทำตามลำดับเลขจำนวนเต็มใด ๆ (มาจากไหนฉันสงสัย) และเป็น 5 นานเท่าที่คนอื่น ๆ - และเขาลืมที่จะเรียกฟังก์ชั่นที่ใช้งานได้จริงกระตุ้นซ้ำและแนะนำว่าเขาเดินผ่านมันราวกับว่าเขาเป็นดีบักไม่ได้นำไปสู่การสังเกตของเขาว่าฟังก์ชั่นไม่เคยเรียก)
ฉันมักจะพูดว่า "คุณชอบไหม" "คุณสามารถปรับปรุงสิ่งนั้นได้หรือไม่" "พาฉันไปที่นั้น" และไม่ชอบ โดยทั่วไปแล้วเซมิโคลอนที่หายไปจะถูกตรวจพบหรือถูกแยกออกจากกันในการสนทนานั้น ถ้าไม่ฉันมักจะทำเครื่องหมายถึงเส้นประสาท
สิ่งอื่น ๆ ที่คุณอาจไม่คิดว่าสำคัญที่ไวท์บอร์ดมีความสำคัญต่อฉัน
- เมื่อเสร็จแล้วฉันยังสามารถอ่านได้หรือไม่ คุณมีรอยเปื้อน, เขียนลวก, เปลี่ยนสี, ลูกศรวาด, ขีดฆ่าและทิ้งระเบียบที่ไม่สามารถใช้งานได้ในขณะนี้? หรือคุณทราบว่ากระดานไวท์บอร์ดสามารถลบได้ชี้ไปที่บรรทัดของรหัสในอากาศแทนการวน / ลูกศรและทิ้งบางอย่างที่ฉันสามารถถ่ายรูปและเก็บไว้ในไฟล์ออกแบบได้
- คุณถามฉันมากเท่าไหร่ คุณชอบที่จะถูกทิ้งให้อยู่ตามลำพังและไม่พูดถึงรหัสของคุณหรือคุณเห็นว่าโค้ดเป็นสิ่งที่ร่วมมือกันหรือไม่ คุณตอบอย่างไรเมื่อฉันถามคุณในขณะที่คุณยังเขียนอยู่?
- คุณเคยเยาะเย้ยเรื่องงาน "ง่าย" หรือหน้าซีดที่ "ยาก" หรือไม่? คุณหยาบคายกับการถูกขอให้แสดงรหัสหรือไม่ คุณถูกคุกคามจากปัญหาทางเทคนิคหรือหยิ่งเกี่ยวกับความสามารถในการคิดอัลกอริทึมที่ดีหรือไม่?
- คุณทำงานอยู่ในหัวของคุณหรือจำวิธีแก้ปัญหาที่คุณอ่านที่ไหนสักแห่ง? ฉันมักจะสามารถบอกได้สำหรับปัญหาที่ยาก
- คุณวางแผนล่วงหน้าเกี่ยวกับตำแหน่งที่คุณเริ่มเขียน? คนที่เขียนกระดานไวท์บอร์ดมักจะเริ่มต้นต่ำเกินไปหรือเขียนใหญ่เกินไป - ฉันบอกได้เลยว่าพวกเขาไม่รู้ว่านี่จะเป็นรหัส 20 บรรทัดและเหลือห้องอีก 5 ห้องเท่านั้น - เชื่อหรือไม่ว่ารายละเอียดเล็ก ๆ นี้ถูกสะท้อนใน ประเมินงานที่ใหญ่กว่าเช่นกัน
- คุณดูมันก่อนที่คุณจะพูดว่าคุณทำเสร็จแล้ว? ฉันเห็นคุณชี้หรือแตะผ่านทางและทดสอบด้วยตัวเองก่อนที่ฉันจะขอให้คุณ เมื่อฉันถามคุณหรือถามคำถามคุณเกี่ยวกับเรื่องนี้คุณมองมันอีกครั้งหรือแค่ออกไปจากความทรงจำ? คุณยินดีที่จะพิจารณาว่าร่างแรกของคุณอาจไม่สมบูรณ์หรือไม่
ฉันขอแนะนำให้ฝึกเขียนโค้ดที่ไวท์บอร์ด ฉันเตือนผู้ให้สัมภาษณ์เสมอว่าพวกเขาจะถูกขอให้ทำ หากคุณมีสิทธิ์เข้าถึงไวท์บอร์ดจริง ๆ ให้ตั้งปัญหาง่ายๆและฝึกทำที่นั่น มันจะช่วยให้ประสิทธิภาพและความมั่นใจของคุณ
ขออภัยฉันรู้ว่าฉันใน TL; DR ดินแดน แต่นี่คือสิ่งที่ - การเข้ารหัสที่ไวท์บอร์ดเป็นอะไรที่มากกว่าการเข้ารหัส มันคือการทดสอบมากกว่าที่คุณเข้าใจไวยากรณ์ มีพฤติกรรมของโปรแกรมเมอร์ที่ดีมากมายที่แสดงให้เห็นในการตอบสนองต่องานนี้ หากคุณคิดว่ามันเป็นเพียงการเขียนโค้ดที่คุณพลาดไป
ในการสนทนาอื่น ๆ เกี่ยวกับการทดสอบไวท์บอร์ดผู้คนบอกฉันว่าฉันอาจปฏิเสธผู้สมัครที่ดีได้ สุจริตนั่นเป็นความเสี่ยงที่ฉันยินดีที่จะรับ ทุกรอบการจ้างงานมีหลายคนที่ฉันสามารถจ้างได้ บางคนที่มีเรซูเม่ที่ยอดเยี่ยมที่ตกลงในคำถามและคำตอบในการสัมภาษณ์แยกออกจากกันในไวท์บอร์ดและไม่สามารถเขียนรหัสง่าย ๆ ในภาษาที่พวกเขาอ้างว่ารู้ ฉันอาจจ้างบางสิ่งเหล่านี้ เครื่องมือใด ๆ ที่ป้องกันไม่ให้เป็นเครื่องมือที่ฉันจะใช้ต่อไป ฉันไม่เคยลงเอยด้วยการเช่าเรือเพราะไม่มีผู้สมัครทุกคนที่มายุ่งกับไวท์บอร์ดและฉันไม่คิดว่าฉันจะทำ