18 лучших вопросов и ответов на собеседовании по LISP (2024 г.)

Вот вопросы и ответы на собеседовании по программированию на Lisp для новичков, а также для опытных кандидатов в программисты на Lisp, которые смогут получить работу своей мечты.


1) Объясните, что такое LISP? Приведите пример некоторых популярных приложений, построенных на LISP?

LISP означает обработку списков, это также язык программирования высокого уровня, основанный на формальном функциональном исчислении. Этот язык используется для простого манипулирования строками данных. Он используется для Artificial Intelligence. Некоторые из популярных приложений, созданных на LISP:

  • Магазин Yahoo
  • AutoCad
  • G2
  • Emacs
  • Игорь Гравер

Бесплатная загрузка в формате PDF: Вопросы и ответы для интервью по Lisp


2) Почему LISP используется для искусственного интеллекта?

LISP используется для искусственного интеллекта по следующим причинам.

  • Он поддерживает символьное программирование, а старый ИИ был основан на символах.
  • LISP — это мощный инструмент. Различие между кодом и данными слабее, поэтому он кажется более расширяемым, чем другие языки программирования, что делает его похожим на язык, специфичный для предметной области.
  • Это отличный инструмент для прототипирования, который хорошо подходит для решения проблем.

3) Продемонстрируйте на примере, как можно кодировать на LISP?

Почти все в LISP является функциями, даже математические операторы. Например, (+ (* 5 3) 1 ) На выходе будет 16, функции в LISP открываются и закрываются скобками.


4) Какова структура программирования LISP?

Структура программирования LISP состоит из символических выражений или s-выражений. S-выражение состоит из трех допустимых объектов.

  • Атом: Это число или строка смежных символов.
  • Списки: Список — это последовательность атомов или других списков, заключенных в круглые скобки.
  • Строка: Группа символов, заключенная в двойные кавычки, называется строкой. Программы LISP можно запускать либо в интерпретаторе, либо в виде скомпилированного кода.

5) Как типы данных классифицируются в LISP?

В LISP типы данных делятся на

  • Скалярные типы: Типы чисел, символы, символы и т. д.
  • Структура данных: список, векторы, битовые векторы и строки
Вопросы для собеседования по LISP
Вопросы для собеседования по LISP

6) Укажите, сколько типов переменных доступно в LISP? Объясните, какие переменные связаны и которым присвоены значения?

В LISP доступно две переменные: одна — лексическая переменная, а другая — специальная переменная. Параметр процедур — это переменные, которые привязаны и имеют присвоенные им значения.


7) Объясните, что такое локальные переменные?

С помощью данной процедуры определяются локальные переменные. Параметры, называемые аргументами внутри функции, также называются локальными переменными. Они доступны только внутри соответствующей функции.


8) Объясните, что такое константы LISP?

В LISP константы во время выполнения — это переменные, которые никогда не меняют своих значений. Константы конструкции defconstant объявляются.


9) Можно ли вызывать функции LISP из других языков?

LISP предоставляет функцию «обратного вызова». Когда программист связывает имя функции на иностранном языке с функцией 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) Объясните, что такое слот и какие варианты слотов наиболее часто используются?

Слоты — это не что иное, как переменные, в которых хранятся данные или поля. Описание слота имеет форму, где каждая опция представляет собой ключевое слово, за которым следует имя, выражение и другие параметры. Наиболее часто используемые варианты слотов:

  • :имя функции доступа
  • :initform выражение
  • : символ инициализации

17) Объясните, что такое CLOS в LISP? Каковы цели общей объектной системы Lisp?

Для написания объектно-ориентированных программ общий LISP включает набор операторов, вместе они называются CLOS или Common Lisp Object System. Общая цель LISP —

  • Естественным образом соответствовать общему LISP с точки зрения функциональной записи и расширения общего типа LISP.
  • Обеспечить плавный путь роста и легкий переход для нынешних пользователей разновидностей и общих циклов.
  • Чтобы обеспечить многоуровневый подход
  • Обеспечить обе платформы для эффективной доставки приложений и язык для мощной среды программирования.

18) Объясните, для чего используется setq в LISP?

setq используется для установки переменных в LISP

Эти вопросы для собеседования также помогут вам в устной речи.

Поделиться

3 комментариев

  1. Аватара Джаялатха Саданандан говорит:

    Замечательный ЛИСП.

  2. Аватара Джаялатха говорит:

    Я люблю LISP, особенно AutoLISP.
    С нетерпением жду возможности поработать с LISP.

  3. Аватара Карстен Йоханссон говорит:

    Я прошел, за исключением одного вопроса, так как он задан неправильно. Вопрос 10 требует 3 функции, необходимые для Лиспа, но на самом деле вам нужны 3 элемента (не аргументы), необходимые для определения функции. Тогда данный ответ правильный.

    В любом случае вопросы мне понравились. Я думаю, вас автоматически принимают на работу, когда они задают вопрос 1, и у вас сразу загораются глаза, и вам приходится просить вас перестать отвечать,

Оставьте комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *