เหตุใดการสัมภาษณ์ทางวิศวกรรม SW จึงเป็นเรื่องยากอย่างไม่เป็นสัดส่วน (เทียบกับการสัมภาษณ์งานวิจัย) [ปิด]


39

ครั้งแรกพื้นหลังบางอย่างกับฉัน ฉันมีปริญญาเอกใน CS และมีงานทั้งในฐานะวิศวกรซอฟต์แวร์และในฐานะนักวิจัยการวิจัยและพัฒนาทั้งใน บริษัท ขนาดใหญ่มากที่คุณรู้จักดี ฉันเพิ่งเปลี่ยนงานและสัมภาษณ์ตำแหน่งทั้งสองประเภท (เหมือนที่เคยทำในอดีต)

การสังเกตของฉัน: การสัมภาษณ์งานทางวิศวกรรมของ SW นั้นเป็นวิธีที่ยากกว่าการสัมภาษณ์งานนักวิจัยของ CS อย่างไม่เป็นสัดส่วน แต่งานของนักวิจัยนั้นให้ผลตอบแทนสูงกว่าการแข่งขันมากขึ้นให้ผลตอบแทนที่น่าสนใจและมีโอกาสสูงกว่า

นี่คือวงสัมภาษณ์ทั่วไปสำหรับนักวิจัย:

  • สัมภาษณ์ทางโทรศัพท์เพื่อดูว่างานวิจัยของฉันสอดคล้องกับงานวิจัยของห้องปฏิบัติการหรือไม่
  • ด้วยตนเอง: ให้การนำเสนอผลงานวิจัยล่าสุดของฉันเป็นเวลาหนึ่งชั่วโมง (ซึ่งอาจหมายถึงมูลค่าการทำงาน 9 เดือน) และตอบคำถามจากผู้ชม
  • การสัมภาษณ์แบบตัวต่อตัวกับนักวิจัยประมาณ 5 คนโดยที่พวกเขาถามคำถามที่เหมาะสมกับงาน / สิ่งพิมพ์ / สิทธิบัตรของฉันรวมถึง: คำถามทางเทคนิคที่งานของฉันเหมาะกับงานที่เกี่ยวข้องและฉันจะขยายงานของฉันไปยัง พื้นที่ใหม่

นี่คือวงสัมภาษณ์ทั่วไปสำหรับวิศวกร SW:

  • การสัมภาษณ์ทางโทรศัพท์ที่ฉันถามคำถามอัลกอริทึมและอาจทำการเข้ารหัสบางส่วน มาตรฐานสวย
  • การสัมภาษณ์บุคคลในไวท์บอร์ดที่พวกเขาเจาะ F *** ออกมาจากคุณในความลับ C ++ minutia (เช่นการทำงานของฟังก์ชันการเรียกฟังก์ชัน polymorphic เสมือนจริง) อัลกอริธึม , การออกแบบระบบ (ออกแบบตัวโหลดบาลานเซอร์ฐานข้อมูล) และอื่น ๆ สิ่งนี้จะดำเนินต่อไปสำหรับการสัมภาษณ์หกหรือเจ็ดครั้ง ไร้สาระ.

ทำไมทุกคนยินดีที่จะทนกับเรื่องนี้? จุดประสงค์ของการถามเกี่ยวกับ C ++ เรื่องไม่สำคัญหรือการเขียนโค้ดเพื่อพิสูจน์ตัวเองคืออะไร? ทำไมไม่ทำให้การสัมภาษณ์ทางทิศตะวันออกเฉียงเหนือมากขึ้นเช่นการสัมภาษณ์นักวิจัยที่คุณพูดคุยเกี่ยวกับสิ่งที่คุณทำ?

การสัมภาษณ์งานทางเทคนิคสำหรับสาขาอื่น ๆ เช่นฟิสิกส์เคมีวิศวกรรมโยธาวิศวกรรมเครื่องกลอย่างไร


12
ฉันจะเดายากและพูดว่าคุณสัมภาษณ์ที่ Google หรือไม่
Pemdas

