Python собеседования
1.94K subscribers
340 photos
453 links
Подготовка к собеседованиям на позицию Python-разработчик

Еще больше на сайте https://frontview-it.ru

Backend - @frontview_backend
Python работа - @frontview_python_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
🔥 Что такое нормализация и стандартизация данных?

Нормализация и стандартизация данных — это методы предварительной обработки данных, которые помогают улучшить качество моделей машинного обучения.

- Нормализация: преобразует данные в определённый диапазон, обычно от 0 до 1. Это полезно, когда необходимо привести все признаки к единой шкале. Один из популярных методов нормализации — Min-Max нормализация:


from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
normalized_data = scaler.fit_transform(data)


- Стандартизация: преобразует данные так, чтобы они имели среднее значение 0 и стандартное отклонение 1. Это полезно, когда данные имеют нормальное распределение. Стандартизация часто используется в алгоритмах, чувствительных к масштабу данных, таких как SVM и K-Means:


from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
standardized_data = scaler.fit_transform(data)


Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
🔥 Как объединять строки в Python?

Объединение строк в Python можно выполнять несколькими способами, в зависимости от задачи и предпочтений.

- Конкатенация с помощью оператора +: простой способ объединить строки, но может быть неэффективным для большого количества строк.


str1 = "Hello"
str2 = "World"
result = str1 + " " + str2 # "Hello World"


- Метод join(): более эффективный способ объединения, особенно для списков строк.


words = ["Hello", "World"]
result = " ".join(words) # "Hello World"


- f-строки (f-strings): удобный способ форматирования и объединения строк, доступный с Python 3.6.


name = "World"
result = f"Hello {name}" # "Hello World"


- Метод format(): позволяет вставлять значения в строки.


result = "Hello {}".format("World") # "Hello World"


Каждый из этих методов имеет свои преимущества и может быть использован в зависимости от контекста.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥1
🔥 Что такое инкапсуляция?

Инкапсуляция — это один из ключевых принципов объектно-ориентированного программирования (ООП), который подразумевает скрытие внутренней реализации объекта и предоставление доступа к данным только через определённые методы. Это помогает защитить данные от некорректного использования и упрощает управление сложностью кода.

В Python инкапсуляция реализуется с помощью соглашений об именовании:

- Приватные атрибуты и методы: обозначаются одним или двумя подчёркиваниями в начале имени. Они не должны использоваться за пределами класса.


class MyClass:
def __init__(self):
self._protected_var = 1 # защищённый атрибут
self.__private_var = 2 # приватный атрибут

def __private_method(self):
pass # приватный метод


- Методы доступа (геттеры и сеттеры): используются для управления доступом к приватным атрибутам.


class MyClass:
def __init__(self):
self.__value = 0

def get_value(self):
return self.__value

def set_value(self, value):
if value >= 0:
self.__value = value


Инкапсуляция способствует созданию более надёжного и поддерживаемого кода.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153
🔥 Как работать с библиотекой SQLAlchemy?

SQLAlchemy — это библиотека для работы с базами данных в Python, которая предоставляет инструменты для объектно-реляционного отображения (ORM) и работы с SQL-запросами.

Для начала работы необходимо установить библиотеку:


pip install sqlalchemy


Создание подключения к базе данных осуществляется через объект create_engine:


from sqlalchemy import create_engine

engine = create_engine('sqlite:///example.db')


Для определения структуры таблиц используется декларативный стиль с помощью declarative_base:


from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String

Base = declarative_base()

class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)


Для взаимодействия с базой данных создаётся сессия:


from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()


Добавление и запрос данных:


new_user = User(name='Alice')
session.add(new_user)
session.commit()

users = session.query(User).filter_by(name='Alice').all()


Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3💯2
🔥 Что такое set и какие у него особенности?

set в Python — это неупорядоченная коллекция уникальных элементов. Он используется для хранения множества элементов без дубликатов и поддерживает операции над множествами, такие как объединение, пересечение и разность.

