101 вопрос, на которые должен ответить Python-разработчик
Подборка из 101 вопроса для Python-разработчиков, на которые должен знать ответы любой специалист.
25К открытий26К показов
1. Что такое python?
2. В каком году написана первая статья про python?
3. Какие типы данных есть в python? На какие классы делятся?
4. Что такое лямбда-функция? Какое у неё назначение?
5. Что такое PEP 8?
6. Как получить документацию по атрибутам объекта?
7. Что такое docstring?
8. В чём разница между типами list и tuple?
9. Может ли быть индекс списка отрицательным?
10. Что значит конструкция pass?
11. Чем отличаются многопоточное и многопроцессорное приложение?
12. Как просмотреть методы объекта?
13. Что такое *args и **kwargs в определении функции?
14. Python полностью поддерживает ООП?
15. Что такое globals() и locals()?
16. Что хранится в атрибуте __dict__?
17. Как проверить файл .py на синтаксические ошибки, не запуская его?
18. Зачем в python используется ключевое слово self?
19. Что такое декоратор? Как написать собственный?
20. Что может быть ключом в словаре?
21. В чём разница между пакетами и модулями?
22. Как перевести строку, содержащую двоичный код (1 и 0), в число?
23. Для чего используется функция __init__?
24. Что такое слайс(slice)?
25. Как проверить, что один кортеж содержит все элементы другого кортежа?
26. Почему пустой список нельзя использовать как аргумент по умолчанию?
27. Что такое @classmethod, @staticmethod, @property?
28. Что такое синхронный код?
29. Что такое асинхронный код? Приведите пример.
30. Каким будет результат следующего выражения?
>>> -30 % 10
31. Для чего нужен метод id()?
32. Что такое итератор?
33. Что такое генератор? Чем отличается от итератора?
34. Для чего используется ключевое слово yield?
35. Чем отличаются __iter__ и __next__?
36. Что такое контекстный менеджер?
37. Как сделать python-скрипт исполняемым в различных операционных системах?
38. Как сделать копию объекта? Как сделать глубокую копию объекта?
39. Опишите принцип работы сборщика мусора в python
40. Как использовать глобальные переменные? Это хорошая идея?
41. Для чего в классе используется атрибут __slots__?
42. Какие пространства имен существуют в python?
43. Как реализуется управление памятью в python?
44. Что такое метаклассы и в каких случаях их следует использовать?
45. Зачем нужен pdb?
46. Каким будет результат следующего выражения?
>>> [0, 1][10:]
47. Как создать класс без слова class?
48. Как перезагрузить импортированный модуль?
49. Напишите декоратор, который будет перехватывать ошибки и повторять функцию максимум N раз.
50. Каким будет результат следующего выражения?
>>> len(' '.join(list(map(str, [[0], [1]]))))
51. Python — легкий язык. Согласны?
52. Какие проблемы есть в python?
53. Когда будет выполнена ветка else в конструкции try…except…else?
54. Поддерживает ли python множественное наследование?
55. Как dict и set реализованы внутри? Какова сложность получения элемента? Сколько памяти потребляет каждая структура?
56. Что такое MRO? Как это работает?
57. Как аргументы передаются в функции: по значению или по ссылке?
58. С помощью каких инструментов можно выполнить статический анализ кода?
59. Что будет напечатано в результате выполнения следующего кода?
60. Что такое GIL? Почему GIL всё ещё существует?
61. Опишите процесс компиляции в python.
62. Как тиражировать python код?
63. Что такое дескрипторы? Есть ли разница между дескриптором и декоратором?
64. Почему всякий раз, когда python завершает работу, не освобождается вся память?
65. Что будет напечатано в результате выполнения следующего кода?
66. Что такое интернирование строк? Почему это есть в python?
67. Как упаковать бинарные зависимости?
68. Почему в python нет оптимизации хвостовой рекурсии? Как это реализовать?
69. Что такое wheels и eggs? В чём разница?
70. Как получить доступ к модулю, написанному на python из C и наоборот?
71. Как ускорить существующий код python?
72. Что такое __pycache__? Что такое файлы .pyc?
73. Что такое виртуальное окружение?
74. Python — это императивный или декларативный язык?
75. Что такое менеджер пакетов? Какие менеджеры пакетов вы знаете?
76. В чём преимущества массивов numpy по сравнению с (вложенными) списками python?
77. Вам нужно реализовать функцию, которая должна использовать статическую переменную. Вы не можете писать код вне функции и у вас нет информации о внешних переменных (вне вашей функции). Как это сделать?
78. Что будет напечатано в результате выполнения следующего кода?
79. Как имплементировать словарь с нуля?
80. Напишите однострочник, который будет подсчитывать количество заглавных букв в файле.
81. Что такое файлы .pth?
82. Какие функции из collections и itertools вы используете?
83. Что делает флаг PYTHONOPTIMIZE?
84. Что будет напечатано в результате выполнения следующего кода?
85. Какие переменные среды, влияющие на поведение интерпретатора python, вы знаете?
86. Что такое Cython? Что такое IronPython? Что такое PyPy? Почему они до сих пор существуют и зачем?
87. Как перевернуть генератор?
88. Приведите пример использования filter и reduce над итерируемым объектом.
89. Что будет напечатано в результате выполнения кода?
>>> print(_)
90. Чем фреймворк отличается от библиотеки?
91. Расположите функции в порядке эффективности, объясните выбор.
92. Произошла утечка памяти в рабочем приложении. Как бы вы начали отладку?
93. В каких ситуациях возникает исключение NotImplementedError?
94. Что не так с этим кодом? Зачем это нужно?
95. Что такое магические методы(dunder)?
96. Объясните, почему такое возможно?
97. Что такое monkey patching? Приведите пример использования.
98. Как работать с транзитивными зависимостями?
99. Что будет напечатано в окне браузера?
100. Какие новые функции добавлены в python 3.10?
101. Почему иногда python так долго запускается (в Windows)?
Нашли ответы на все вопросы?
Да, с лёгкостью
Нет, некоторые вопросы оказались непростыми
25К открытий26К показов