2
@ Ethel: หากคุณดูที่ glassdoor.com ซึ่งผู้คนโพสต์เงินเดือนโดยไม่ระบุชื่อคุณจะเห็นว่าตำแหน่งนักวิจัยจ่ายประมาณ $ 10K ถึง $ 20K / ปีมากกว่าวิศวกร SW ที่เทียบเคียงกัน (ที่ตั้งเดียวกันสาขาเดียวกัน) โดยเฉลี่ยฉันรู้ว่าเงินเดือนของฉันอยู่ที่ประมาณ $ 25K / ปีมากกว่าเพื่อนคนอื่น ๆ ที่สำเร็จการศึกษาระดับปริญญาโท CS MS จากบัณฑิตวิทยาลัยในเวลาเดียวกัน และไม่ใช่เพียงแค่เงินเดือน ฉันเคยเห็นว่าปริญญาเอกมีวิถีอาชีพที่สูงกว่าคนที่ไม่มี ฉันไม่ได้มีหลักฐานโดยตรง แต่ฉันเห็นว่าปริญญาเอกได้รับการว่าจ้างในระดับ CTO / VP ได้ง่ายขึ้น
stackoverflowuser2010

3
มันบ้า แต่เห็นได้ชัดว่าไม่ได้ขยายไปถึงวิชาชีพวิศวกรรม 'ของจริง' ฉันรู้ว่าวิศวกรโยธาจำนวนหนึ่งและพวกเขารู้สึกตกใจกับสิ่งที่ฉันได้บอกพวกเขาเกี่ยวกับการสัมภาษณ์ที่ผ่านมาของฉัน ... หลายคนบอกว่าคุณทำอะไร: "ทำไมคุณถึงทำอย่างนั้น?"
ดินสีแดง

3
@el fuser - ขึ้นอยู่กับนายจ้าง การสัมภาษณ์ทางวิศวกรรมไฟฟ้าฉันมีทั้งหมดขอให้ฉันดูที่รหัส PLC เขียนรหัส PLC และ / หรือทำอะไรกับไดอะแกรมไฟฟ้า คำถามแรกคือ "กฎของโอห์มคืออะไร" มันเทียบเท่ากับการทดสอบ fizzbuzz ... ถ้าคุณเพิ่งใช้เวลา 4 ปีของวิศวกรรมไฟฟ้าและคุณไม่สามารถทำให้ถูกต้องได้การสัมภาษณ์ก็จบลง
Scott Whitlock

1
สกอตต์: "ถ้าคุณเพิ่งใช้เวลา 4 ปีของวิศวกรรมไฟฟ้าและคุณไม่สามารถทำให้ถูกต้องได้การสัมภาษณ์จบลงแล้ว" ฉันกลัวว่าฉันอาจจะ flunked สองสามคนเพราะฉันหัวเราะหรือดูถูก ฉันเดาว่ามาจากสภาพแวดล้อมการวิจัยที่คุณใช้ความสามารถขั้นพื้นฐานเพื่อรับ
Omega Centauri

คำตอบ:


45

มันค่อนข้างง่ายที่จะสร้างถ้าคุณมีความสามารถทางเทคนิคเพียงพอที่จะทำวิจัย - คุณได้รับการตีพิมพ์ที่ผู้จัดการการจ้างงานสามารถอ่านและสิ่งพิมพ์เหล่านั้นอาจเป็นคำใบ้ที่คนอื่น ๆ ที่พวกเขาสามารถพูดคุยกับคุณ

ในทางตรงกันข้ามวิศวกรรมซอฟต์แวร์นั้นเป็นสาขาวิชาที่เต็มไปด้วยขยะที่ไร้ความสามารถอย่างหนึ่งที่ต้องทำเพราะความขยันเนื่องจากต้องแน่ใจว่าคนที่คุณกำลังจ้างสามารถเขียนรหัสที่คุณวางแผนจะจ้างเขาเขียน


2
โชคดีที่สิ่งต่าง ๆ เช่น github และ bitbucket ทำให้ง่ายต่อการดูสิ่งที่บุคคลนั้นได้ทำ มันสามารถบรรเทา (หรือลดลงอย่างมาก) ความต้องการถามคำถามที่ต้องตรวจสอบอย่างละเอียด
helloandre

