ฉันยังถามคำถามแบบนี้และฉันเห็นด้วยกับคำตอบส่วนใหญ่ บางทีมันอาจช่วยให้ผู้สัมภาษณ์เข้าใจว่าทำไมคำถามประเภทนี้ถึงมีความสำคัญ? สมมติว่าเรามีการตัดสินใจทางธุรกิจที่สำคัญในการทำและเพื่อที่จะทำเราจำเป็นต้องสร้างระบบใหม่ หากมีคนวิ่งเข้ามาหาคุณและถามว่าจะต้องใช้อะไรในการสร้างระบบที่ใช้ X คุณสามารถให้คำตอบที่ชาญฉลาดเพื่อทำนายความท้าทายและทรัพยากรที่จำเป็นได้หรือไม่?
โปรแกรมเมอร์จูเนียร์ไม่รู้ว่าจะเริ่มจากตรงไหน พวกเขายังไม่พร้อมที่จะเริ่มพูดโดยไม่ต้องระบุรายละเอียด โปรแกรมเมอร์อาวุโสจะเห็นทันทีว่ามีหลายแง่มุมของปัญหาและจะพยายามที่จะท้าทาย คุณไม่จำเป็นต้องออกแบบทุกด้านเพียงแค่ระบุความท้าทายทางสถาปัตยกรรมแล้วหาวิธีแก้ไข
พิจารณาปัญหาของ Google เอกสาร:
สิ่งหนึ่งที่น่าสนใจคือขนาดของการร้องขอที่กำลังจะมาถึง คุณไม่สามารถรับเซิร์ฟเวอร์เพียงเครื่องเดียวและปรับใช้รหัสของคุณได้ซึ่งเป็นการดำเนินการที่ใหญ่กว่า ผู้ให้สัมภาษณ์ที่ประสบความสำเร็จอาจเป็นศูนย์ในเรื่องนี้และจะอธิบายประเภทของทรัพยากรที่จะต้องใช้และความท้าทายทางเทคนิคบางอย่างในการดำเนินการในระดับนั้นด้วยแอปพลิเคชั่นที่ไม่เพียง แต่มีสถานะเท่านั้น
สิ่งที่น่าสนใจเกี่ยวกับ Google เอกสารก็คือคนหลายคนสามารถแก้ไขได้ในเวลาเดียวกัน ผู้ให้สัมภาษณ์ที่ประสบความสำเร็จจะสามารถพูดคุยเกี่ยวกับกลไกเพื่อให้แน่ใจว่าเอกสารที่ได้นั้นไม่ใช่ขยะและผู้สมัครที่ยอดเยี่ยมอย่างแท้จริงจะรู้ว่าวิธีการซิงโครไนซ์หรือการรวมการแก้ไขที่แตกต่างกันจะมีผลกระทบอย่างมากต่อประสิทธิภาพและ UX อาจจะพูดถึงเรื่องรูปแบบต่าง ๆ : เครื่องมือแก้ไขเอกสารที่ใช้ร่วมกันสำหรับการเขียนรหัสควรใช้วิธีการอื่นในการแก้ไขข้อขัดแย้งมากกว่า Google Doc ทั่วไปเนื่องจากมีผลกระทบที่แตกต่างกันไปตามลำดับที่ต่างกันหรือมีโครงสร้างที่แตกต่างกันเล็กน้อย
ไม่มีวิธีที่ถูกต้องในการสร้างแอปเช่น Google เอกสารคุณไม่จำเป็นต้องระบุสิ่งที่คุณจะทำสำหรับการแลกเปลี่ยนทุกครั้ง แต่มันยอดเยี่ยมมากในการหาพื้นที่ที่มีปัญหาที่น่าสนใจและอธิบายอย่างชัดเจนถึงการค้าขาย - รอบอาจจะ
t-