Skip to content

egoribragimov/kb-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Пересдача Python

Ежеси на небеси

Пройдемся по базе

Теоретическая часть Модули, знание которых может быть полезно в ответах на вопросы: abc, argparse, asyncio, collections, concurrent.futures, contextlib, copy, cProfile, csv, enum, gc, glob, heapq, importlib, inspect, io, json, logging, mmap, multiprocessing, os, os.path, pdb, pickle, re, readline, select, selectors, signal, socket, struct, subprocess, sys, this, threading, time, timeit, unicodedata, unittest, unittest.mock, weakref
Список вопросов

  1. Базовые структуры данных. Встроенные типы данных. Оценка сложности базовых операций. Примеры уместного использования. Мутабельность и хешируемость. Структуры defaultdict, Counter, namedtuple, heapq, enum.
  2. Объектная модель Python. «Всё есть объект», type. Классы. Атрибуты объектов, классов. Методы. Статические и классовые методы. Наследование. Интроспекция.
  3. Модель памяти Python. Области видимости, время жизни объекта. Создание и удаление объектов. Поверхностное и глубокое копирование. Слабые ссылки. Сборка мусора в Python.
  4. Работа с текстовыми данными. Тип данных str. Юникод и кодировки. Текстовые файлы. Разбор текстовых данных. Регулярные выражения.
  5. Работа с бинарными данными. Типы данных bytes, bytearray, memoryview. Бинарные файлы. Разбор бинарных данных. Порядок байт, разрядность бинарных типов данных.
  6. Работа с файловой системой. Работа с файлами: поиск на ФС, открытие, чтение, запись и т.п. Чтение директорий. Получение метаинформации о файлах. Ошибки, возникающие при работе с файлами.
  7. Модули и пакеты. Импорт. Объект модуля, система дистрибуции пакетов в Python. Способы импортирования модулей. Относительные и абсолютные импорты. Пакеты. Система поиска и загрузки модулей.
  8. Многопоточное программирование. Многопоточность в Python. GIL. Обмен данными между потоками. Проблемы, специфичные для многопоточных программ. Использование пулов потоков.
  9. Процессы. Мультипроцессинг в Python. Запуск и коммуникация с другими программами. Обмен данными между процессами. Сигналы, пайпы, работа с общими дескрипторами. Использование пулов процессов.
  10. Асинхронное программирование. Кооперативная многозадачность. Мультиплексирование потоков ввода-вывода (select, poll, epoll). Event loop. async/await.
  11. Сериализация. Задачи сериализации, проблемы сериализации. Бинарные и текстовые форматы сериализации, специфичные для языка; общие форматы.
  12. Тестирование. Мотивация. Виды тестирования. Метрики качества тестов. Проблемы тестирования. Подходы к проектированию тестируемого ПО.
  13. Пользовательские интерфейсы. Обработка параметров запуска, переменные окружения. Виды интерфейсов: CLI, CUI, GUI и особенности ввода/вывода. Парадигмы машины и часов. Подходы к проектированию GUI на Python (на примере PyQt*, tkinter или аналогичных).
  14. Работа с сетью. Сетевые клиент и сервер. TCP и UDP сокеты. Синхронный и асинхронный приём-передача данных. Текстовые и бинарные протоколы. Проектирование протоколов передачи данных. Способы одновременной обработки нескольких подключений.
  15. Отладка, обработка ошибок, логирование. Способы оповещения об ошибках и обработки ошибок. Механизм исключений и менеджеры контекстов. Подходы к организации логирования.
  16. Профилирование. Задачи профилирования. Объекты профилирования. Способы профилирования, их преимущества и недостатки. Способы измерения времени работы программы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%