18 parimat LISP-i intervjuu küsimust ja vastust (2025)
Siin on Lispi programmeerimisintervjuu küsimused ja vastused nii värsketele kui ka kogenud Lispi programmeerijakandidaatidele, et saada oma unistuste töökoht.
1) Selgitage, mis on LISP? Tooge näide mõnest LISP-s ehitatud populaarsest rakendusest?
LISP tähistab nimestiku töötlemist, see on ka kõrgetasemeline programmeerimiskeel, mis põhineb formaalsel funktsionaalsel arvutusel. Seda keelt kasutatakse andmesringidega hõlpsaks manipuleerimiseks. Seda kasutatakse Tehisintellekt. Mõned populaarsed LISP-sse ehitatud rakendused on
- Yahoo pood
- AutoCad
- G2
- Emacs
- Igor Graaver
Tasuta PDF-i allalaadimine: Lispi intervjuu küsimused ja vastused
2) Miks kasutatakse LISP-i tehisintellekti jaoks?
LISP-i kasutatakse tehisintellekti jaoks järgmistel põhjustel
- See toetab sümboolset programmeerimist ja vana AI põhines sümbolitel
- LISP on võimas. Koodi või andmete eristus on nõrgem, nii et see tundub laiendatav kui teised programmeerimiskeeled, mistõttu tundub see domeenispetsiifilise keelena
- See on suurepärane prototüüpimise tööriist ja aitab hästi probleeme lahendada
3) Näidake näitega, kuidas saate LISP-s kodeerida?
Peaaegu kõik LISP-is on funktsioon, isegi matemaatilised operaatorid. Näiteks (+ (* 5 3) 1 ) Väljund on 16, funktsioonid LISP-is avanevad ja suletakse sulgudega.
4) Mis on LISP programmeerimisstruktuur?
LISP programmeerimisstruktuur koosneb sümboolsetest avaldistest või s-avaldistest. S-avaldis koosneb kolmest kehtivast objektist
- Aatom: See on külgnevate märkide arv või jada
- Nimekirjad: Loend on aatomite või muude sulgudes olevate loendite jada
- String: Jutumärkides olevate märkide rühma nimetatakse stringiks. LISP-programme saab käivitada tõlgiga või kompileeritud koodina
5) Kuidas LISP-is andmetüüpe kategoriseeritakse?
LISP-is liigitatakse andmetüübid järgmiselt
- Skalaarsed tüübid: Numbritüübid, märgid, sümbolid jne.
- Andmete struktuur: loend, vektorid, bitivektorid ja stringid

6) Nimetage, mitut tüüpi muutujaid LISP on saadaval? Selgitage, millised on muutujad, mis on seotud ja millele on määratud väärtused?
LISP-s saadaolevate muutujate arv on kaks, üks on leksikaalne muutuja ja teine erimuutuja. Protseduuride parameeter on muutuv, mis on seotud ja millele on määratud väärtused.
7) Selgitage, mis on kohalikud muutujad?
Antud protseduuriga määratletakse kohalikud muutujad. Funktsioonis argumentidena nimetatud parameetreid nimetatakse ka kohalikeks muutujateks. Need on ligipääsetavad ainult vastava funktsiooni piires.
8) Selgitage, mis on LISP konstandid?
LISP-is on täitmise ajal konstandid muutujad, mis ei muuda kunagi oma väärtusi. Defconstanti konstruktsiooni abil deklareeritakse konstandid.
9) Kas LISP-funktsioone on võimalik kutsuda ka teistest keeltest?
LISP pakub "tagasihelistamise" funktsiooni, kui programmeerija seob võõrkeelse funktsiooni nime LISP-funktsiooniga, lingitakse see nende tagasikutsumisfunktsioonidega. Võõrfunktsiooniga peab programmeerija esitama tulemuse andmetüübid ja argumendid, et LISP saaks liideses teisendada.