3
ตรงจุด มันยากมากที่จะแยกความดีออกจากโปรแกรมเมอร์ wannabe แม้จะมีรหัสเพื่อแสดงมันจะใช้เวลามากในการอ่านและทำความเข้าใจกับระดับของความสามารถในการตัดสินผู้เขียน เอกสารการวิจัย OTOH เขียนขึ้นสำหรับผู้อ่านใช้เวลาเพียงไม่กี่ชั่วโมงในการทำความเข้าใจจริง ๆ โดยทั่วไปแล้วสิ่งที่ไม่ดีนั้นสามารถจดจำได้ในไม่กี่นาที
Javier

3
รหัสที่จะแสดงเป็นกลอุบาย - คุณจะรู้ได้อย่างไรว่าโจสัมภาษณ์ให้เขียนรหัสนั้นทำให้เขาเขียนรหัสได้จริง
ไวแอตต์บาร์เน็ตต์

ฉันได้รับการตีพิมพ์บทความและหนังสือเกี่ยวกับวิธีการ โดยปกติหน้าจอด้านเทคนิคได้รับการลัดวงจรเพราะความรู้ของฉันเป็นเอกสารที่ดีที่พวกเขาต้องการเพื่อให้แน่ใจว่าผมว่าไมค์บราวน์
ไมเคิลบราวน์

1
นอกจากนี้ยังมีความกลัวอย่างแท้จริงในส่วนของผู้จัดการด้านเทคนิคในการว่าจ้างผู้เชี่ยวชาญที่มีประสบการณ์ที่ชาญฉลาดและมีประสบการณ์ - ผู้ที่อาจรู้อะไรบางอย่างที่ดีกว่าที่พวกเขาทำดังนั้นอาจโต้เถียงและแก้ไขปัญหา ในที่สุดการจ้างคนที่สามารถย้อนกลับรายการที่เชื่อมโยงในนาทีแทนที่จะจ้างวิศวกรสมาร์ทอย่างแท้จริงคือการสูญเสียของทุกคนที่ทำกำไรทางการเงินจากผลิตภัณฑ์ ดังที่ Bjarne Stroustrup กล่าว"องค์กรที่ปฏิบัติต่อโปรแกรมเมอร์ในฐานะคนปัญญาอ่อนในไม่ช้าจะมีโปรแกรมเมอร์ที่เต็มใจและสามารถทำตัวเหมือนคนปัญญาอ่อนเท่านั้น"
Leo Heinsaar

30

ออกไปข้างนอกที่นี่

ในฐานะนักวิจัยที่มีปริญญาเอกคุณได้พิสูจน์ให้องค์กรที่ได้รับการยอมรับหลายแห่งเห็นคุณค่าและคุณภาพขั้นต่ำของคุณในฐานะนักวิจัย คุณประสบความสำเร็จในการปกป้องวิทยานิพนธ์ต่อหน้าคณะกรรมการของคุณและมีความมั่นใจอย่างน้อยหนึ่งสิ่งพิมพ์ที่ผ่านการตรวจสอบโดยเพื่อนเพื่อเผยแพร่งานของคุณ

การพัฒนาซอฟต์แวร์ในทางกลับกันก็ไม่มีมาตรฐานด้านคุณสมบัติ ผู้คนมักขยายฐานความรู้ของตนอย่างสม่ำเสมอ เป็นผลให้การสัมภาษณ์การพัฒนาซอฟต์แวร์ต้องทำงานทั้งหมดที่การป้องกันระดับปริญญาเอกและการทบทวนโดยเพื่อนในสถาบันการศึกษา พวกเขาทำให้คุณพิสูจน์ว่าคุณรู้จริง ๆ ว่าคุณกำลังพูดถึงอะไร


17

พิจารณาสิ่งนี้สักครู่