Создание множества можно выполнить с помощью фигурных скобок или функции set():


my_set = {1, 2, 3}
another_set = set([3, 4, 5])


Основные особенности set:

- Уникальность: все элементы в множестве уникальны. Добавление дубликата не изменит множество.
- Неупорядоченность: элементы не имеют фиксированного порядка, поэтому индексация недоступна.
- Изменяемость: элементы можно добавлять и удалять с помощью методов add() и remove().

Примеры операций над множествами:


union_set = my_set | another_set # {1, 2, 3, 4, 5}
intersection_set = my_set & another_set # {3}
difference_set = my_set - another_set # {1, 2}


set — это эффективный инструмент для работы с уникальными данными и выполнения операций над множествами.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122
🔥 Как использовать библиотеку NumPy для численных вычислений?

NumPy — это библиотека для Python, которая предоставляет поддержку многомерных массивов и матриц, а также функции для выполнения высокоуровневых математических операций.

Для начала работы необходимо установить библиотеку:


pip install numpy


Основной объект NumPy — это массив ndarray, который можно создать с помощью функции array():


import numpy as np

arr = np.array([1, 2, 3, 4])


NumPy поддерживает широкий спектр операций над массивами, включая арифметические операции, которые выполняются поэлементно:


arr2 = np.array([5, 6, 7, 8])
result = arr + arr2 # array([ 6, 8, 10, 12])


NumPy также предоставляет функции для линейной алгебры, статистики и других численных вычислений:


matrix = np.array([[1, 2], [3, 4]])
det = np.linalg.det(matrix) # Вычисление определителя
mean = np.mean(arr) # Среднее значение


NumPy оптимизирован для работы с большими объемами данных, что делает его незаменимым инструментом для научных и инженерных вычислений.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥1
🔥 Чем отличаются локальные и глобальные переменные?

Локальные переменные определяются внутри функции и доступны только в пределах этой функции. Они создаются при вызове функции и уничтожаются после её завершения. Это позволяет избежать конфликтов имен и сохранять память.

Пример локальной переменной:

def my_function():
local_var = 10 # Локальная переменная
print(local_var)

my_function()


Глобальные переменные определяются вне функций и доступны в любом месте программы. Они существуют в течение всего времени выполнения программы.

Пример глобальной переменной:

global_var = 20 # Глобальная переменная

def another_function():
print(global_var)

another_function()


Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥1
🔥 Как читать все содержимое файла сразу?

Для чтения всего содержимого файла сразу в Python используется метод read(). Этот метод считывает весь текст из файла и возвращает его в виде строки. Важно помнить, что файл должен быть открыт в режиме чтения.

Пример чтения файла:


with open('example.txt', 'r') as file: # Открытие файла в режиме чтения
content = file.read() # Чтение всего содержимого файла
print(content) # Вывод содержимого файла


Использование конструкции with гарантирует, что файл будет корректно закрыт после завершения работы с ним, даже если произойдет ошибка. Это делает код более безопасным и надежным.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
🔥 Что такое модуль sys?

Модуль sys в Python предоставляет доступ к некоторым переменным и функциям, взаимодействующим с интерпретатором Python и его окружением. Он позволяет управлять параметрами командной строки, стандартными потоками ввода и вывода, а также завершать выполнение программы.

Пример использования модуля sys:

import sys

# Получение аргументов командной строки
print(sys.argv) # Список аргументов, переданных скрипту

# Завершение программы с кодом выхода
sys.exit(0) # Завершение программы с кодом 0 (успешно)


Модуль sys полезен для создания скриптов, которые требуют взаимодействия с операционной системой или обработки аргументов командной строки.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
🔥 Что такое цепочка декораторов и как её использовать?