10) Nimetage, millised on kolm funktsiooni, mida LISP nõuab?
Funktsioonide määratlemiseks kasutatakse makrot nimega defun, see vajab kolme argumenti
- Funktsiooni nimi
- Funktsiooni parameetrid
- Funktsiooni korpus
11) Selgitage, mis on LISP-is predikaat?
Predikaadid on ühte tüüpi funktsioonid, mis testivad oma argumente konkreetsete tingimuste jaoks ja tagastavad nullväärtuse, kui tingimus on väär, ja kui tingimus on tõene, hangib see mingi nullist erineva väärtuse.
12) Selgitage, mis tähtsus on LISP-is räsitabelil?
Räsitabeli andmestruktuur tähistab võtme ja väärtuse paaride kogumit, mis on järjestatud võtme räsikoodi alusel. Igal räsitabelis oleval üksusel on võtme/väärtuse paar ja seda kasutatakse kogus olevatele üksustele juurdepääsuks. Kui soovite võtme abil elementidele juurde pääseda, kasutatakse räsitabelit.
13) Selgitage LISP-vektoreid?
Vektorid on ühemõõtmelised massiivid, seega alamtüüp massiivi. Vektoreid ja loendeid koos nimetatakse jadadeks. LISP-l on nii fikseeritud pikkusega muutuv/lihtvektorid kui ka muutuva pikkusega vektorid, mis luuakse märksõnadega: reguleeritav ja täiteosuti.
14) Selgitage, mis on LISP-i atribuutide loend?
LISP-is tähistab sümbol andmeobjekte. See koosneb komponendist nimega Property list või plist. LISP võimaldab määrata sümbolitele atribuute. Atribuutide loend käivitatakse paarisarvuliste elementide loendina.
15) Nimetage, millised on LISP-is kasutatavad kaks eelmääratletud paketti?
LISP-is on kaks eelmääratletud paketti
- Tavaline Lisp: See sisaldab sümboleid kõigi määratletud funktsioonide ja muutujate jaoks
- Tavaline Lispi kasutaja: See kasutab paketti common-lisp ja kõiki teisi redigeerimis- ja silumistööriistadega pakette
16) Selgitage, mis on pesa ja millised on kõige sagedamini kasutatavad slotivalikud?
Slots pole muud kui muutujad, mis salvestavad andmeid või välju. Pesa kirjeldusel on vorm, kus iga valik on märksõna, millele järgneb nimi, väljend ja muud valikud. Kõige sagedamini kasutatavad pesa valikud on järgmised:
- :accessor funktsiooni-nimi
- :initform avaldis
- :initarg sümbol
17) Selgitage, mis on LISP-is CLOS? Millised on ühise lisp-objektisüsteemi eesmärgid?
Objektorienteeritud programmide kirjutamiseks sisaldab tavaline LISP operaatorite komplekti, mida ühiselt nimetatakse CLOS-iks või Common Lisp Object Systemiks. LISP ühine eesmärk on
- Et sobitada tavalist lispi loomulikul viisil, funktsionaalse tähise ja tavalise LISP-tüübi laiendamise osas
- Sujuva kasvutee ja lihtsate üleminekute pakkumiseks praegustele maitsete ja tavaliste ahelate kasutajatele
- Et pakkuda kihilist lähenemist
- Pakkuda nii platvorme rakenduste tõhusaks edastamiseks kui ka keele võimsaks programmeerimiskeskkonnaks
18) Selgitage, milleks LISP-s setq-i kasutatakse?
setq kasutatakse muutujate määramiseks LISP-is
Need intervjuu küsimused aitavad ka teie viva (suuline)
Imeline LISP.
Mulle meeldib LISP, eriti AutoLISP.
Ootan koostööd LISP-ga
Läbisin, välja arvatud üks küsimus, kuna see on valesti küsitud. Küsimus 10 küsib 3 funktsiooni, mida Lisp nõuab, kuid tegelikult soovite funktsiooni määratlemiseks vajalikke kolme elementi (mitte argumente). Siis on antud vastus õige.
Mulle meeldisid küsimused igal juhul. Ma arvan, et teid võetakse automaatselt tööle, kui nad küsivad 1. küsimuse ja teie silmad lähevad kohe särama ja nad peavad paluma teil vastamise lõpetada,