Вопросы с собеседований #19
🔹Объясните разницу между deepcopy и shallow copy в Python.
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Объясните разницу между deepcopy и shallow copy в Python.
🔸
shallow copy
создаёт поверхностную копию объекта, что означает копирование только самого объекта, но не вложенных объектов. deepcopy
создаёт глубокую копию объекта, включая все вложенные объекты, создавая независимые копии всех уровней.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #20
🔹Как в Python работают декораторы?
🔸Декораторы — это функции, которые модифицируют или расширяют функциональность других функций или методов. Они принимают функцию в качестве аргумента и возвращают новую функцию, которая обычно вызывает оригинальную функцию и добавляет к ней дополнительные действия.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как в Python работают декораторы?
🔸Декораторы — это функции, которые модифицируют или расширяют функциональность других функций или методов. Они принимают функцию в качестве аргумента и возвращают новую функцию, которая обычно вызывает оригинальную функцию и добавляет к ней дополнительные действия.
def decorator_func(original_func):
def wrapper_func():
print("Something is happening before the function.")
original_func()
print("Something is happening after the function.")
return wrapper_func
@decorator_func
def say_hello():
print("Hello!")
say_hello()
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #21
🔹Как вы можете обработать исключения в Python?
🔸В Python исключения обрабатываются с помощью конструкции
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как вы можете обработать исключения в Python?
🔸В Python исключения обрабатываются с помощью конструкции
try-except
. В блоке try
помещается код, который может вызвать исключение, а в блоке except
— код для обработки возможных исключений. Можно также использовать finally
для кода, который выполнится независимо от того, произошло исключение или нет.try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero.")
finally:
print("This is executed regardless of exceptions.")
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #22
🔹Что такое генераторы и как они работают?
🔸Генераторы в Python — это функции, которые возвращают итератор и используются для генерации последовательности значений при запросе. Они определяются с помощью ключевого слова
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Что такое генераторы и как они работают?
🔸Генераторы в Python — это функции, которые возвращают итератор и используются для генерации последовательности значений при запросе. Они определяются с помощью ключевого слова
yield
вместо return
, что позволяет сохранять состояние функции между вызовами.def simple_generator():
yield 1
yield 2
yield 3
gen = simple_generator()
for value in gen:
print(value)
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #23
🔹Объясните разницу между list, tuple и set.
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Объясните разницу между list, tuple и set.
🔸
list
— изменяемая последовательность, допускающая дубликаты. tuple
— неизменяемая последовательность, также допускающая дубликаты. set
— изменяемое множество, не допускающее дубликаты и не гарантирует порядок элементов.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #24
🔹Как создать класс в Python?
🔸Класс создаётся с помощью ключевого слова
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как создать класс в Python?
🔸Класс создаётся с помощью ключевого слова
class
. В классе могут быть определены методы и атрибуты. Метод __init__
является конструктором класса и вызывается при создании нового объекта. Можно также определить другие методы, такие как str для строкового представления объекта.class Person:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hello, my name is {self.name}."
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #25
🔹Как Python реализует многопоточность и какие есть ограничения?
🔸В Python многопоточность реализована с помощью модуля
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как Python реализует многопоточность и какие есть ограничения?
🔸В Python многопоточность реализована с помощью модуля
threading
. Однако из-за Global Interpreter Lock (GIL) настоящая параллелизация потоков в CPython невозможна. GIL позволяет только одному потоку выполнять Python байт-код в данный момент времени. Для истинной параллельной обработки можно использовать модули multiprocessing
или asyncio
.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #26
🔹Что такое lambda функции и когда их стоит использовать?
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Что такое lambda функции и когда их стоит использовать?
🔸
lambda
функции — это анонимные функции, которые определяются с помощью ключевого слова lambda
. Они могут содержать только одно выражение и используются для создания небольших, одноразовых функций, например, в качестве аргумента для функции map
или filter
.add = lambda x, y: x + y
print(add(5, 3))
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #27
🔹Что такое SQL и для чего он используется?
🔸SQL (Structured Query Language) — это язык программирования, используемый для управления и манипуляции данными в базах данных. SQL позволяет выполнять запросы к базе данных, извлекать, обновлять, вставлять и удалять данные, а также управлять структурой базы данных.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Что такое SQL и для чего он используется?
🔸SQL (Structured Query Language) — это язык программирования, используемый для управления и манипуляции данными в базах данных. SQL позволяет выполнять запросы к базе данных, извлекать, обновлять, вставлять и удалять данные, а также управлять структурой базы данных.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Шардирование в SQL #1
🔸Это метод горизонтального разделения данных, при котором таблица базы данных разделяется на более мелкие, управляемые части, называемые "шардами". Каждая шарда хранит подмножество данных и располагается на отдельном сервере или узле базы данных. Это позволяет масштабировать базу данных путем добавления новых серверов, а не увеличения мощности одного сервера.
🔹Преимущества шардирования
🔸Масштабируемость: Позволяет обрабатывать большие объемы данных и увеличивать производительность базы данных путем добавления новых серверов.
🔸Производительность: Уменьшает нагрузку на один сервер, распределяя запросы и операции между несколькими серверами.
🔸Отказоустойчивость: Повышает отказоустойчивость системы за счет распределения данных и операций между несколькими узлами. Сбой одного узла не приводит к полной недоступности данных.
🔸Улучшение времени отклика: Разгружает отдельные сервера, что улучшает время отклика на запросы.
➡️Читайте нас в Telegram и Сетке
#Coderikk #SQL
🔸Это метод горизонтального разделения данных, при котором таблица базы данных разделяется на более мелкие, управляемые части, называемые "шардами". Каждая шарда хранит подмножество данных и располагается на отдельном сервере или узле базы данных. Это позволяет масштабировать базу данных путем добавления новых серверов, а не увеличения мощности одного сервера.
🔹Преимущества шардирования
🔸Масштабируемость: Позволяет обрабатывать большие объемы данных и увеличивать производительность базы данных путем добавления новых серверов.
🔸Производительность: Уменьшает нагрузку на один сервер, распределяя запросы и операции между несколькими серверами.
🔸Отказоустойчивость: Повышает отказоустойчивость системы за счет распределения данных и операций между несколькими узлами. Сбой одного узла не приводит к полной недоступности данных.
🔸Улучшение времени отклика: Разгружает отдельные сервера, что улучшает время отклика на запросы.
➡️Читайте нас в Telegram и Сетке
#Coderikk #SQL
Шардирование в SQL #2
🔹Основные подходы к шардированию
🔸Горизонтальное шардирование: разделение данных по строкам. Например, при шардировании таблицы пользователей по диапазонам идентификаторов (ID).
🔸Вертикальное шардирование: разделение данных по столбцам. Каждая шарда хранит подмножество столбцов таблицы.
🔸Диапазонное шардирование: данные разделяются на основе значений ключа шарда в определенных диапазонах.
🔸Хэш-шардирование: данные распределяются между шардами на основе хэш-функции, применяемой к ключу шарда.
🔸Географическое шардирование: данные разделяются на основе географической локации.
➡️Читайте нас в Telegram и Сетке
#Coderikk #SQL
🔹Основные подходы к шардированию
🔸Горизонтальное шардирование: разделение данных по строкам. Например, при шардировании таблицы пользователей по диапазонам идентификаторов (ID).
🔸Вертикальное шардирование: разделение данных по столбцам. Каждая шарда хранит подмножество столбцов таблицы.
🔸Диапазонное шардирование: данные разделяются на основе значений ключа шарда в определенных диапазонах.
🔸Хэш-шардирование: данные распределяются между шардами на основе хэш-функции, применяемой к ключу шарда.
🔸Географическое шардирование: данные разделяются на основе географической локации.
➡️Читайте нас в Telegram и Сетке
#Coderikk #SQL
Вопросы с собеседований #28
🔹Объясните разницу между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN.
🔸INNER JOIN: Возвращает только те строки, которые имеют совпадения в обеих таблицах.
🔸LEFT JOIN: Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если нет совпадений, возвращаются
🔸RIGHT JOIN: Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если нет совпадений, возвращаются
🔸FULL JOIN: Возвращает все строки из обеих таблиц. Если нет совпадений, возвращаются
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Объясните разницу между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN.
🔸INNER JOIN: Возвращает только те строки, которые имеют совпадения в обеих таблицах.
🔸LEFT JOIN: Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если нет совпадений, возвращаются
NULL
для столбцов правой таблицы.🔸RIGHT JOIN: Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если нет совпадений, возвращаются
NULL
для столбцов левой таблицы.🔸FULL JOIN: Возвращает все строки из обеих таблиц. Если нет совпадений, возвращаются
NULL
для столбцов отсутствующих строк.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #30
🔹Что такое агрегатные функции и приведите примеры.
🔸Агрегатные функции выполняют вычисления на наборе значений и возвращают одно значение.
Примеры включают:
🔸
🔸
🔸
🔸
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Что такое агрегатные функции и приведите примеры.
🔸Агрегатные функции выполняют вычисления на наборе значений и возвращают одно значение.
Примеры включают:
🔸
COUNT()
: Подсчитывает количество строк.🔸
SUM()
: Вычисляет сумму значений.🔸
AVG()
: Вычисляет среднее значение.🔸
MAX()
: Находит максимальное значение.🔸
MIN()
: Находит минимальное значение.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #31
🔹Как создать временную таблицу и какие у нее ограничения?
🔸Временные таблицы используются для хранения данных временно в рамках текущего сеанса или транзакции. Они создаются с помощью
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Как создать временную таблицу и какие у нее ограничения?
🔸Временные таблицы используются для хранения данных временно в рамках текущего сеанса или транзакции. Они создаются с помощью
CREATE TEMPORARY TABLE
. Временные таблицы автоматически удаляются после завершения сеанса или транзакции.CREATE TEMPORARY TABLE temp_table (
id INT,
value VARCHAR(100)
);
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #32
🔹Как использовать подзапросы в SQL?
🔸Подзапросы — это запросы, которые выполняются внутри другого запроса. Они могут использоваться в
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Как использовать подзапросы в SQL?
🔸Подзапросы — это запросы, которые выполняются внутри другого запроса. Они могут использоваться в
SELECT
, INSERT
, UPDATE
, и DELETE
. Подзапросы могут быть в WHERE
, FROM
или SELECT
частях основного запроса.SELECT employee_id, name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location = 'New York');
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #33
🔹Объясните разницу между WHERE и HAVING.
🔸WHERE: Используется для фильтрации строк перед агрегацией. Применяется к строкам таблицы.
🔸HAVING: Используется для фильтрации групп строк после агрегации. Применяется к результатам группировки.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Объясните разницу между WHERE и HAVING.
🔸WHERE: Используется для фильтрации строк перед агрегацией. Применяется к строкам таблицы.
🔸HAVING: Используется для фильтрации групп строк после агрегации. Применяется к результатам группировки.
SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 10;
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #34
🔹Как выполнить обновление данных в таблице?
🔸Для обновления данных используется оператор
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Как выполнить обновление данных в таблице?
🔸Для обновления данных используется оператор
UPDATE
, который позволяет изменить существующие строки в таблице. Не забудьте использовать WHERE
для ограничения обновлений.UPDATE employees
SET salary = salary * 1.05
WHERE department_id = 2;
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #35
🔹Как удалить дублирующиеся строки в таблице?
🔸Для удаления дублирующихся строк сначала можно использовать CTE (Common Table Expression) с функцией
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Как удалить дублирующиеся строки в таблице?
🔸Для удаления дублирующихся строк сначала можно использовать CTE (Common Table Expression) с функцией
ROW_NUMBER()
или RANK()
, чтобы идентифицировать дубликаты, а затем удалить их.WITH cte AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY id) AS row_num
FROM table_name
)
DELETE FROM cte
WHERE row_num > 1;
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
Вопросы с собеседований #36
🔹Как использовать оконные функции в SQL и приведите примеры?
🔸Оконные функции выполняют расчеты на наборе строк, определенном оконной функцией, не изменяя результат строки. Они используются с оператором
Примеры оконных функций:
🔸
🔸
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL
🔹Как использовать оконные функции в SQL и приведите примеры?
🔸Оконные функции выполняют расчеты на наборе строк, определенном оконной функцией, не изменяя результат строки. Они используются с оператором
OVER()
. Примеры оконных функций:
🔸
ROW_NUMBER()
: Присваивает уникальный номер строкам в пределах окна.🔸
RANK()
: Присваивает ранг строкам с учетом их значений и порядков.🔸
SUM()
, AVG()
: Выполняют агрегацию в пределах окна.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #SQL