คำถามและคำตอบสัมภาษณ์ LISP 18 อันดับแรก (2025)
ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์การเขียนโปรแกรม Lisp สำหรับนักศึกษาใหม่รวมถึงผู้สมัครโปรแกรมเมอร์ Lisp ที่มีประสบการณ์เพื่อรับงานในฝัน
1) อธิบายว่า LISP คืออะไร? ยกตัวอย่างแอพพลิเคชั่นยอดนิยมบางตัวที่สร้างใน LISP?
LISP ย่อมาจาก List Processing ซึ่งเป็นภาษาการเขียนโปรแกรมระดับสูงโดยใช้แคลคูลัสเชิงฟังก์ชันอย่างเป็นทางการ ภาษานี้ใช้สำหรับการจัดการสตริงข้อมูลอย่างง่ายดาย มันใช้สำหรับ ปัญญาประดิษฐ์- แอปพลิเคชั่นยอดนิยมบางตัวที่สร้างใน LISP ได้แก่
- ร้านค้าของ Yahoo
- AutoCad
- G2
- Emacs
- อิกอร์ ช่างแกะสลัก
ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Lisp
2) เหตุใด LISP จึงใช้สำหรับปัญญาประดิษฐ์
LISP ใช้สำหรับปัญญาประดิษฐ์ด้วยเหตุผลดังต่อไปนี้
- รองรับการเขียนโปรแกรมเชิงสัญลักษณ์ และ AI แบบเก่าก็ใช้สัญลักษณ์เป็นหลัก
- เสียงกระเพื่อมนั้นทรงพลัง ความแตกต่างของโค้ดหรือข้อมูลอ่อนแอกว่า ดังนั้นจึงให้ความรู้สึกขยายได้มากกว่าภาษาโปรแกรมอื่นๆ ซึ่งทำให้รู้สึกเหมือนเป็นภาษาเฉพาะโดเมน
- เป็นเครื่องมือสร้างต้นแบบที่ยอดเยี่ยมและแก้ปัญหาได้ดี
3) สาธิตด้วยตัวอย่างว่าคุณสามารถเขียนโค้ดใน LISP ได้อย่างไร
เกือบทุกอย่างใน LISP นั้นเป็นฟังก์ชัน แม้แต่ตัวดำเนินการทางคณิตศาสตร์ก็ตาม ตัวอย่างเช่น (+ (* 5 3) 1 ) ผลลัพธ์จะเป็น 16 ฟังก์ชั่นใน LISP เปิดและปิดด้วยวงเล็บ
4) โครงสร้างการเขียนโปรแกรมสำหรับ LISP คืออะไร?
โครงสร้างการเขียนโปรแกรม LISP ประกอบด้วยนิพจน์สัญลักษณ์หรือนิพจน์ s s-expression ประกอบด้วยอ็อบเจ็กต์ที่ถูกต้องสามอ็อบเจ็กต์
- อะตอม: เป็นตัวเลขหรือสตริงของอักขระที่ต่อเนื่องกัน
- รายการ: รายการคือลำดับของอะตอมหรือรายการอื่นๆ ที่อยู่ในวงเล็บ
- สตริง: กลุ่มอักขระที่อยู่ในเครื่องหมายคำพูดคู่เรียกว่าสตริง โปรแกรม LISP สามารถทำงานบนล่ามหรือเป็นโค้ดที่คอมไพล์ได้
5) ประเภทข้อมูลถูกจัดประเภทใน LISP อย่างไร
ใน LISP ชนิดข้อมูลจะถูกจัดประเภทเป็น
- ประเภทสเกลาร์: ประเภทตัวเลข ตัวอักษร สัญลักษณ์ ฯลฯ
- โครงสร้างข้อมูล: รายการ เวกเตอร์ บิตเวกเตอร์ และสตริง
6) ระบุว่า LISP มีตัวแปรกี่ประเภท? อธิบายว่าตัวแปรใดบ้างที่ถูกผูกไว้ และมีค่าที่กำหนดให้กับตัวแปรเหล่านั้น
จำนวนตัวแปรที่มีอยู่ใน LISP คือสองตัว ตัวแรกคือตัวแปรคำศัพท์ และอีกตัวคือตัวแปรพิเศษ พารามิเตอร์ของโพรซีเดอร์เป็นตัวแปรซึ่งถูกผูกไว้และมีค่าที่จัดสรรไว้
7) อธิบายว่าตัวแปรท้องถิ่นคืออะไร?
ด้วยขั้นตอนที่กำหนด ตัวแปรท้องถิ่นจะถูกกำหนด พารามิเตอร์ที่ถูกตั้งชื่อเป็นอาร์กิวเมนต์ภายในฟังก์ชันจะเรียกว่าตัวแปรท้องถิ่นด้วย สามารถเข้าถึงได้เฉพาะภายในฟังก์ชันที่เกี่ยวข้องเท่านั้น
8) อธิบายว่าค่าคงที่ LISP คืออะไร?
ใน LISP ระหว่างการดำเนินการค่าคงที่คือตัวแปรที่ไม่เคยเปลี่ยนค่า การใช้ค่าคงที่การสร้างค่าคงที่จะถูกประกาศ
9) เป็นไปได้ไหมที่จะเรียกใช้ฟังก์ชัน LISP จากภาษาอื่น?
LISP มีฟังก์ชัน "call-back" เมื่อโปรแกรมเมอร์เชื่อมโยงชื่อฟังก์ชันภาษาต่างประเทศกับฟังก์ชัน LISP ชื่อฟังก์ชันจะเชื่อมโยงกับฟังก์ชันเรียกกลับเหล่านี้ ด้วยฟังก์ชันต่างประเทศ โปรแกรมเมอร์จะต้องระบุประเภทข้อมูลผลลัพธ์และอาร์กิวเมนต์ เพื่อที่ LISP จะทำการแปลงที่อินเทอร์เฟซ
10) พูดถึงฟังก์ชั่นทั้งสามที่ LISP ต้องการคืออะไร?
สำหรับการกำหนดฟังก์ชัน จะใช้มาโครชื่อ defun ซึ่งจำเป็นต้องมีอาร์กิวเมนต์สามตัว
- ชื่อของฟังก์ชัน
- พารามิเตอร์ของฟังก์ชัน
- เนื้อความของฟังก์ชัน
11) อธิบายว่าภาคแสดงใน LISP คืออะไร?
เพรดิเคตเป็นฟังก์ชันประเภทหนึ่งที่ทดสอบอาร์กิวเมนต์สำหรับเงื่อนไขเฉพาะ และส่งกลับค่าศูนย์หากเงื่อนไขเป็นเท็จ และหากเงื่อนไขเป็นจริง ก็จะดึงค่าที่ไม่ใช่ศูนย์บางส่วน
12) อธิบายว่าตารางแฮชใน LISP มีความสำคัญอย่างไร
โครงสร้างข้อมูลตารางแฮชแสดงถึงชุดของคู่คีย์และค่าซึ่งจัดเรียงตามรหัสแฮชของคีย์ แต่ละรายการในตารางแฮชมีคู่คีย์/ค่า และใช้เพื่อเข้าถึงรายการในคอลเลกชัน เมื่อคุณต้องการเข้าถึงองค์ประกอบโดยใช้คีย์ จะใช้ตารางแฮช
13) อธิบาย LISP-เวกเตอร์?
เวกเตอร์เป็นอาร์เรย์หนึ่งมิติ ดังนั้น จึงเป็นชนิดย่อยของ แถว- เวกเตอร์และรายการรวมกันเรียกว่าลำดับ LISP มีตัวแปรความยาวคงที่/เวกเตอร์แบบง่าย เช่นเดียวกับเวกเตอร์ความยาวผันแปรซึ่งสร้างขึ้นด้วยคำสำคัญ: ปรับและตัวชี้เติม
14) อธิบายว่ารายการทรัพย์สินใน LISP คืออะไร?
ใน LISP สัญลักษณ์แสดงถึงวัตถุข้อมูล ประกอบด้วยส่วนประกอบที่เรียกว่ารายการคุณสมบัติหรือ plist LISP ช่วยให้สามารถกำหนดคุณสมบัติให้กับสัญลักษณ์ได้ รายการคุณสมบัติถูกดำเนินการเป็นรายการภายในองค์ประกอบจำนวนคู่
15) พูดถึงแพ็คเกจที่กำหนดไว้ล่วงหน้าสองชุดที่ใช้ใน LISP คืออะไร?
แพ็คเกจที่กำหนดไว้ล่วงหน้าสองแพ็คเกจใน LISP ได้แก่
- เสียงกระเพื่อมทั่วไป: ประกอบด้วยสัญลักษณ์สำหรับฟังก์ชันและตัวแปรทั้งหมดที่กำหนดไว้
- ผู้ใช้เสียงกระเพื่อมทั่วไป: ใช้แพ็คเกจ common-lisp และแพ็คเกจอื่น ๆ ทั้งหมดพร้อมเครื่องมือแก้ไขและดีบัก
16) อธิบายว่าสล็อตคืออะไร และตัวเลือกสล็อตที่ใช้บ่อยที่สุดคืออะไร?
สล็อตไม่ใช่อะไรนอกจากตัวแปรที่จัดเก็บข้อมูลหรือเขตข้อมูล คำอธิบายช่องมีแบบฟอร์ม โดยแต่ละตัวเลือกคือคำสำคัญตามด้วยชื่อ สำนวน และตัวเลือกอื่นๆ ตัวเลือกสล็อตที่ใช้บ่อยที่สุดคือ:
- :ชื่อฟังก์ชัน accessor
- :นิพจน์รูปแบบเริ่มต้น
- :สัญลักษณ์ intarg
17) อธิบายว่า CLOS ใน LISP คืออะไร เป้าหมายของระบบวัตถุเสียงกระเพื่อมทั่วไปคืออะไร?
สำหรับการเขียนโปรแกรมเชิงวัตถุ LISP ทั่วไปจะรวมชุดของตัวดำเนินการ ซึ่งเรียกรวมกันว่า CLOS หรือ Common LISP Object System วัตถุประสงค์ทั่วไปของ LISP คือ
- เพื่อให้พอดีกับเสียงกระเพื่อมทั่วไปในลักษณะที่เป็นธรรมชาติ ในแง่ของสัญลักษณ์การทำงานและการขยายประเภท LISP ทั่วไป
- เพื่อให้เส้นทางการเติบโตราบรื่นและการเปลี่ยนแปลงที่ง่ายดายสำหรับผู้ใช้ปัจจุบันของรสชาติและลูปทั่วไป
- เพื่อให้แนวทางแบบชั้น
- เพื่อให้ทั้งสองแพลตฟอร์มสำหรับการส่งมอบแอปพลิเคชันและภาษาอย่างมีประสิทธิภาพสำหรับสภาพแวดล้อมการเขียนโปรแกรมที่มีประสิทธิภาพ
18) อธิบายว่า setq ใช้สำหรับอะไรใน LISP?
setq ใช้สำหรับตั้งค่าตัวแปรใน LISP
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)
LISP ที่ยอดเยี่ยม
ฉันชอบ LISP โดยเฉพาะ AutoLISP
รอคอยที่จะทำงานร่วมกับ LISP
ฉันผ่านยกเว้นคำถามเดียวเนื่องจากถามผิด คำถามที่ 10 ถามถึง 3 ฟังก์ชันที่ Lisp ต้องการ แต่สิ่งที่คุณต้องการจริงๆ คือ 3 องค์ประกอบ (ไม่ใช่อาร์กิวเมนต์) ที่จำเป็นในการกำหนดฟังก์ชัน แล้วคำตอบที่ให้มาก็ถูกต้อง
ฉันชอบคำถามทั้งสองวิธี ฉันคิดว่าคุณจะถูกจ้างโดยอัตโนมัติเมื่อพวกเขาถามคำถามที่ 1 และดวงตาของคุณเป็นประกายทันที และพวกเขาต้องขอให้คุณหยุดตอบ