ถ้าฉันพยายามสมัครงานนักวิจัย CS นี้ฉันจะไม่ให้ CV / Resume ของฉันดู ฉันจะไม่ไปสัมภาษณ์ตอนแรก ฉันจะได้รับจดหมายมาตรฐาน "ไม่มีปริญญาขั้นสูง" บอกฉันว่าฉันไม่มีคุณสมบัติที่จะให้ CV ของฉันดู

คำถามของฉันคือ: "ทำไมจึงยากที่จะได้รับปริญญาเอก" และ "ทำไมฉันต้องมีปริญญาเอกเพื่อเป็นนักวิจัย CS" "ทำไมต้องมีอุปสรรคและอุปสรรคมากมาย"

ทำไมทุกคนยินดีที่จะทนกับเรื่องนี้?

อะไรคือจุดประสงค์ของการทำงานทุกหลักสูตรที่ได้รับและการตีพิมพ์งานวิจัยในวารสารและการประชุม? ทำไมฉันไม่สามารถทำวิจัยและรับเงินมากกว่าที่ฉันทำกับวิศวกรรมได้

เหตุใดจึงต้องพึ่งพาโรงเรียนระดับบัณฑิตศึกษาและสื่อสิ่งพิมพ์เพื่อสร้างข้อมูลรับรอง ทำไมไม่ทำให้บทสัมภาษณ์วิจัยเป็นเหมือนบทสัมภาษณ์ทาง SE ที่ทุกอย่างขึ้นอยู่กับสิ่งที่คุณจำได้ตอนนี้ในระหว่างการสัมภาษณ์?


ฉันเข้าใจในสิ่งที่คุณพูด การสัมภาษณ์ที่เหมาะสมควรเหมาะกับประเภทของงานหรือไม่ นั่นเป็นการตีความที่ถูกต้องหรือไม่?
stackoverflowuser2010

5
@ stackoverflowuser2010: ไม่ฉันแค่บ่นว่าโลกการศึกษาอยู่ไกลยากที่จะเจาะลึกไปกว่าโลกวิศวกรรมซอฟต์แวร์ คุณได้รับการสัมภาษณ์ในฐานะ SE ฉันไม่สามารถเข้าประตูได้ในสถาบันการศึกษา มุมมองของคุณเบ้แย่มากจนคุณไม่เห็นความแตกต่าง Academia มีความแข็งแกร่งกว่ามาก
S.Lott

6

ฉันมีทฤษฎี โดยทั่วไปการวิจัยจะได้รับเงินอุดหนุนดังนั้นอุปทานของเงินสดจึงสูง พวกเขามีถังเงินที่จะใช้จ่ายและพวกเขาแค่ต้องการหาคนที่จะใช้มัน ไม่ว่าคุณจะทำสิ่งใดในตำแหน่งนั้นจริงหรือไม่ บริษัท / สถาบันไม่ได้บันทึกขาดทุนสุทธิเพราะเป็นเพียงค่าใช้จ่าย มีความเสี่ยงเพียงเล็กน้อยในการจ้างคนผิด สถานการณ์กรณีที่เลวร้ายที่สุดคือพวกเขาทิ้งทุกสิ่งที่คุณทำ

ในทางกลับกันความสำเร็จหรือความล้มเหลวของผลิตภัณฑ์ที่มีอยู่วางอยู่บนไหล่ของนักพัฒนาแบบวันต่อวัน โดยเฉพาะอย่างยิ่งถ้าคุณอยู่ในการพัฒนาผลิตภัณฑ์คุณเป็นศูนย์กำไรสำหรับ บริษัท นักพัฒนาที่ดีหรือไม่ดีมีผลกระทบอย่างมากซึ่งเกินกว่าค่าจ้างเงินเดือนของพวกเขา นักพัฒนาที่ไม่ดีจริง ๆ แล้วสร้างความเสียหาย พวกเขาสามารถตั้งค่าทีมการเปิดตัวผลิตภัณฑ์ ฯลฯ ผลที่ตามมาของการจ้างวิศวกร SW ที่ไม่ดีนั้นสูงกว่ามาก


