ฉันเป็นนักพัฒนาที่มีระดับ CS และมีประสบการณ์การทำงานในการพัฒนาในหลายภาษาเป็นเวลาเกือบ 3 ปี
วันนี้ฉันได้สัมภาษณ์โดยรวมแล้วมันค่อนข้างดีฉันเตรียมตัวสำหรับคำถามส่วนใหญ่และรู้สึกพร้อมสำหรับทุกสิ่ง ในตอนท้ายของการสัมภาษณ์พวกเขาให้คำถามหนึ่งคำถามกับฉัน ... ปัญหาเช่น FizzBuzz (โดยไม่ต้องพิมพ์หมายเลข) ฉันเชื่อว่าฉันทำผิดพลาดมากเกินไปและทำให้ "ล้มเหลว" ความหวังทั้งหมดสูญเสียสำหรับฉันหรือเปล่า
นี่คือรหัสของฉัน:
void FizzBuzz()
{
for(int i = 0; i <= 100; i++)
{
bool isThree = i % 3;
bool isFive = i % 5;
if (isThree)
{
print "Fizz\n";
}
else if(isFive)
{
print "Buzz\n";
}
else
{
print "FizzBuzz\n";
}
}
}
อย่างที่คุณเห็นฉันทำตัวยุ่งเหยิงของ bools ซึ่งควรจะมีไวยากรณ์ i% 3 == 0; หากฉันจำคำถามได้ถูกต้องฉันจะใส่คำถามอื่นแทนด้วยคำถามอื่นด้วย isThree && isFive ฉันค่อนข้างเครียด แต่นั่นไม่ใช่ข้อแก้ตัวสำหรับการพลาดปัญหาง่ายๆ
ดังนั้นคำถามคือความสำคัญในการผลิตรหัสการทำงานในจุดที่เกี่ยวข้องกับปัจจัยอื่น ๆ เช่นประสบการณ์และบุคลิกภาพ? ตัวอย่างเช่นรหัสข้างต้นจะเป็นตัวแบ่งการจัดการหรือไม่