Цепочка декораторов в Python — это последовательное применение нескольких декораторов к одной функции. Каждый декоратор оборачивает функцию, добавляя или изменяя её поведение. Декораторы применяются сверху вниз, то есть сначала выполняется верхний декоратор, затем следующий и так далее.

Пример цепочки декораторов:

def decorator_one(func):
def wrapper(*args, **kwargs):
print("Decorator One")
return func(*args, **kwargs)
return wrapper

def decorator_two(func):
def wrapper(*args, **kwargs):
print("Decorator Two")
return func(*args, **kwargs)
return wrapper

@decorator_one
@decorator_two
def say_hello():
print("Hello!")

say_hello()


В этом примере сначала выполняется decorator_one, затем decorator_two, и только после этого вызывается say_hello(). Цепочка декораторов позволяет комбинировать различные аспекты поведения функции.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142🤔2
🔥 Что такое конструктор?

Конструктор в Python — это специальный метод класса, который автоматически вызывается при создании нового объекта этого класса. В Python конструктор обозначается методом __init__(). Он используется для инициализации атрибутов объекта и может принимать параметры для настройки объекта при его создании.

Пример конструктора:

class Car:
def __init__(self, make, model, year): # Конструктор класса Car
self.make = make # Инициализация атрибута make
self.model = model # Инициализация атрибута model
self.year = year # Инициализация атрибута year

my_car = Car('Toyota', 'Corolla', 2020) # Создание объекта с использованием конструктора


Конструктор позволяет задать начальное состояние объекта и обеспечивает гибкость при создании экземпляров класса.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132🔥1
🔥 Как использовать docstrings для документирования функций?

Docstrings в Python используются для документирования функций, классов и модулей. Они помогают разработчикам понять назначение и использование кода.

Docstring — это строка, заключённая в тройные кавычки, которая размещается сразу после определения функции. Она может содержать описание, параметры и возвращаемые значения.

Пример использования docstring для функции:


def add(a, b):
"""
Adds two numbers.

Parameters:
a (int or float): The first number.
b (int or float): The second number.

Returns:
int or float: The sum of a and b.
"""
return a + b


Docstrings можно извлекать с помощью функции help() или атрибута __doc__:


print(add.__doc__)


Использование docstrings улучшает читаемость и поддержку кода, предоставляя ясное описание функциональности.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153
🔥 Что такое специальные символы в строках?

Специальные символы в строках Python — это символы, которые имеют особое значение и используются для управления форматированием текста. Они начинаются с обратной косой черты \ и включают такие символы, как \n для новой строки, \t для табуляции и \\ для обратной косой черты.

Пример использования специальных символов:

text = "Hello,\nWorld!" # \n добавляет новую строку
print(text)

path = "C:\\Users\\Name\\Documents" # \\ используется для добавления обратной косой черты
print(path)


Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3
🔥 Что такое тип None?

Тип None в Python представляет собой специальное значение, которое используется для обозначения отсутствия значения или "ничего". Это объект, который является единственным экземпляром класса NoneType.

None часто применяется в следующих случаях:

1. Возврат функции: Если функция не возвращает явного значения, она по умолчанию возвращает None.

2. Инициализация переменных: Используется для инициализации переменных, значение которых будет установлено позже.

3. Проверка на отсутствие значения: Можно использовать для проверки, установлено ли значение переменной.

Пример использования None:


def example_function():
pass

result = example_function()
print(result is None) # Вывод: True


Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍132
🔥 Что такое рекурсия и как реализовать рекурсивную функцию?

Рекурсия в программировании — это метод, при котором функция вызывает саму себя для решения задачи. Рекурсивные функции обычно состоят из двух частей: базового случая и рекурсивного вызова. Базовый случай определяет условие завершения рекурсии, предотвращая бесконечные вызовы.

Пример рекурсивной функции для вычисления факториала числа:


def factorial(n):
if n == 0:
return 1 # Базовый случай
else:
return n * factorial(n - 1) # Рекурсивный вызов

