Сервисы
Назад

Вопрос:

Какой полный путь проходит код на python до исполнения?

Как часто спрашивают: Очень редко

Кто предложил: ALittleMoron


Ответ:

Перед исполнением код на Python проходит этап лексического анализа кода, после чего идет синтаксический анализ кода. За ним идет компиляция кода программы в байт-код и после этого идет исполнение виртуальной машиной этого байткода.

Лексический анализ - разбиение исходного кода программы на токены - минимальную единицу языка. В результате получается список токенов.

Синтаксический анализ - проверка входных токенов по грамматическим правилам языка. На выходе получается AST-дерево.

Компиляция в байт-код - перевод AST-дерева в низкоуровневые операции, которые понимает виртуальная машина Python.


Объяснение ответа на собеседовании:

Вопрос очень редкий, но всё же его иногда задают.

По сути, этим вопросом интервьюер пытается выяснить, на сколько глубоко кандидат понимает принципы, по которым работает язык, на котором он пишет код. На практике это знание неприменимо, разве что вы не ялвяетесь core разработчиком языка Python на языке C. Тогда это знание будет вам очень полезным. Но в таком случае вы должны понимать язык на гораздо более глубоком уровне.


Внешние ресурсы: