Поиск  
Always will be ready notify the world about expectations as easy as possible: job change page
24 марта

101 вопрос, на которые должен ответить Python-разработчик

101 вопрос, на которые должен ответить Python-разработчик
Источник:
Просмотров:
1309

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. Что будет напечатано в результате выполнения следующего кода?

import sys
arr_1 = []
arr_2 = arr_1
print(sys.getrefcount(arr_1))

60. Что такое GIL? Почему GIL всё ещё существует?

61. Опишите процесс компиляции в python.

62. Как тиражировать python код?

63. Что такое дескрипторы? Есть ли разница между дескриптором и декоратором?

64. Почему всякий раз, когда python завершает работу, не освобождается вся память?

65. Что будет напечатано в результате выполнения следующего кода?

class Variable:

   def __init__(self, name, value):
      self._name = name
      self._value = value

   @property
   def value(self):
      print(self._name, 'GET', self._value)
      return self._value

   @value.setter
   def value(self, value):
      print(self._name, 'SET', self._value)
      self._value = value

var_1 = Variable('var_1', 'val_1')
var_2 = Variable('var_2', 'val_2')
var_1.value, var_2.value = var_2.value, var_1.value

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. Что будет напечатано в результате выполнения следующего кода?

def f_g():
   yield 43
   return 66

print(f_g())

79. Как имплементировать словарь с нуля?

80. Напишите однострочник, который будет подсчитывать количество заглавных букв в файле.

81. Что такое файлы .pth?

82. Какие функции из collections и itertools вы используете?

83. Что делает флаг PYTHONOPTIMIZE?

84. Что будет напечатано в результате выполнения следующего кода?

arr = [[]] * 5
arr_1, arr_2 = arr, arr
for k, arr in enumerate((arr_1, arr_2)):
   arr[0].append(k)
arr = (arr_1, 5, arr_2)
print(arr)

85. Какие переменные среды, влияющие на поведение интерпретатора python, вы знаете?

86. Что такое Cython? Что такое IronPython? Что такое PyPy? Почему они до сих пор существуют и зачем?

87. Как перевернуть генератор?

88. Приведите пример использования filter и reduce над итерируемым объектом.

89. Что будет напечатано в результате выполнения кода?

>>> print(_)

90. Чем фреймворк отличается от библиотеки?

91. Расположите функции в порядке эффективности, объясните выбор.

def f1(arr):
   l1 = sorted(arr)
   l2 = [i for i in l1 if i < .5]
   return [i * i for i in l2]

def f2(arr):
   l1 = [i for i in arr if i < .5]
   l2 = sorted(l1)
   return [i * i for i in l2]

def f3(arr):
   l1 = [i * i for i in arr]
   l2 = sorted(l1)
   return [i for i in l1 if i < (.5 * .5)]

92. Произошла утечка памяти в рабочем приложении. Как бы вы начали отладку?

93. В каких ситуациях возникает исключение NotImplementedError?

94. Что не так с этим кодом? Зачем это нужно?

if __debug__:
   assert False, ("error")

95. Что такое магические методы (dunder)?

96. Объясните, почему такое возможно?

_MangledGlobal__mangled = "^_^"

class MangledGlobal:

   def test(self):
       return __mangled

assert MangledGlobal().test() == "^_^"

97. Что такое monkey patching? Приведите пример использования.

98. Как работать с транзитивными зависимостями?

99. Что будет напечатано в окне браузера?


  
  
  
     
         print(__name__)
         print(__file__)
     

  

100. Какие новые функции добавлены в python 3.10?

101. Почему иногда python так долго запускается (в Windows)?

Похожее
27 мая
Автор: Марина Александровна
Уверены, что вопросы на собеседовании frontend — настоящая боль? Мы взяли на себя поиск наиболее популярных и дали на них развёрнутые ответы. Казалось бы, вопросы на собеседовании frontend разработчика Junior не должны отличаться от стандартных задачек с IT-сайтов. Даже мы...
26 июня
Рекрутер задался вопросом, почему на техсобесах «даже нормальные люди звереют» — да потому что интервьюер превращает собеседование в страшный экзамен или «соревнование» с кандидатом. Мы собрали 10+ историй о том, как айтишники сталкивались с «душнилами» на интервью. Мнение топикстартера: «интервьюеры...
24 марта
Автор: Елена Капаца
Разобрали ключевые отличия фреймворка от библиотеки и другими типами импортируемых объектов в Python с применением диаграмм. Реальные программы сложны и даже элементарный симулятор игральных костей требует большого количества кода. Чтобы упростить процесс, разработчики используют модульное программирование — разбивают задачи на...
Feb 3, 2022
Author: Satish Chandra Gupta
What if programming languages were stocks? And you had to make a portfolio to fetch good returns in 2022? You probably have seen various surveys and analyses listing the most popular programming languages. Those cover the universe of programming languages,...
Написать сообщение
Тип
Почта
Имя
*Сообщение