คำถามและคำตอบสัมภาษณ์การเขียนโปรแกรม 50 อันดับแรกที่ต้องรู้

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

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

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

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

สารบัญ ซ่อน

1. การเขียนโปรแกรมคอมพิวเตอร์คืออะไร?

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

กระบวนการนี้สามารถแบ่งออกเพิ่มเติมเป็น การออกแบบ การเข้ารหัส การดีบัก และการอัปเดต

2. การดีบักคืออะไร

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

3. คอมไพเลอร์คืออะไร?

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

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

4. พรีโปรเซสเซอร์คืออะไร?

พรีโปรเซสเซอร์คือโปรแกรมที่วิเคราะห์โค้ดคอมพิวเตอร์ที่เขียนขึ้นเพื่อค้นหาและตอบสนองความต้องการ เช่น ไลบรารีที่จำเป็น

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

5. Assembler คืออะไร?

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

ภาษาแอสเซมบลีโดยทั่วไปจะแสดงผลโดยคอมไพเลอร์ แม้ว่าจะสามารถเขียนโค้ดโดยตรงก็ได้ โปรแกรมแอสเซมบลีอาจประกอบด้วยโค้ด เช่น:

เอ็มวี เอเอช, 02เอช

แต่เมื่อคุณคอมไพล์เป็นโค้ดเครื่อง คุณจะได้แต่ตัวเลขศูนย์และหนึ่ง (เช่น 0110011110101010)

6. โปรแกรมทำงานอย่างไร?

ขั้นแรก ระบบปฏิบัติการจะโหลดโปรแกรมที่กำหนดจากพื้นที่จัดเก็บฮาร์ดดิสก์ไปยังหน่วยความจำระบบ (RAM) จากนั้นอนุญาตให้โปรแกรมดำเนินการโดยสั่งให้ CPU ดำเนินการต่อจากที่อยู่หน่วยความจำแรกของโปรแกรม CPU จะดำเนินการคำสั่งใดๆ ที่เห็น จากนั้นจึงย้ายไปยังคำสั่งถัดไป โดยมักจะทำซ้ำขั้นตอนนี้หลายล้านครั้งต่อวินาที

CPU 32 บิตจะรันคำสั่ง 32 บิต (4 ไบต์ คำคู่) พร้อมกันในขณะที่ CPU 64 บิตจะรันคำสั่ง 64 บิต (8 ไบต์ คำคู่) พร้อมกัน คำสั่งเหล่านี้ถูกสร้างไว้ใน CPU และแอสเซมเบลอร์จะแปลงโค้ดโปรแกรมเป็นเลขฐานสองที่แสดงที่อยู่คำสั่งของ CPU ดั้งเดิม

7. กำหนด รูทีนย่อย

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

8. กำหนด รหัสเครื่อง

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

โดยทั่วไปโค้ดเครื่องจักรจะถูกส่งออกโดยเครื่องแอสเซมเบลอร์ที่ได้รับการออกแบบสำหรับไมโครโปรเซสเซอร์ตระกูลนั้นๆ โดยเฉพาะ

9. อธิบาย ภาษาที่รวบรวมและภาษาที่ตีความ

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

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

10. ลูปคืออะไร?

ลูปคือโครงสร้างโค้ดที่สามารถทำซ้ำคำสั่งเฉพาะจนกว่าจะบรรลุเกณฑ์ที่กำหนด เกณฑ์นี้อาจรวมถึงการทำซ้ำจำนวนคงที่หรือการเปลี่ยนแปลงตัวแปรที่กำหนด

11. รายชื่อประเภทของลูปยอดนิยม

ภาษาคอมพิวเตอร์ต่างๆ จะตีความลูปด้วยวิธีที่แตกต่างกัน อย่างไรก็ตาม ประเภทลูปตระกูล C ที่นิยม ได้แก่:

  1. ลูป While() – อนุญาตให้เรียกใช้โค้ดเฉพาะได้ ตราบใดที่เป็นค่าบูลีน ในขณะที่() เป็นไปตามเงื่อนไขแล้ว
    ตัวอย่างเช่น ในขณะที่(2>1){พิมพ์(“yahoo!”)};.
  2. ลูป For(;;) – มีสำนวน 3 สำนวน (การเริ่มต้น; การประเมิน; การอัพเดต) ที่กำหนดเงื่อนไขในการทดสอบ รวมถึงวิธีการที่ยืดหยุ่นในการเพิ่มจำนวน นอกจากนี้ยังจะรันโค้ดอย่างน้อยหนึ่งครั้งอีกด้วย
  3. ทำ{} ลูป While() – ลูปประเภทนี้จะดำเนินการ ทำ{} รหัสอย่างน้อยหนึ่งครั้งก่อนที่จะกำหนดว่า ในขณะที่() สภาพก็ยังคงเป็นจริง

12. อธิบายการวนซ้ำและ Recursion

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

13. อธิบายงานของ หยุดพักและดำเนินการต่อ ในวงลูป

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

14. OOP คืออะไร?

OOP ย่อมาจาก Object Oriented Programming และเป็นรูปแบบการเขียนโปรแกรมที่นำการออกแบบซอฟต์แวร์ไปใช้โดยรอบข้อมูลและอ็อบเจ็กต์ มากกว่าบริเวณฟังก์ชันหรือขั้นตอน

15. การเขียนโปรแกรมเชิงกระบวนการคืออะไร

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

16. อธิบายการเขียนโปรแกรมเชิงฟังก์ชัน

การเขียนโปรแกรมเชิงฟังก์ชันเป็นรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ที่ใช้แนวทางการพัฒนาซอฟต์แวร์โดยใช้ฟังก์ชันแบบต่อเนื่องซึ่งไม่เปลี่ยนแปลงสถานะหรือข้อมูลของอาร์กิวเมนต์ที่ให้มา

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

17. อธิบาย ภาษาขั้นสูง

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

ภาษาการเขียนโปรแกรมระดับสูง เช่น C และ Python เข้าใจง่าย ในขณะที่ภาษาแอสเซมบลีระดับต่ำอาจสร้างความสับสนให้กับผู้ใช้ครั้งแรกได้มาก

18. รายการยอดนิยม ภาษาในระดับต่ำ

ภาษาการเขียนโปรแกรมระดับต่ำมีอยู่เพียงสองภาษาเท่านั้น: ภาษาแอสเซมบลีและโค้ดเครื่อง

19. กำหนดการโจมตีแบบ SQL Injection

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

20. ตารางใน SQL คืออะไร?

ตารางใน SQL หมายถึงชุดข้อมูลที่จัดกลุ่มเป็นคอลัมน์และแถว โดยแต่ละคอลัมน์จะมีชนิดข้อมูลที่แตกต่างกัน และคุณสามารถมีตารางได้หลายตารางในฐานข้อมูลเดียว นอกจากนี้ คุณยังสามารถค้นหาตารางได้มากกว่าหนึ่งตารางในครั้งเดียวอีกด้วย

คุณสร้างตารางด้วย:

สร้างตาราง table_name(ชนิดข้อมูลคอลัมน์1, ชนิดข้อมูลคอลัมน์2, ชนิดข้อมูลคอลัมน์3, …);

21. อธิบายความแตกต่างระหว่างวัตถุและคลาส

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

คุณสมบัติเหล่านี้จะต้องได้รับการกำหนดหรือเริ่มต้นด้วยค่าเริ่มต้นเป็นอย่างน้อย

22. หนึ่งเมกะไบต์มีกี่บิต?

8,000,000 เมกะไบต์มี 1 บิต เนื่องจาก 8 ไบต์เท่ากับ 10 บิต และ XNUMX เมกะเท่ากับ XNUMX บิต6.

23. กำหนดชนิดข้อมูลแบบลอยตัว