print(factorial(5)) # Вывод: 120


Важно следить за тем, чтобы базовый случай был корректно определён, иначе функция может вызвать переполнение стека. Рекурсия полезна для задач, которые можно разбить на подзадачи, например, обход деревьев или решение задач, связанных с последовательностями.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121🔥1
🔥 Как избегать бесконечных циклов?

Бесконечные циклы в Python могут возникать, если условие завершения цикла никогда не выполняется. Чтобы избежать этого, важно правильно определить условия выхода и убедиться, что они могут быть достигнуты.

1. Проверка условий: Убедиться, что условия выхода из цикла корректны и могут изменяться в процессе выполнения цикла.

2. Итерация: Убедиться, что переменные, участвующие в условии, изменяются в теле цикла.

Пример избегания бесконечного цикла:


i = 0
while i < 10:
print(i)
i += 1 # Увеличение i для достижения условия выхода


В этом примере переменная i увеличивается на каждой итерации, что гарантирует выполнение условия выхода i < 10.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121🔥1
🔥 Как открыть файл для чтения и записи?

В Python для открытия файла в режиме чтения и записи используется функция open() с режимом 'r+'. Этот режим позволяет читать и изменять содержимое существующего файла. Если файл не существует, будет вызвана ошибка.

Пример открытия файла для чтения и записи:


with open('example.txt', 'r+') as file:
content = file.read() # Чтение содержимого файла
file.write('\nNew line added.') # Запись новой строки в файл


В этом примере файл example.txt открывается в режиме 'r+'. Сначала читается его содержимое, затем добавляется новая строка. Использование контекстного менеджера with гарантирует, что файл будет корректно закрыт после завершения операций.

Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1042
🔥 Что такое модуль random?

Модуль random в Python предоставляет функции для генерации случайных чисел и выполнения случайных операций. Он широко используется для задач, связанных с рандомизацией, таких как случайный выбор элементов, перемешивание последовательностей и генерация случайных чисел.

Основные функции модуля random:

1. random(): Возвращает случайное число с плавающей точкой в диапазоне от 0.0 до 1.0.

2. randint(a, b): Возвращает случайное целое число N, такое что a <= N <= b.

3. choice(seq): Возвращает случайный элемент из непустой последовательности seq.

4. shuffle(seq): Перемешивает последовательность seq на месте.

5. uniform(a, b): Возвращает случайное число с плавающей точкой в диапазоне от a до b.

Пример использования:


import random

print(random.random()) # Случайное число от 0.0 до 1.0
print(random.randint(1, 10)) # Случайное целое от 1 до 10
print(random.choice(['apple', 'banana', 'cherry'])) # Случайный выбор из списка


Ставь 👍, если было полезно!
Еще больше ответов для подготовки к собеседованиям на сайте 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥3👨‍💻2
🔵Для проверки типа переменной в Python используется встроенная функция type(). Она возвращает объект типа, который можно сравнить с другими типами.

Пример использования:
x = 10
print(type(x)) # <class 'int'>


🔵Для проверки принадлежности к определенному типу можно использовать функцию isinstance(). Она возвращает True, если объект принадлежит указанному типу или его подклассу.

Пример:
x = 10
print(isinstance(x, int)) # True


Эти методы помогают определить тип данных.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
💡Декоратор в Python — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию с добавленным поведением. Декораторы позволяют модифицировать или расширять функциональность функций без изменения их исходного кода.

Использование декораторов упрощает повторное применение одного и того же кода к нескольким функциям. Они часто применяются для логирования, контроля доступа, кэширования и валидации.

Пример декоратора:

def my_decorator(func):
def wrapper():
print("До вызова функции")
func()
print("После вызова функции")
return wrapper

@my_decorator
def say_hello():
print("Привет!")

say_hello()

В этом примере say_hello обернута декоратором my_decorator, который добавляет вывод до и после вызова функции.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥21