Python вопросы с собеседований
24.7K subscribers
508 photos
16 videos
17 files
404 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
Download Telegram
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.iss.one/ai_machinelearning_big_data
C++ t.iss.one/cpluspluc
Python: t.iss.one/pro_python_code
Хакинг: t.iss.one/linuxkalii
Devops: t.iss.one/devOPSitsec
АНАЛИЗ Данных: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_ci
Java: t.iss.one/javatg
Базы данных: t.iss.one/sqlhub
Linux: t.iss.one/linuxacademiya
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Docker: t.iss.one/DevopsDocker
Golang: t.iss.one/golang_interview
React: t.iss.one/react_tg
Rust: t.iss.one/rust_code
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
Собеседования МЛ: t.iss.one/machinelearning_interview
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc


💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
🖥 Справочник-шпаргалка по методологиям и паттернам на Python

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

В этой статье мы изучим методологии программирования и паттерны проектирования на Python.

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

Читать

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Scientific Computing with Python — это бесплатный интерактивный курс от FreeCodeCamp, созданный для изучения анализа данных с помощью Python.

Основные темы включают:

▪️ работу со строками;
▪️ List Comprehension;
▪️ основы алгоритмического дизайна;
▪️ структуры данных;
▪️ классы и объекты.

Цель курса — дать учащимся прочные навыки для работы с научными данными и их обработкой, используя Python.

🔗 Ссылка на курс

#курс #python

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полезные Паттерны проектирования

— Порождающие паттерны:

🔹Abstract Factory: Family Creator — Создает группы взаимосвязанных объектов.
🔹Builder: Lego Master — Пошагово создает объекты.
🔹Prototype: Clone Maker — Создает копии полностью подготовленных объектов.
🔹Singleton: One and Only — Создаёт объект, который существует в единственном экземпляре.

— Структурные паттерны:

🔹Adapter: Universal Plug — Соединяет объекты с разными интерфейсами.
🔹Bridge: Function Connector — Связывает то, как объект работает, с тем, что он делает.
🔹Composite: Tree Builder — Формирует древовидные структуры из простых и сложных частей.
🔹Decorator: Customizer — Добавляет новые возможности объектам, не изменяя их основную структуру.
🔹Facade: One-Stop-Shop — Представляет всю систему через один упрощенный интерфейс.
🔹Flyweight: Space Saver — Эффективно использует небольшие, многократно используемые объекты.
🔹Proxy: Stand-In Actor — Представляет другой объект, управляя доступом или действиями.

— Поведенческие паттерны:

🔹Chain of Responsibility: Request Relay — Передает запросы через цепочку объектов до тех пор, пока он не будет обработан.
🔹Command: Task Wrapper — Превращает запрос в объект, готовый к выполнению.
🔹Iterator: Collection Explorer — Доступ к элементам коллекции по одному.
🔹Mediator: Communication Hub — Упрощает взаимодействие между различными классами.
🔹Memento: Time Capsule — Сохраняет и восстанавливает состояние объекта.
🔹Observer: News Broadcaster — Уведомляет классы о изменениях в других объектах.
🔹Visitor: Skillful Guest — Добавляет новые операции в класс, не изменяя его.

💬 Какие паттерны вы использовали в реальных кейсах?
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте проверим ваши знания работы бинарного дерева поиска. Посмотрите на изображение и ответьте на вопрос ниже.

#викторина #bst
🤫 Некоторые популярные методы аутентификации

🔵 Базовая аутентификация:
Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.

🔵 Аутентификация с помощью токенов:
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.

🔵 Аутентификация OAuth:
Позволяет сторонним приложениям получать ограниченный доступ к ресурсам пользователя без раскрытия учетных данных, выдавая токены доступа после аутентификации пользователя.
Подходит для ситуаций, требующих контролируемого доступа к ресурсам пользователя сторонними приложениями или сервисами.

🔵 Аутентификация с использованием API-ключей:
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.

💬 Какой метод аутентификации вы считаете наиболее эффективным с точки зрения обеспечения безопасности и удобства использования в ваших приложениях?

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы работаете в области данных, вам предстоит пройти собеседование по SQL

Вот несколько кратких советов которые вы должны знать на собеседовании по SQL.

Начинающим
- Уметь объяснить различные типы объединений. Иногда я видел, что этот вопрос задается рекрутерами в качестве отборочного, чтобы убедиться, что они хотят взять вас на работу.
- Знать, когда в порядке выполнения операций в SQL используется HAVING, а когда WHERE.