float คือประเภทข้อมูลที่แสดงตัวเลขที่มีเศษส่วนทศนิยม ซึ่งใช้ในสถานการณ์ที่ต้องการความแม่นยำสูงกว่าที่จำนวนเต็มมาตรฐานสามารถให้ได้ ตัวอย่างของ float ได้แก่:

0.013 

or 

25.932

24. HexaDecimal 0xFF ย่อมาจากอะไร

0xFF ย่อมาจากเลขฐานสิบ 255 หรือเลขฐานสอง 11111111 ส่วน 0x ย่อมาจากเลขฐาน 16 หรือเลขฐานสิบหก ซึ่งทำงานตั้งแต่ 1 ถึง 9 และทำงานต่อจาก A ถึง F เพื่อแสดง 15 ดังนั้น 0xF จึงเป็นเลขฐานสิบ 15 ในขณะที่ 0xFF จะเป็นเลขฐานสิบ 255

25. ชื่อประเภทของข้อผิดพลาดในการเขียนโปรแกรม

ข้อผิดพลาดในโปรแกรมคอมพิวเตอร์มี 3 ประเภทหลัก ได้แก่:

  1. ข้อผิดพลาดทางไวยากรณ์
  2. ข้อผิดพลาดเชิงตรรกะ
  3. ข้อผิดพลาดรันไทม์

26. ข้อผิดพลาดทางไวยากรณ์คืออะไร

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

27. ข้อผิดพลาดเชิงตรรกะคืออะไร?

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

28. Runtime Error คืออะไร

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

29. อธิบาย ภาษาที่พิมพ์แบบเข้มและแบบอ่อน

ภาษาที่มีการกำหนดประเภทข้อมูลอย่างเข้มงวดจะเข้มงวดเกี่ยวกับชนิดข้อมูลต่าง ๆ และวิธีการแปลงข้อมูลเหล่านั้น ในขณะที่ภาษาที่มีการกำหนดประเภทข้อมูลอย่างอ่อนแอจะมีข้อจำกัดน้อยกว่าเกี่ยวกับชนิดข้อมูลและคำจำกัดความของข้อมูลเหล่านั้น

ภาษาที่มีการระบุประเภทข้อมูลอย่างไม่ชัดเจนหลาย ๆ ภาษาจะแปลงประเภทข้อมูลโดยอัตโนมัติ ในขณะที่ภาษาที่มีการระบุประเภทข้อมูลอย่างเข้มงวดมักต้องมีการแปลงข้อมูลอย่างชัดเจน

30. สถาปัตยกรรม MVC คืออะไร

MVC ย่อมาจาก Model-View-Controller และเป็นรูปแบบการพัฒนาซอฟต์แวร์สำหรับอินเทอร์เฟซผู้ใช้ โดยจะแบ่งตรรกะของโปรแกรมออกเป็น 3 ส่วน

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

31. กำหนดนิยาม ขั้นตอนวิธี

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

ตัวอย่างอัลกอริทึม ได้แก่ การจดจำใบหน้า การค้นหาบน Google วิธีการผูกเชือกรองเท้า การเข้ารหัสข้อมูล และอื่นๆ

32 คืออะไร การเรียนรู้ของเครื่องจักร?

การเรียนรู้ของเครื่องจักรหรือ ML คือส่วนหนึ่งของปัญญาประดิษฐ์ซึ่งมุ่งเน้นไปที่การช่วยให้ระบบระบุรูปแบบและตัดสินใจด้วยตัวเองผ่านการใช้ข้อมูล

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

33. อะไรบ้าง นิพจน์ทั่วไป?

นิพจน์ทั่วไปหรือ Regex คือสตริงที่ใช้เพื่อกำหนดรูปแบบการค้นหาในเอกสารข้อความ ภาษาโปรแกรมต่างๆ จะใช้นิพจน์ทั่วไปหรือใช้ไลบรารี regex ยอดนิยม ตัวอย่าง regex ที่ใช้จับคู่ตัวอักษรทั้งหมดในข้อความ ได้แก่:

