วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

10
ทำไมฉันถึงถามคำถามทั่วไปที่ไม่ใช่ด้านเทคนิคในระหว่างการสัมภาษณ์? [ปิด]
ฉันได้รับการสัมภาษณ์ทางโทรศัพท์ครั้งแรกที่ Amazon เมื่อสัปดาห์ที่แล้วและพวกเขาถามคำถามทางเทคนิคขั้นพื้นฐานระหว่างการสัมภาษณ์ครั้งนั้น วันนี้ฉันได้รับการสัมภาษณ์ทางโทรศัพท์ครั้งที่สองและฉันก็เตรียมตัวสำหรับการสัมภาษณ์ทางเทคนิคครั้งต่อไป แต่ก็ไม่ได้เป็นเรื่องทางเทคนิคเลย หลังจากเราแนะนำตนเองเขาถามคำถามเช่น: ทำไมคุณถึงชอบเขียนโปรแกรม? คุณไม่ชอบอะไรเกี่ยวกับการเขียนโปรแกรม? คุณคาดหวังอะไรจากงานใหม่? ในโครงการสุดท้ายที่คุณทำงานคุณแน่ใจได้อย่างไรว่าโครงการได้ดำเนินการตามข้อกำหนดของลูกค้า มีโครงการใดบ้างที่ระหว่างการพัฒนาคุณรู้สึกว่าการออกแบบไม่ดีและถ้าเป็นเช่นนั้นคุณทำอะไรเพื่อแก้ไขปัญหา ในฐานะวิศวกรคุณจะติดตามเทคโนโลยีใหม่ ๆ ได้อย่างไร? นอกจากนี้เมื่อฉันอธิบายให้เขาฟังเกี่ยวกับโครงการล่าสุดที่ฉันทำเขาถามฉันเกี่ยวกับสาเหตุที่เราตัดสินใจทำการออกแบบโดยเฉพาะและไม่ว่าจะเป็นการตัดสินใจของฉันหรือไม่ ฉันสงสัยว่าทำไมเขาถึงถามคำถามแบบนี้ เนื่องจากภาษาอังกฤษไม่ใช่ภาษาแม่ของฉันฉันจึงคิดว่าเหตุผลข้อหนึ่งคือเพื่อทดสอบความรู้ภาษาของฉัน และคำตอบส่วนใหญ่ที่ฉันให้กับเขานั้นสั้นมากและเนื่องจากฉันรู้สึกว่าเขาคาดหวังมากกว่านี้ฉันจึงพยายามหาสิ่งที่จะพูดและจบลงด้วยความผิดพลาด โดยรวมแล้วฉันคิดว่าการสัมภาษณ์แย่มากเพราะฉันไม่สามารถบอกคะแนนของเขากับเขาได้อย่างชัดเจน ทำไมฉันถึงถามคำถามประเภทนี้และผู้สัมภาษณ์คาดหวังว่าจะได้คำตอบแบบไหน?
41 interview 

6
เมื่อใดจึงจะใช้โปรแกรมเวิร์กโฟลว์
ฉันเคยทำงานกับเอ็นจิ้นเวิร์กโฟลว์บางตัวในฐานะโปรแกรมเมอร์ แต่ไม่เคยมีความชัดเจนว่าทำไมเราจึงเลือกเอ็นจิ้นการทำงานตามลำดับมาก่อน และในฐานะโปรแกรมเมอร์ฉันรู้ว่ามีอย่างน้อย 100 วิธีที่จะทำอะไรเมื่อคุณเขียนโค้ด แต่มีเพียงไม่กี่วิธีที่ดีที่สุด! ฉันยังไม่เข้าใจว่ากรณีการใช้งานใดที่แก้ไขได้ดีที่สุดโดยเอ็นจินเวิร์กโฟลว์ (หรือมากกว่าแนวคิดของพวกเขา) กว่าการออกแบบแอปพลิเคชัน DI ที่เปิดใช้งานได้ดี ฉันกำลังมองหาลักษณะทั่วไปของกรณีการใช้โดเมนที่เป็นกลางซึ่งเอ็นจินการทำงานของเวิร์กโฟลว์เป็นหนึ่งในตัวเลือกที่ดีที่สุด ดังนั้นคำถามของฉันคืออะไรลักษณะทั่วไปของความต้องการซึ่งสามารถนำมาเป็นสัญญาณสำหรับการเลือกสำหรับเครื่องยนต์เวิร์กโฟลว์ที่ดีและการเข้ารหัสรอบ ๆ มันคืออะไร?
41 workflows 