4
+1 ในความเป็นจริงเงินสดที่ใช้ในการวิจัยได้รับการพิสูจน์โดยเอกสารเผยแพร่ดังนั้นหากผู้สมัครมีรายชื่อที่ดีจากอดีตโอกาสคือเขาสามารถผลิตได้มากกว่าซึ่งจะน่าพอใจสำหรับทุกคนที่เกิดขึ้น ตรวจสอบสิ่งที่ใช้ทุนวิจัย
PéterTörök

@ PéterTörök: ใช่ !!! เงินทุนที่ให้ทุนนั้นจำเป็นต้องยื่นรายงานและสิ่งสำคัญที่พวกเขามองคือจำนวนเอกสารที่ตีพิมพ์
sharptooth

5

บริษัท ของเรา "ถามคำถามยากมากมาย" และฉันจะอธิบายว่าทำไม เราสนใจว่าคุณรู้จริง ๆ ว่าการเรียกฟังก์ชั่นเสมือนนั้นเกิดขึ้นจริง ๆ หรือไม่ แต่ไม่ใช่เพราะมันจำเป็นอย่างยิ่งสำหรับงานที่คุณต้องทำ

แต่เราใส่ใจเพราะเราต้องรู้ว่าคุณสามารถเรียนรู้สิ่งพื้นฐานได้เร็วแค่ไหน คุณอ้างสิทธิ์ประสบการณ์ X ปีไหม? โอเคเราจะถามคำถามยาก ๆ เพื่อค้นหาว่าคุณมีความรู้ที่ดีหรือไม่

คุณไม่ทราบว่าการใช้ฟังก์ชั่นการโทรเสมือนทำอย่างไรภายใต้ประทุน แต่รู้ทุกอย่างเกี่ยวกับการทำโปรไฟล์และการปรับให้เหมาะสม เยี่ยมมากเราอาจจ้างคุณ - คุณได้รับความรู้ที่มั่นคงในด้านหนึ่งและดังนั้นคุณจะได้รับความรู้ที่มั่นคงในอีกสาขาหนึ่ง

คุณอ้างถึงประสบการณ์ X ปี "การพัฒนาการดีบักและการแก้ไขรหัส C ++" และไม่สามารถอธิบายด้วยคำธรรมดาว่าตัวชี้ชี้ไปยังวัตถุอย่างไร ขออภัยเราไม่สามารถจ้างคุณได้หากคุณไม่สามารถทำเช่นนั้นได้อย่างไรคุณจะอธิบายปัญหาที่ยากขึ้นเมื่อเราต้องตัดสินใจทางเทคนิคที่ซับซ้อนได้อย่างไร


มันยุติธรรม แต่คุณใช้เครือข่ายค่อนข้างกว้างเมื่อทำส่วนประกอบทางเทคนิคหรือมุ่งเน้นไปที่พื้นที่ที่กำหนดหรือไม่?
rjzii

@Rob Z: เราพยายามถามคำถามง่าย ๆ เกี่ยวกับ C ++ - ส่วนใหญ่เกี่ยวกับพอยน์เตอร์และการเรียกซ้ำเราให้ข้อมูลโค้ดที่มีรูปแบบที่ดีประมาณห้าบรรทัดและสอบถามรายละเอียดเกี่ยวกับสิ่งที่พวกเขาทำ แน่นอนว่าเราไม่เคยถามเกี่ยวกับการสืบทอดเสมือนหลายครั้งและลำดับการเริ่มต้นคลาสพื้นฐานในกรณีของการสืบทอดเสมือน
ชาร์ปฟัน

ทำไมคำถามฟังก์ชันเสมือนจึงเป็นที่นิยม ดูเหมือนว่าบางครั้งสิ่งที่ทุกคนต้องศึกษา ...
Jé Queue

@Xepoch: ฉันเดาว่ามันง่ายมากและความรู้เกี่ยวกับการทำงานภายในของพวกเขาบ่งบอกได้ดีไม่ว่าคุณจะสนใจสิ่งที่เกิดขึ้นภายในหรือเพียงแค่วางบรรทัดของรหัสด้วยกัน
sharptooth

