วิธีจัดการกับคำถามสัมภาษณ์เกี่ยวกับรูปแบบการเขียนโปรแกรม [ปิด]


11

ในฐานะผู้เขียนโปรแกรม C ++ ในการสัมภาษณ์ฉันพบว่าตัวเองอยู่ในสถานการณ์บ่อยครั้งผู้สัมภาษณ์ต้องการแสดงความรู้เกี่ยวกับรูปแบบการเขียนโปรแกรมที่ดี โดยทั่วไปแล้วสิ่งเหล่านี้มีศูนย์กลางอยู่ที่ความรู้พื้นฐานของ OOP

ฉันรู้ว่า OOP มีประโยชน์ในการสรุปแนวคิดและฉันใช้ทุกวัน อย่างไรก็ตามเนื่องจากภาษาอย่าง C ++ อนุญาตให้มีสไตล์ที่แตกต่างกันและบางวิธีของ C ++ เช่นอัลกอริธึม TMP หรือ STL ไม่ใช่ OOP เลย (แต่ค่อนข้างเหมือนการเขียนโปรแกรมที่ใช้งานได้) ฉันพบว่าตัวเองติดอยู่กับวิธีที่ดีที่สุด ดีโดยไม่ต้องเจอว่าเป็นคนที่หยิ่งยโสหรือเป็นคนที่ไม่มีความรู้พื้นฐาน ฉันกลัวว่าการเน้นไปที่ OOP ของผู้ถามจะมาจากพวกเขาที่เข้าสังคมในยุค 90 ที่ OOP เชื่อว่าเป็นวิธีรักษาทั้งหมด แต่นั่นเป็นจุดยืนที่หยิ่งจองหอง

ฉันจะทำให้ดีที่สุดของคำถามเช่นนี้ได้อย่างไร


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

คำตอบ:


6

ฉันจะบอกว่าคุณต้องตอบคำถามให้ดีที่สุดเช่นคุณควรตอบคำถามทุกข้อให้ดีที่สุด

ต่อมาเมื่อคุณได้รับโอกาสในการถามคำถามผู้สัมภาษณ์คุณควรยกเรื่องและถามคำถามเช่น:

  • คุณทำแค่ OOP เท่านั้นหรือ
  • ฉันใช้วิธีการเขียนโปรแกรมที่แตกต่างกันเป็นวิธีที่ยอมรับในทีมของคุณ?

และอื่น ๆ ... และด้วยวิธีนี้คุณไม่เพียง แต่สามารถเริ่มต้นการสนทนาเกี่ยวกับการขายความเชี่ยวชาญของคุณด้วยวิธีการอื่น ๆ เหล่านั้นคุณยังสามารถดูได้ว่า OOP ในทีมหรือ บริษัท นั้นให้ความสำคัญกับความเข้มงวดเพียงใด


5

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

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

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


1
+1 สำหรับคำถามเกี่ยวกับสไตล์ดูเพิ่มเติมเกี่ยวกับสภาพแวดล้อมที่เหมาะสม . .
ไวแอตต์บาร์เน็ตต์

3

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

เตรียมอธิบายอย่างถี่ถ้วนสำหรับห้าหลักการแต่ละข้อว่าทำไมแต่ละข้อมีความสำคัญและอาจเกิดอะไรขึ้นกับรหัสซึ่งไม่สนใจหลักการนั้น

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