8
เครื่องพัฒนาควรอยู่ใน VM หรือไม่? [ปิด]
นี้โพสต์โดย Rob Conery (หมายเหตุกระสุน) กล่าวว่าสภาพแวดล้อมการพัฒนาที่ควรจะเรียกใช้ภายในเครื่องเสมือน ฉันเห็นสิ่งที่เขาพูดและมีแนวโน้มที่จะเห็นด้วย แต่ก็ยังรู้สึกไม่สบายใจเล็กน้อย ตอนนี้การทำเวอร์ชวลไลเซชันนั้นครบกำหนดแล้วแม้กระทั่งระบบการผลิตที่ใช้ความเร็วของ VM ก็ค่อนข้างจะไม่ใช่ปัญหา แต่อย่างที่ฉันพูดไป การทำเวอร์ชวลไลเซชันบนเครื่องของคุณเป็นอย่างไร คุณทำไปแล้วเหรอ? ถ้าคุณทำผิดพลาดหรือ gotchas ไปตามถนน?

19
ว่าจ้างโปรแกรมเมอร์สำหรับ บริษัท ขนาดเล็ก? [ปิด]
ฉันทำงานกับ บริษัท มาเกือบ 10 ปีและทุกครั้งที่เป็นเพียงตัวฉันโปรแกรมเมอร์คนอื่น (ซึ่งเป็นเพื่อนที่ดีและเป็นผู้ร่วมก่อตั้ง) และพนักงานขาย (ซึ่งเป็นเพื่อนด้วย) เราร่วมมือกันเพื่อทำธุรกิจที่เหมาะสมและเราทุกคนสามารถหาเลี้ยงชีพได้ แต่เราพยายามที่จะขยายเวลานานแล้ว น่าเสียดายที่มีปัญหาเล็กน้อย: เทคโนโลยีที่เราใช้นั้นไม่ล้าสมัย แต่ก็ไม่เป็นที่นิยมเมื่อเทียบกับตัวเลือกการพัฒนาเว็บไซต์อื่น ๆ เช่น PHP เราทำงานในตลาดที่มีการแข่งขันกับ บริษัท หลายล้านดอลลาร์ เราไม่สามารถจ่ายโปรแกรมเมอร์หรือพนักงานขายใหม่ได้เป็นอย่างดี เราทำเงินได้มากพอสำหรับตนเอง แต่ถ้าเราไม่ได้ลูกค้าใหม่จำนวนมากเราจะไม่สามารถจ่ายได้มากนัก เนื่องจากเราไม่สามารถจ่ายได้มากเราจึงใช้เทคโนโลยีที่หายากกว่านี้เล็กน้อยและเราแข่งขันกับ บริษัท ใหญ่ ๆ เราจึงพบว่าการหาโปรแกรมเมอร์หรือพนักงานขายใหม่เป็นเรื่องยาก เราหมดความต้องการที่จะขยาย แต่เมื่อเราพยายามที่จะได้ลูกค้าเพิ่มขึ้นเราไม่สามารถรองรับพวกเขาได้เมื่อมีคนไม่กี่คน (หรือความต้องการของพวกเขาเติบโตนอกเหนือจากความเชี่ยวชาญของเรา) และเมื่อเราพยายามจ้างโปรแกรมเมอร์และพนักงานขายใหม่ ไม่ได้รับคุณภาพสูงและมักจะไม่ให้ประโยชน์ที่สำคัญกับ บริษัท ของเรา ใครบ้างมีคำแนะนำหรือเคล็ดลับเกี่ยวกับวิธีการที่เราสามารถขยาย?
41 business 

