คำถามและคำตอบสัมภาษณ์ 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 ชนิดข้อมูลจะถูกจัดประเภทเป็น

  • ประเภทสเกลาร์: ประเภทตัวเลข ตัวอักษร สัญลักษณ์ ฯลฯ
  • โครงสร้างข้อมูล: รายการ เวกเตอร์ บิตเวกเตอร์ และสตริง
คำถามสัมภาษณ์ LISP
คำถามสัมภาษณ์ LISP

6) ระบุว่า LISP มีตัวแปรกี่ประเภท? อธิบายว่าตัวแปรใดบ้างที่ถูกผูกไว้ และมีค่าที่กำหนดให้กับตัวแปรเหล่านั้น

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


7) อธิบายว่าตัวแปรท้องถิ่นคืออะไร?

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


8) อธิบายว่าค่าคงที่ LISP คืออะไร?

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


9) เป็นไปได้ไหมที่จะเรียกใช้ฟังก์ชัน LISP จากภาษาอื่น?

LISP มีฟังก์ชัน "call-back" เมื่อโปรแกรมเมอร์เชื่อมโยงชื่อฟังก์ชันภาษาต่างประเทศกับฟังก์ชัน LISP ชื่อฟังก์ชันจะเชื่อมโยงกับฟังก์ชันเรียกกลับเหล่านี้ ด้วยฟังก์ชันต่างประเทศ โปรแกรมเมอร์จะต้องระบุประเภทข้อมูลผลลัพธ์และอาร์กิวเมนต์ เพื่อที่ LISP จะทำการแปลงที่อินเทอร์เฟซ

คำถามสัมภาษณ์การเขียนโปรแกรม 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

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)

Share

3 คอมเมนต์

  1. รูปโพรไฟล์ ชยลธา สาดานันดัน พูดว่า:

    LISP ที่ยอดเยี่ยม

  2. รูปโพรไฟล์ ชยาลาธา พูดว่า:

    ฉันชอบ LISP โดยเฉพาะ AutoLISP
    รอคอยที่จะทำงานร่วมกับ LISP

  3. คาร์สเตน โจแฮนสัน พูดว่า:

    ฉันผ่านยกเว้นคำถามเดียวเนื่องจากถามผิด คำถามที่ 10 ถามถึง 3 ฟังก์ชันที่ Lisp ต้องการ แต่สิ่งที่คุณต้องการจริงๆ คือ 3 องค์ประกอบ (ไม่ใช่อาร์กิวเมนต์) ที่จำเป็นในการกำหนดฟังก์ชัน แล้วคำตอบที่ให้มาก็ถูกต้อง

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

เขียนความเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมาย *