Хочешь уверенно проходить IT-интервью?

Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.
💡 Почему Т1 тренажёр — это мастхэв?
- Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше
- Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
- Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.
Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов!
Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy
В начале этой статьи я бы хотел немного познакомиться с вами. Меня зовут Кирилл и достаточно долгое время я провел в должности тех. лида и, исходя из этого, мне нужно было часто проводить собеседования. Сам я Full-Stack и из-за частых собесов у меня сформировался определенный топ интересных вопросов, который я задаю на собеседовании.
1. Что такое метаклассы?
Метакласс – это класс, который определяет свойства других классов. С помощью метакласса мы можем определять свойства, которые следует добавлять в новые классы, определенные в нашем коде. То есть исходя из этого – метаклассы мы можем использовать в качестве конструктора для наших классов.

2. Что такое дескрипторы и как их использовать?
Если говорить в общем, то дескриптор — это атрибут объекта со связанным поведением (англ. binding behavior), т. е. такой, чьё поведение при доступе переопределяется методами протокола дескриптора. Эти методы: get
, set
и delete
. Если хотя бы один из этих методов определён для объекта, то он становится дескриптором. Стандартное поведение при доступе к атрибутам — это получение, установка и удаление атрибута из словаря объекта.

3. Что такое модификаторы доступа и как с ними работать?
Все поля, методы и остальные компоненты класса имеют модификаторы доступа. Модификаторы доступа позволяют задать допустимую область видимости для компонентов класса. То есть модификаторы доступа определяют контекст, в котором можно употреблять данную переменную или метод.
private: закрытый или приватный компонент класса или структуры. Приватный компонент доступен только в рамках своего класса или структуры. В Python объявляется с помощью двух нижних подчеркиваний __
.
protected: такой компонент класса доступен из любого места в своем классе или в производных классах. При этом производные классы могут располагаться в других сборках. В Python объявляется с помощью одного нижнего подчеркивания _
.
public: публичный, общедоступный компонент класса или структуры. Такой компонент доступен из любого места в коде, а также из других программ и сборок. В Python объявляется без нижних подчеркиваний.
Важно понимать, что подчеркивания несут скорее документальный характер, так как в Python модификаторов доступа нет и это лишь помощь в том, чтобы по коду было понятно с чем мы работаем

4. Почему числа не равны?
Это связано с тем что Python хранит данные данные от -5 до 256 в одной ячейке памяти, то есть две переменные будут указателями на одну ячейку в области памяти. Если цифра превышает этот лимит, то для нее создается отдельная ячейка в памяти.
Оператор is
проверяет указывают ли переменные на одинаковую область в памяти

5. Что такое каррирование?
Каррирование — продвинутая техника для работы с функциями. Она используется не только в Python, но и в других языках.
Каррирование — это трансформация функций таким образом, чтобы они принимали аргументы не как f(a, b, c), а как f(a)(b)(c).
Каррирование не вызывает функцию, оно только трансформирует её. Каррированием также называют уменьшение арности функции.

Мой канал в ТГ – https://t.me/ptworl. Мой канал в Ютубе – youtube.com/@ptworl
Комментарии