5
การผกผันของการพึ่งพาเกี่ยวข้องกับฟังก์ชันลำดับสูงกว่าอย่างไร
วันนี้ฉันเพิ่งเห็นบทความนี้ซึ่งอธิบายถึงความเกี่ยวข้องของหลักการ SOLID ในการพัฒนา F # - F # และหลักการออกแบบ - SOLID และในขณะที่พูดถึงเรื่องสุดท้าย - "หลักการผกผันการพึ่งพา" ผู้เขียนกล่าวว่า: จากมุมมองของการทำงานภาชนะและแนวคิดการฉีดเหล่านี้สามารถแก้ไขได้ด้วยฟังก์ชั่นการสั่งงานที่ง่ายขึ้นหรือรูปแบบของรูที่อยู่ตรงกลางซึ่งสร้างขึ้นเป็นภาษาโดยตรง แต่เขาไม่ได้อธิบายเพิ่มเติม ดังนั้นคำถามของฉันคือการพึ่งพาการผกผันเกี่ยวข้องกับฟังก์ชันคำสั่งซื้อที่สูงขึ้นอย่างไร

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

3
การเรียนรู้ Erlang vs learning node.js [ปิด]
ฉันเห็นอึออนไลน์มากมายเกี่ยวกับวิธีที่ Erlang เตะ node.js ในทุกหมวดหมู่ที่เป็นไปได้ ดังนั้นฉันต้องการเรียนรู้ Erlang และให้ภาพ แต่นี่เป็นปัญหา ฉันพบว่าฉันมีเวลายากขึ้นในการรับ Erlang มากกว่าที่ฉันเคยเก็บโหนด ด้วย node.js ฉันสามารถเลือกโครงการที่ค่อนข้างซับซ้อนและในวันที่ฉันมีบางสิ่งบางอย่างทำงาน ด้วย Erlang ฉันวิ่งเข้าไปหาสิ่งกีดขวางและไม่เข้าใกล้อย่างรวดเร็ว ดังนั้น .. สำหรับผู้ที่มีประสบการณ์มากกว่าเออร์แลงมีความซับซ้อนในการเรียนรู้หรือฉันเพิ่งจะพลาดบางสิ่งบางอย่าง? Node.js อาจไม่สมบูรณ์แบบ แต่ฉันดูเหมือนจะสามารถทำสิ่งต่างๆให้สำเร็จได้
41 erlang  node.js 

13
การจัดการการแบ่งบรรทัดของ Python แตกต่างจากอัฒภาคอัตโนมัติของ JavaScript อย่างไร
Javascript มีคุณสมบัติที่เรียกว่าการแทรกเครื่องหมายอัฒภาคอัตโนมัติโดยทั่วไปถ้าตัวแยกวิเคราะห์พบโทเค็นที่ไม่ถูกต้องและโทเค็นสุดท้ายก่อนหน้านั้นคือการแบ่งบรรทัดแล้วตัวแยกวิเคราะห์จะแทรกเซมิโคลอนที่การแยกบรรทัดเป็น สิ่งนี้จะช่วยให้คุณสามารถเขียนรหัสจาวาสคริปต์ทั้งหมดโดยไม่มีเครื่องหมายอัฒภาค แต่คุณต้องระวังกรณีขอบบางกรณีส่วนใหญ่หากคุณมีคำหลักที่ส่งคืนและค่าที่คุณต้องการคืนในบรรทัดใหม่ function test(){ // This will return 'undefined', because return is a valid statement // and "john" is a valid statement on its own. return "john" } เนื่องจาก gotchas เหล่านี้มีบทความมากมายที่มีชื่อเช่น 'การแทรกเครื่องหมายอัฒภาคอัตโนมัติคือความชั่วร้าย', 'ใช้เครื่องหมายอัฒภาคใน Javascript เสมอ' เป็นต้น แต่ใน Python ไม่มีใครใช้เครื่องหมายอัฒภาคเลยและก็มี gotchas เหมือนกันทุกประการ def test(): # This will return 'undefined', …

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

5
อะไรคือความแตกต่างพื้นฐานระหว่าง C และ C ++ [ปิด]
หลายคนมักจะเขียน "C / C ++" ราวกับว่าพวกเขาเป็นสิ่งเดียวกัน แม้ว่าพวกเขาจะมีความคล้ายคลึงกันมากมาย แต่ก็ไม่เหมือนกันอย่างชัดเจน แต่อะไรคือความแตกต่างพื้นฐานระหว่าง C และ C ++ C ++ เป็นรุ่นปรับปรุงของ C หรือมีคุณสมบัติใน C ซึ่งไม่มีอยู่ใน C ++ หรือไม่
41 c++  c 

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

13
การเขียน“ รหัสดี” หมายความว่าอย่างไร [ปิด]
ในคำถามนี้ฉันถามว่าการเป็นนักเขียนที่ไม่ดีขัดขวางคุณจากการเขียนรหัสที่ดีหรือไม่ คำตอบหลายคำเริ่มต้นด้วย "ขึ้นอยู่กับความหมายของรหัสที่ดี" ปรากฏว่าคำว่า "รหัสที่ดี" และ "รหัสไม่ดี" เป็นอัตนัย เนื่องจากฉันมีมุมมองเดียวจึงอาจแตกต่างจากมุมมองของคนอื่นมาก ดังนั้นการเขียน "รหัสที่ดี" หมายความว่าอย่างไร "รหัสดี" คืออะไร?

18
ไวยากรณ์มีความสำคัญในภาษาโปรแกรมหรือไม่ [ปิด]
อาจารย์คนหนึ่งของฉันบอกว่า "ไวยากรณ์คือ UI ของภาษาการเขียนโปรแกรม", ภาษาอย่าง Ruby มีความสามารถในการอ่านได้ดีและกำลังขยายตัว แต่เราเห็นโปรแกรมเมอร์จำนวนมากทำงานด้วย C \ C ++ ดังนั้นโปรแกรมเมอร์จึงสำคัญสำหรับไวยากรณ์ ควรจะยอมรับได้หรือไม่ ฉันชอบที่จะรู้ความคิดเห็นของคุณเกี่ยวกับเรื่องนี้ คำเตือน: ฉันไม่ได้พยายามที่จะเริ่มต้นการโต้แย้ง ฉันคิดว่านี่เป็นหัวข้อสนทนาที่ดี อัปเดต: สิ่งนี้กลายเป็นหัวข้อที่ดี ฉันดีใจที่คุณทุกคนมีส่วนร่วม

10
Linus Torvalds หมายถึงอะไรโดยคำพูดของเขาเกี่ยวกับการพกพา [ปิด]
ในการถกเถียงกับ Andrew Tanenbaumเกี่ยวกับสถาปัตยกรรมระบบปฏิบัติการขนาดเล็กและขนาดใหญ่ลินุสทอร์วาลด์กล่าวว่า การพกพาสำหรับผู้ที่ไม่สามารถเขียนโปรแกรมใหม่ได้ เขาหมายความว่าอย่างไร

15
ระบบควบคุมเวอร์ชันที่คุณโปรดปรานคืออะไร? [ปิด]
นี่เป็นคำถามการอภิปรายมากกว่าความพยายามที่แท้จริงในการระบุ "ดีที่สุด" เนื่องจากความแตกต่างอย่างชัดเจนตามความต้องการขององค์กร ฉันอยากรู้มากขึ้นเกี่ยวกับข้อโต้แย้งในความโปรดปรานของระบบที่แตกต่างกันในหมวดหมู่ (ส่วนกลางเทียบกับกระจาย, เปิดเทียบกับกรรมสิทธิ์ ฯลฯ ) ดังนั้นคุณคิดว่าระบบการควบคุมเวอร์ชันที่ดีที่สุดคืออะไร?

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