Let's get real; cracking interviews is no piece of cake! You just not have to excel in terms of technical concepts, but also in terms of your presentation skills too! Ugh! Too much pressure, right!
Well, lad, I can feel you there
Even though I might not help you with the presentation skill which I, myself am bad at; I can surely help you with which I am good at: the technical round.
Well, in this blog, I will walk you through some of the most frequently asked Lisp Interview Questions which will help you understand the concept more thoroughly and effectively.
So, without wasting more time in my chit chats, let's proceed!
1) What do you mean by Lisp? Can you enlist some of the popular applications built using Lisp?
Lisp, the acronym for List Processing, is one of the oldest programming languages developed in 1959 by John McCarthy.
Lisp is a high-level programming language that is generally used for formal functional calculus and easier string manipulation. It is also widely used for Artificial Intelligence.
Some of the popular applications built using Lisp are:
- Yahoo Store
- Igor Engrave
2) What do you mean by Lisp Machine (LISPM)?
Lisp Machines (LISPM) refers to a general-purpose computer system with a high-level architecture that is developed to run Lisp as their programming language or the main software.
3) What are the various domains where Lisp is applied?
Various domains where Lisp is used are:
- Artificial Intelligence
- Data Mining
- Graphic and Animations
- Bioinformatics Devices Handling
- Semiconductor Applications
- Computer Aided Designs (CAD)
- Natural Language Processing (NLP)
- Modeling and Simulation
- B2B Marketplace Development
4) Why is Lisp used for Artificial Intelligence?
The reasons why Lisp is used for Artificial Intelligence are:
- As the earlier AI was based on symbols and Lisp utilizes symbolic programming.
- Lisp can be used for an effective problem solving and also serves as an excellent prototyping tool.
- Lisp, being a powerful programming language, makes it more extensible as compared to other programming languages, just like a domain-specific language.
5) What are the symbolic expressions in Lisp?
The symbolic expressions in Lisp are used as the syntactical expression which combines to form the statements, programs, and data in the form of either a list or an atom.
6) Demonstrate the programming structure used in Lisp.
Lisp codes can be executed in the form of either a compiled code or using an interpreter. The programming structure used in Lisp is:
- Atom which refers to the contagious string or numbers
- List which refers to the collection of atom sequence or other lists
- String which refers to the group of character enclosed within the double-quotes
7) What are the different data types used in Lisp?
There are mainly two data types which are used in Lisp:
- Scalar Types: including characters, numbers, symbols, etc.
- Data Structure: including strings, list, bit-vectors, and vectors.
8) Explain the types of variables present in Lisp programming.
There are two types of variables which are present in Lisp programming:
Lexical Variable (Global): These types of variables can be used throughout the code until a different value for the value is defined.
They are declared using defvar keyword.
(defvar x 123)
Dynamic Variable (Local): These types of variables are limited to the function inside which they are defined.
They are defined using the let or prog constructs.
(let ((x 'a) (y 'b)(z 'c))
(prog ((x '(a b c))))
9) What is a keyword argument in Lisp?
The keyword argument in Lisp can be defined as the general functional argument where instead of the position; keywords are used to pass the arguments to the function.
For example in the given code, the keyword subtitle acts as the keyword argument:
(define welcome (lambda (given #:subtitle name) (string-append "Welcome, " given " " surname))) > (welcome "Sam" #:subtitle "Joe") "Welcome, Sam Joe" > (welcome #:subtitle "Sia" "Taylor") "Welcome, Sia Taylor"
10) How many pre-defined packages are used in Lisp? Name them.
There are two pre-defined packages in Lisp including:
- Common Lisp including the symbols for all the defined variables and functions
- Common Lisp User including the common package and the package for debugging and editing tools.
11) What is the concept of the slot in Lisp?
Slots in Lisp refer to the variables which are used to store data. The various slot options available in terms of Slot in Lisp are:
- accessor function-name
- initform expression
- initarg symbol
12) Why is Hash table used in Lisp?
Hash tables in Lisp are used to manage the data structure. Every data in the hash table is stored in the form of a key/value pair, which is organized on the basis of the key's hash value.
The data can be later retrieved on the basis of the key and the associated value.
13) Can you explain what REPL is in context to Lisp?
REPL refers to the computer environment which is used to insert any input and generate a relevant output. It stands for:
Read: Read the file, parse the data to the data structure and store it in the memory.
Eval: Evaluating the data-structure by analyzing it.
Print: Printing the final output.
Loop: Running the commands in a loop until CTRL+C is pressed two times.
14) What is LG3 and how are the arguments passed in LG3?
LG3 is the code generator which is used to generate easy to run codes for Lisp programming.
The arguments are passed in LG3 by selecting the general operations from the menu option in LG3.
15) In Lisp, how can we check if two arguments and their values have the same expression?
To check whether two argument's values have the same expression in Lisp, equal primitive function (=) is used.
With this, I rest my blog on Interview questions for today. Do you want to learn more Lisp programming concepts?
Then you can also visit the Technical Interview Questions.
Additional advice from me: just be thorough with your technical concepts and keep practicing until the last day!
I hope you crack your interview with an ace. You can also share your interview experience and what they asked you in the comment box below to help other readers.
All the best!