ฉันคิดว่าฉันมีโชคในอาชีพของฉัน ฉันเคยเห็น coder ตัด & วางไม่ค่อย ฉันรู้จักผู้ฝึกหัดที่ไม่ดี (รวมตัวเองด้วย) แต่อย่างน้อยมันก็เป็นแบบของพวกเขาเอง :)
Jé Queue

5

คำตอบสั้น ๆ : มีคนจำนวนมากในตลาดที่อ้างว่ารู้เรื่องการเขียนโปรแกรม แต่ไม่สามารถโปรแกรมได้

หมายเหตุ Side: ฉันประหลาดใจที่ไม่มีใครโพสต์ลิงก์ไปยังFizzBuzz เรียงความ


จริง แต่คุณสามารถบอกได้อย่างรวดเร็วว่าถ้าใครสามารถหรือไม่สามารถโปรแกรมบนพื้นฐานของปัญหาไวท์บอร์ดหนึ่งหรือสอง ปัญหาไวท์บอร์ดนั้นไม่เหมือนกับการถามคำถามในตำราเรียนที่เกิดขึ้นระหว่างการสัมภาษณ์
rjzii

3

ฉันจะใช้เส้นทางที่แตกต่างกันและบอกว่าปัญหาอาจไม่มากนักที่การสัมภาษณ์วิศวกรรมซอฟต์แวร์นั้นยากกว่า แต่โดยรวมแล้วภาคส่วนต่าง ๆ กำลังมองหาสิ่งที่แตกต่างกันซึ่งแสดงในรูปแบบการสัมภาษณ์ของพวกเขา

ฉันได้สัมภาษณ์ในหลากหลายภาคส่วน (เช่น บริษัท ที่เริ่มต้น, บริษัท ขนาดเล็ก, บริษัท ขนาดใหญ่, แผนกไอทีภายใน, บริษัท ซอฟต์แวร์, องค์กรวิจัย) และพวกเขาต่างก็มีวิธีการสัมภาษณ์ที่แตกต่างกันซึ่งฉันมักจะพบว่า ทำตามรูปแบบต่อไปนี้:

  • เริ่มอัพมักจะเกี่ยวข้องกับการรู้ว่าคุณสามารถเริ่มเขียนโค้ดได้ในขณะนี้และสามารถจัดการกับสภาพแวดล้อมที่รวดเร็ว เช่นนี้พวกเขามักจะเกี่ยวข้องกับจำนวนเงินที่คุณรู้จากด้านบนของหัวของคุณเพราะพวกเขาดูเหมือนจะไม่ต้องการที่จะเห็นคุณใช้เวลามากในการค้นหาสิ่งที่พวกเขาคิดว่าเป็น "หลัก" ความรู้ การยอมรับว่าคุณไม่รู้ว่าบางสิ่งอาจไม่ดีในสภาพแวดล้อมนี้หากเป็นสิ่งที่พวกเขาคาดหวังว่าคุณจะรู้
  • บริษัท ขนาดเล็กมักจะมองหาสิ่งเดียวกับการเริ่มธุรกิจโดยคำนึงถึงจำนวนที่คุณรู้ แต่ไม่ได้กังวลว่าคุณจัดการกับสภาพแวดล้อมที่รวดเร็ว (ขึ้นอยู่กับงาน) และอื่น ๆ ด้วยทักษะนุ่ม ๆ นำมาและวิธีที่ดีที่คุณจะพอดีกับ บริษัท
  • บริษัท ขนาดใหญ่และแผนกไอทีภายในดูเหมือนจะกังวลมากขึ้นกับการทำให้มั่นใจว่าคุณมีมาตรฐานความรู้ด้านเทคนิค แต่ไม่เป็นกังวลหากคุณไม่ได้รู้ทุกสิ่งที่อยู่เหนือหัวของคุณเนื่องจากพวกเขาคาดหวังว่าจะมีบางอย่าง เวลาที่เกี่ยวข้องกับการฝึกอบรมให้คุณเกี่ยวกับสิ่งที่ บริษัท คาดหวัง ดังนั้นนี่คือสภาพแวดล้อมที่ยอมรับว่าคุณไม่รู้อะไรเลย แต่ยินดีที่จะเรียนรู้และการศึกษาสามารถมองได้ว่าเป็นประโยชน์
  • ในสภาพแวดล้อมการวิจัย (เช่นการสนับสนุนการพัฒนาซอฟต์แวร์สำหรับนักวิทยาศาสตร์ในประสบการณ์ของฉัน) พวกเขามักจะกังวลถ้าคุณสามารถเขียนซอฟต์แวร์ได้ แต่ถ้าคุณเต็มใจที่จะทำสิ่งที่จำเป็นเพื่อให้แน่ใจว่าคุณสามารถเรียนรู้สิ่งที่พวกเขาทำ พวกเขาไม่ต้องจับมือกันขณะที่คุณพยายามแก้ไขปัญหา เนื่องจากเป็นสภาพแวดล้อมการวิจัยพวกเขาจึงสนใจที่จะเรียนรู้สิ่งใหม่ ๆ