Mid
- Понимать, как использовать оператор CASE внутри функции SUM или COUNT
- Знать, по крайней мере, 1-2 способа оптимизации запроса, и если вы решите, что одним из этих способов является создание индекса в таблице, то вы должны знать, какие плюсы и минусы есть у индекса.

Продвинутым
- Знать, как решить SQL задачу с использованием оконной функции и без нее.
- Понимать и уметь объяснить, что такое коррелированный подзапрос.
- Просто сошлитесь на то, что вы посмотрите на план выполнения запроса. Рекрутеры будут шокированы тем, что вы вообще знаете, что это такое.

@python_job_interview
Cтильная шпаргалка, объясняющая, как работает GIT.
💡 Гайд о том, как писать условные выражения с NumPy where()

Это подробный гайд от Real Python, Где показано:

- как написать простейшее условное выражение;
- как сделать выражение с несколькими условиями;
- как использовать транслирование массивов в условных выражениях;
- как не надо использовать np.where().

🔗 Читать
🖥 Быстрый совет Python

Используйте спецификатор `=` в f-строках, чтобы включить как имя переменной, так и ее значение в форматированную строку.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Как механизм interning влияет на сравнение строк в Python? Приведите пример, когда использование оператора == и оператора is для строк дает разные результаты. В каких случаях это знание может быть полезно?

❗️ В Python существует механизм interning, который используется для оптимизации хранения и сравнения строк. Interning автоматически применяет к коротким строкам, строкам с символами только из алфавита или строкам, которые часто используются в программе. Это означает, что такие строки могут быть закэшированы, и вместо создания нового объекта Python будет использовать уже существующий.

💡 Когда строка подвергается интернированию, все переменные, которые ссылаются на одну и ту же строку, фактически указывают на один и тот же объект в памяти. В этом случае операторы == (сравнение по значению) и is (сравнение по идентификатору объекта) будут возвращать одинаковый результат. Но если строки не закэшированы или были созданы динамически, то is может вернуть False, даже если строки равны по значению (==).

Пример:
# Строки, созданные вручную (будут интернированы)
a = "hello"
b = "hello"

print(a == b) # True, так как значения строк одинаковы
print(a is b) # True, так как строки интернированы и ссылаются на один объект

# Строки, созданные динамически (не всегда интернированы)
x = "".join(["hel", "lo"])
y = "hello"

print(x == y) # True, значения одинаковы
print(x is y) # False, так как x и y — это разные объекты в памяти

Когда это знание полезно:

🌟 Оптимизация памяти: Понимание работы интернирования позволяет эффективнее использовать память, особенно при работе с большим количеством однотипных строк.
🌟 Оптимизация скорости: Оператор is работает быстрее, чем == для строк, но его можно безопасно использовать только тогда, когда гарантированно известно, что строки интернированы (например, ключи в словарях или имена атрибутов).
🌟 Избегание ошибок: Если случайно использовать is вместо == для сравнения строк, особенно созданных динамически, это может привести к неожиданному поведению программы.

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Как реализовать менеджер контекста в Python с помощью класса? В каких случаях его стоит использовать? Приведите пример его реализации и покажите, как он работает


❗️Менеджеры контекста позволяют правильно управлять ресурсами, например, открытием и закрытием файлов, установлением и завершением соединений с базами данных или блокировкой и освобождением ресурсов в многопоточном программировании. Классический способ создания менеджера контекста — использование конструкции with. Менеджеры контекста помогают упрощать код и предотвращают утечки ресурсов, так как гарантируют выполнение завершающих действий даже при возникновении исключений.

Для создания менеджера контекста с помощью класса необходимо определить два метода:

enter() — код, выполняемый при входе в контекст (with).

exit(self, exc_type, exc_val, exc_tb) — код, выполняемый при выходе из контекста, даже если внутри возникло исключение.

💡Пример:

Допустим, у нас есть класс DatabaseConnection, который имитирует подключение к базе данных. Менеджер контекста будет обеспечивать автоматическое подключение и отключение от базы данных:

class DatabaseConnection:
def __init__(self, db_name):
self.db_name = db_name

def __enter__(self):
# Действия при входе в контекст
print(f"Connecting to database '{self.db_name}'...")
self.connection = f"Connection to {self.db_name}"
return self.connection # Возвращаем объект соединения

def __exit__(self, exc_type, exc_val, exc_tb):
# Действия при выходе из контекста (закрытие соединения)
print(f"Closing connection to '{self.db_name}'...")
self.connection = None
return False # Если возникло исключение, не подавлять его

# Использование менеджера контекста
with DatabaseConnection('test_db') as conn:
print(f"Using {conn} to execute queries...")

Результат выполнения:

Connecting to database 'test_db'...
Using Connection to test_db to execute queries...
Closing connection to 'test_db'...


💡Объяснение

🌟Метод enter() открывает соединение и возвращает его.

🌟Метод exit() автоматически вызывается при выходе из блока with и закрывает соединение.

🌟Если в блоке with возникнет исключение, оно будет передано в exit(), но не будет подавлено (return False).

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 Awesome-list советов по поступлению в аспирантуру и научной работе.

Репозиторий GitHub "advice", в котором содержится обширная коллекция ссылок на ресурсы, предлагающие советы по различным аспектам поступления в аспирантуру, проведения исследований и жизни в аспирантуре, в основном в области информатики, NLP и ML.

Автор репозитория - Shaily Bhatt, аспирант первого года обучения в Институте языковых технологий CMU и бывший сотрудник NLU Group в Google Research (Индия).

Содержание:

Заявки в аспирантуру:

🟢общие советы по заявкам;
🟢советы, специфичные для программ MS;
🟢советы по заявкам на предварительные докторские программы;
🟢советы о том, стоит ли получать докторскую степень;
🟢советы по выбору учебных заведений и научных руководителей.

Исследования:

🟠общие советы по исследованиям;
🟠советы для аспирантов;
🟠идеи для исследований;
🟠советы по написанию работ;
🟠советы по рецензированию;
🟠советы по чтению;
🟠советы по публикации и конференциям;
🟠советы по динамике отношений между научным руководителем и аспирантом;
🟠советы по научно-исследовательским стажировкам;
🟠советы по нетворкингу;
🟠советы по выступлениям и презентациям;
🟠советы по продуктивности;
🟠советы по борьбе с синдромом самозванца;
🟠советы по инструментам для исследований.

В репозитории также есть раздел "Список списков", в котором собраны ссылки на другие полезные ресурсы.


🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Resources #Github #Awesome
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Пет-проект на Python за 50 минут. Курс по FastAPI для начинающих (2024)

💡 В видео рассматривается создание простого проекта на Python с использованием FastAPI. Обсуждаются основные концепции, такие как маршрутизация, обработка запросов и использование зависимости. Программа охватывает создание RESTful API, работу с параметрами, развертывание приложения через Docker а также интеграцию с базой данных. Также приведены советы по развертыванию приложения и тестированию. Это видео подходит для начинающих, желающих быстро освоить FastAPI

🕞 Продолжительность: 50:00
🇷🇺 Видео на русском языке!

🔗 Ссылка: *клик*

#курс #python #docker #fastapi

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Ускорь Pandas в 20 раз, изменив всего одну строчку кода! 🔥

💡 Pandas часто бывает медленным из-за ограничений, таких как одноядерные вычисления и громоздкие DataFrame-ы. Но есть простое решение: FireDucks — библиотека с таким же API, как у Pandas, которая решает эти проблемы и значительно ускоряет обработку данных.

Как ускорить Pandas?

🌟 Просто замените импорт библиотеки:

Было:

import pandas as pd


Стало:

import fireducks.pandas as pd


🌟 Теперь ваш код работает быстрее без изменений логики! Попробуйте сами и убедитесь, как легко ускорить работу с большими данными! 🚀

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
💼 Обратное собеседование (reverse-interview) это список вопросов для соискателей.

Пункты не упорядочены и могут быть неприменимы к конкретной должности или виду работы. Вначале это был просто список вопросов, но со временем он стал включать ещё и те вещи, которых хотелось бы видеть больше, и «красные флажки», то есть вещи, которых хочется избегать. Ещё я обратил внимание, что многие люди, которых я собеседовал, не задавали эти вопросы, и, я думаю, это были упущенные возможности.

Разделы вопросов:
- Технологии
- Должность
- Команда
- Ваши будущие коллеги
- Компания
- Бизнес
- Удалённая работа
- Офисная работа
- Компенсация
- Больничный, декретный период, отпуск

📌 Вопросы

@python_job_interview