-

ขณะที่ต่อไปนี้ตรงกับไฟล์ mp3 เท่านั้น:

.+\.(mp3)$

34. ตัวดำเนินการโมดูลัส (%) ทำหน้าที่อะไร

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

มักใช้เพื่อทดสอบเลขคี่และเลขคู่โดยการหารจำนวนเต็มใดๆ ด้วย 2 โดยผลลัพธ์ที่เป็น 0 หมายถึงเลขคู่ และผลลัพธ์ที่เป็น 1 หมายถึงเลขคี่

35. อธิบาย กระบวนการแยกสาขา

การแตกแขนงมาจาก ส้อม() ฟังก์ชันในระบบ Unix และ Linux ที่สามารถใช้โดยกระบวนการที่กำลังทำงานเพื่อสร้างสำเนาของตัวเอง ดังนั้น กระบวนการแยกสาขาจึงเป็นการทำซ้ำกระบวนการเพื่อสร้างกระบวนการที่คล้ายกันสองกระบวนการและดำเนินการพร้อมกัน

ประเภทเพิ่มเติมของการแยกสาขาหมายถึงการนำโค้ดต้นฉบับของโครงการโอเพนซอร์สมาสร้างโปรแกรมใหม่ทั้งหมดจากโค้ดดังกล่าว

36. อธิบาย การเกิดกระทู้

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

37. ทำอะไร คำสงวน หมายความว่า?

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

38. รายชื่อคำสงวนที่ได้รับความนิยม

ภาษาต่างๆ มีคำสงวนที่แตกต่างกันขึ้นอยู่กับรูปแบบไวยากรณ์ของภาษานั้นๆ ต่อไปนี้เป็นคำสงวนที่นิยมใช้มากที่สุดในการเขียนโปรแกรม:

  1. IF
  2. TRUE
  3. FALSE
  4. สวิตช์
  5. ELSE
  6. กรณี
  7. บูลีน
  8. กลับ
  9. ฟังก์ชั่น
  10. BREAK
  11. GOTO

39. สตริงคืออะไร?

สตริงคือลำดับอักขระ มักอยู่ในอาร์เรย์และใช้เพื่อกำหนดข้อมูลข้อความ สตริงที่นิยมใช้มากที่สุดคือ "hello world"

40. ตัวแปรคืออะไร?

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

int = 0;

int ข = 1;

จากนั้นในระหว่างการดำเนินการจะมีการเปลี่ยนแปลง:

b = a+b; //b มีการเปลี่ยนแปลง

41. ค่าคงที่คืออะไร?

ค่าคงที่คือตัวแปรที่คาดว่าจะไม่เปลี่ยนแปลงระหว่างการทำงานของโปรแกรม ตัวอย่างที่ดีคือความเร็วแสงหรือเสียง ภาษาโปรแกรมต่าง ๆ ช่วยให้คุณกำหนดค่าคงที่ได้หลายวิธี ตัวอย่างเช่น ใน C:

const float middle_c = 261.62; // คีย์กลางบนเปียโนคือ 261.6255 Hz

42. กำหนดอาร์เรย์

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

การกำหนดอาร์เรย์ใน mql4 ทำได้ง่ายๆ ด้วย:

สตริง TextArray[100]; //อาร์เรย์ของสตริงจำนวนร้อยตัว

43 คืออะไร ฟังก์ชั่นโอเวอร์โหลดหรือเปล่า?

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

44. กำหนด โทรตามการอ้างอิง

การเรียกโดยอ้างอิงเป็นวิธีการส่งที่อยู่หน่วยความจำของอาร์กิวเมนต์ไปยังฟังก์ชัน ซึ่งตรงข้ามกับวิธีมาตรฐานในการส่งสำเนาค่าของอาร์กิวเมนต์ เป้าหมายของการเรียกอ้างอิงคือเพื่อให้ฟังก์ชันปรับเปลี่ยนอาร์กิวเมนต์โดยตรง

45. อธิบาย ตัวดำเนินการเลขคณิต

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

  1. การบวกหรือยูนารีบวก (+)
  2. การลบหรือยูนารีลบ (-)
  3. การคูณ (*)
  4. แผนก (/)
  5. โมดูลัส (%).

46. อธิบาย ดำเนินการทางตรรกะ

ตัวดำเนินการเชิงตรรกะคือคำหรือสัญลักษณ์ที่ใช้ในการดำเนินการตามตรรกะแบบมีเงื่อนไข ภาษาส่วนใหญ่มีตัวดำเนินการเชิงตรรกะเพียง 3 ตัวเท่านั้น:

  1. AND (&& ใน C, C++, JavaScript)
  2. OR (|| ใน C, C++, JavaScript)
  3. ไม่ (! ใน C, C++, JavaScript)

47. ตรรกะ 1 และ 0 =?

การดำเนินการเชิงตรรกะ 1 และ 0 จะทำให้คุณ เท็จ เนื่องจากตัวดำเนินการตัวที่สองคือ 0 และคุณต้องการให้ตัวดำเนินการทั้งสองตัวของการดำเนินการ AND ต้องเป็น 1 หรือ TRUE จึงจะได้ผลลัพธ์เป็นบวก

48. ตรรกะ NOT 1 =?

การดำเนินการ NOT 1 แบบตรรกะจะทำให้คุณ เท็จ เนื่องจากตัวดำเนินการ NOT จะปฏิเสธทุกสิ่งที่คุณให้มา ซึ่งหมายความว่ามันเปลี่ยน 1 เป็น 0 และ 0 เป็น 1 ดังนั้น การให้ตัวดำเนินการ 1 หรือ TRUE จะให้ผลลัพธ์เป็น 0 หรือ FALSE

49. ตรรกะ 1 NAND 1 =?

การดำเนินการแบบลอจิก 1 NAND 1 จะสร้าง เท็จ เนื่องจากตัวดำเนินการทั้งสองตัวเป็น TRUE และตัวดำเนินการ NAND จะปฏิเสธอินพุตที่คล้ายกันสองตัวเสมอเพื่อสร้างเอาต์พุตที่ตรงกันข้าม

ดังนั้นหากการดำเนินการเป็น 0 แนนด์ 0, ผลลัพธ์จะเป็น 1 หรือ TRUE

50. ตรรกะ 1 XOR 1 =?

การดำเนินการเชิงตรรกะ 1 XOR 1 จะสร้าง เท็จ เนื่องจากในขณะที่การดำเนินการ OR ปกติจะให้ผลลัพธ์เป็น TRUE เมื่ออินพุตตัวใดตัวหนึ่งหรือทั้งคู่เป็น TRUE การดำเนินการ XOR (Exclusive OR) จะให้ผลลัพธ์เป็น TRUE เฉพาะเมื่ออินพุตตัวเดียวเท่านั้นและไม่ใช่อีกตัวหนึ่งเป็น TRUE

สรุป

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

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

นัมดีโอเคเกะ

นัมดีโอเคเกะ

Nnamdi Okeke เป็นผู้ชื่นชอบคอมพิวเตอร์และชอบอ่านหนังสือหลากหลายประเภท เขาชอบใช้ Linux มากกว่า Windows/Mac และได้ใช้
Ubuntu ตั้งแต่ช่วงแรกๆ คุณสามารถติดตามเขาได้ทาง Twitter บองโกแทร็กซ์

บทความ: 298

รับข่าวสารเกี่ยวกับเทคโนโลยี

แนวโน้มเทคโนโลยี แนวโน้มการเริ่มต้นธุรกิจ บทวิจารณ์ รายได้ออนไลน์ เครื่องมือเว็บและการตลาดเดือนละครั้งหรือสองครั้ง