ตอนนี้ฉันไม่สนใจที่จะพูดถึง บริษัท ซอฟต์แวร์ (เช่น Google, Microsoft) เนื่องจากพวกเขามักจะทำสิ่งต่าง ๆ ของตนเองและขึ้นอยู่กับว่า บริษัท นั้นเติบโตและกลุ่มที่คุณสัมภาษณ์พวกเขากำลังมองหาสิ่งต่าง ๆ

ในตอนท้ายของวันแม้ว่าและเป็นสิ่งที่มากที่สุดในชีวิตทุกอย่างขึ้นอยู่กับ โดยส่วนตัวแล้วฉันพบว่าบาง บริษัท ให้ความสำคัญกับ "ความรู้หนังสือ" เป็นอย่างมากซึ่งอาจทำให้เกิดค่าใช้จ่ายในการแก้ปัญหาระดับที่สูงขึ้นซึ่งเป็นที่ที่ บริษัท อื่น ๆ กังวลว่าคุณจัดการปัญหาระดับสูงได้ดีเพียงใด (เช่นคุณสามารถออกแบบ schema สำหรับx ) และดำเนินการภายใต้สมมติฐานว่าพวกเขายินดีที่จะลงทุนสามถึงหกเดือนเพื่อให้คุณได้รับความเร็วเต็มที่ก่อนที่คุณจะได้ผลเต็มที่


2

อีกครั้งการสัมภาษณ์ทางเทคโนโลยีโดยพลการและไม่แน่นอน

มีความแตกต่างอย่างมากระหว่างการย่างคนใน minutiae กับการดูว่าพวกเขารู้จัก CS หรือไม่ เช่นเดียวกับที่ฉันได้กล่าวไว้ข้างต้นฉันมีประสบการณ์ในการใช้ C ++ มานานกว่าทศวรรษ แต่ฉันมักจะทิ้งคำถาม OOP / มรดก ทำไม? เพราะเมื่อการสนับสนุนสำหรับแม่เสริมที่ผมเคยใช้ c ++ เกือบเฉพาะสำหรับทั่วไปการเขียนโปรแกรม

ฉันได้สัมภาษณ์กับ บริษัท BigHouseHoldNameTech หลายแห่งในย่าน Bay & Seattle และหนึ่งในการสัมภาษณ์ที่ดีที่สุดเกี่ยวข้องกับคำถามจริงที่พวกเขาต้องรับมือกับงานที่เกี่ยวข้องกับโครงสร้างข้อมูลและอัลกอริธึม [เช่น: คุณมีจุดข้อมูล 300 พันล้าน ประกอบด้วย XYZ คุณจัดเก็บและค้นหาอย่างมีประสิทธิภาพได้อย่างไร ]

