Питання на екзамен з дисципліни "Архітектура комп'ютера. Програмне забезпечення"

Питання на екзамен з дисципліни

“Архітектура комп’ютера. Програмне забезпечення”

 

  1. Поняття архітектура комп’ютера.

  2. Багаторівнева модель архітектури комп’ютера.

  3. Числові типи даних в мові програмування Python.

  4. Рядкові типи даних в мові програмування Python.

  5. Операції над цілочисельними типами.

  6. Подання рядків, кодування. Операції над даними рядкових типів.

  7. Структури даних Python. Списки.

  8. Структури даних Python. Кортежі. Розпаковка кортежів та списків.

  9. Структури даних Python. Словники.

  10. Структури даних Python. Множини та frozenset.

  11. Оператор розгалуження в Python.

  12. Синтаксис циклу while в Python.

  13. Синтаксис циклу for в Python.

  14. Спискові вирази.

  15. Оператори break та continue, використання else після циклу.

  16. Визначення функцій в мові Python.

  17. Функції з параметрами по замовчуванню.

  18. Функції з довільною кількістю параметрів.

  19. Документуючі коментарі.

  20. Док-тести.

  21. Правило LEGB.

  22. Ключове слово global.

  23. Ключове слово nonlocal.

  24. Замикання.

  25. Функції як об’єкт першого класу.

  26. Визначення декораторів.

  27. Декоратори з параметрами.

  28. Композиція та часткове визначення функцій.

  29. Відкриття файлів в Python.

  30. Читання з файлу.

  31. Запис у файл.

  32. Контекст-менеджери в Python.

  33. Серіалізація засобами Pickle.

  34. Серіалізація засобами JSON.

  35. Визначення класів в Python.

  36. “Качина” типізація.

  37. Атрибути і методи класів. Параметр self.

  38. Метод ініціалізації класу.

  39. Методи для отримання рядкового подання класу.

  40. Спадкування в Python.

  41. Проблеми множинного спадкування.

  42. Алгоритм C3 для визначення порядку виклику методів.

  43. Правило виклику super().

  44. Перевизначення операторів порівняння.

  45. Перевизначення арифметичних операторів.

  46. Метод __hash__().

  47. Метод __new__().

  48. Метод __call__().

  49. Методи __getstate__() та __setstate__().

  50. Визначення декораторів за допомогою класів.

  51. Реалізація власних колекцій за допомогою спадкування.

  52. Реалізація власних колекцій за допомогою агрегації.

  53. Протокол ітератора.

  54. Оператор yield.

  55. Патерн Singletone.

  56. Патерн “Абстрактна фабрика”.

  57. Патерн “Стратегія”.

  58. Патерн NullObject.

  59. Патерн Observer.

  60. Діаграми класів UML.

  61. Тестування коду за допомогою модуля unittest.

  62. Використання модулю unittest.mock.

  63. Створення XML-файлу за допомогою ElementTree.

  64. Парсінг XML-файлу за допомогою DOM-парсера.

  65. Парсінг XML-файлу за допомогою StAX-парсера.

  66. Парсінг XML-файлу за допомогою SAX-парсера.

  67. Розпаралелювання програмного коду за допомогою модулю threading.

  68. Механізми синхронізації в модулі threading.

  69. Створення пулу потоків за допомогою черги.

  70. Розпаралелювання програмного коду за допомогою модулю multiprocessing.

  71. Взаємодія між процесами.

  72. Реалізація мережевого клієнта з використанням сокетів.

  73. Реалізація ехо-сервера з використанням сокетів на основі потоків.

  74. Реалізація ехо-сервера з використанням сокетів на основі процесів.

  75. Реалізація асинхронного ехо-сервера з використанням сокетів.