นั่นช่วยให้คุณรู้ว่าผู้สมัครสามารถเข้ามาและช่วยแก้ปัญหาจริงที่คุณเผชิญอยู่ได้อย่างไร ยิ่งแย่ไปกว่านั้นคือ บริษัท BigHouseHoldNameTech อีกด้วย แต่พวกเขาก็ถามคำถามเกี่ยวกับความลับที่คุณต้องลองดูในคู่มือ [ เช่นอธิบายความแตกต่างที่สำคัญระหว่าง PCB ใน windows กับ Linux - และนี่ไม่ใช่ ' t สำหรับตำแหน่งระดับเคอร์เนล ]

กองทุนป้องกันความเสี่ยงเป็นสิ่งที่แปลกประหลาดโดยมีเจตนาที่จะทรมาน ... คาดว่า 8 ชั่วโมงในการแก้ปัญหาประเภทเป้บนกระดานไวท์บอร์ด


2

ฉันเป็นนักพัฒนาซอฟต์แวร์ (c / c ++) ด้วยประสบการณ์กว่า 20 ปีในสาขานี้ ประเภทของการสัมภาษณ์ที่เราเห็นเป็นประจำในขณะนี้ (ผู้พัฒนาสมองการใช้โครงสร้างข้อมูลอัลกอริทึมการค้นหาและอื่น ๆ บนไวท์บอร์ด) ไม่เคยเกิดขึ้นมากนักยกเว้น newgrads หากบุคคลหนึ่งทำงานให้กับ บริษัท ที่มีชื่อเสียงในระยะเวลาที่เหมาะสมนั่นถือเป็นข้อพิสูจน์ถึงความสามารถในการเขียนรหัส ตอนนี้มันกลายเป็นโรงเรียนมากและฉันไม่แน่ใจว่าทำไม จริงๆแล้วสิ่งที่พวกเขาถามคุณเกี่ยวกับรหัสสามารถจดจำได้ดังนั้นการทำมันบนไวท์บอร์ดจริงๆไม่ได้พิสูจน์อะไรเลย ในโครงการทำงานคุณจะต้องใช้อินเทอร์เน็ตเพื่อค้นคว้าข้อมูลและคุณจะไม่เขียน btrees หรือรายการที่เชื่อมโยงตั้งแต่เริ่มต้น

ฉันคิดว่ามันเป็นแฟชั่นการจัดการอื่น - เช่นเดียวกับการต่อสู้ - กับสิ่งนี้อาจจะเริ่มต้นโดย google, amazon และ microsoft ทุกคนคัดลอกเหมือนที่พวกเขาทำกับอันดับของ Jack Welch และงัด ... จำ GE ได้ไหม?

หากคุณเป็นผู้จัดการการจ้างงานที่อ่านความคิดเห็นของฉันสิ่งที่คุณควรจะถามผู้สมัครคือวิธีที่พวกเขาจะไปเกี่ยวกับการแก้ปัญหาบางอย่าง แทนที่จะขอให้พวกเขาเขียนรหัสตารางแฮชให้พวกเขามีปัญหาเกี่ยวกับตารางแฮชและถามว่าพวกเขาจะแก้ปัญหาอย่างไร

ฉันยังเห็นด้วยกับนักพัฒนาข้างต้นโพสต์นี้ที่กล่าวว่า "ให้พวกเขามีปัญหาโลกแห่งความจริงที่ บริษัท ต้องแก้ไข"!

"แต่ฉันมักจะวางระเบิดคำถาม OOP / มรดกทำไมเพราะเมื่อเพิ่มการสนับสนุนเทมเพลตฉันจึงใช้ C ++ สำหรับการเขียนโปรแกรมทั่วไปโดยเฉพาะ"

ฉันเห็นด้วยกับข้างต้น เมื่อคุณทำงานกับ บริษัท คุณเขียนรหัสวิธีของพวกเขา ฉันยังคงดิ้นรนในบางครั้งเพื่อจำการโทร C ++ โดยการอ้างอิงไวยากรณ์ด้านบนของหัวของฉันเพราะสถาปนิกอาวุโสของ บริษัท ที่ฉันทำงานมา 15 ปีชอบที่จะใช้ตัวชี้ไม่ใช่การอ้างอิง เขาเป็นโปรแกรมเมอร์ซีเก่าที่คุณเห็น นั่นคือสิ่งที่เราทุกคนใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.