

- Главная
- Каталог
- Интернет технологии
- Python | Вопросы собесов

Python | Вопросы собесов
Разбираем вопросы с собеседований на Python разработчика. Очень активная и лояльная аудитория.
Статистика канала
Полная статистикаchevron_right
with open("example.txt", "w", encoding="utf-8") as file:
file.write("Привет, мир!") # Записываем текст в файл
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read() # Читаем текст из файла
print(content){}
🟠Бинарные файлы (`BufferedReader`, `BufferedWriter`)
Эти файлы используются для работы с двоичными данными (изображениями, видео, аудиофайлами и т. д.).
with open("image.jpg", "rb") as file:
binary_data = file.read() # Читаем файл в бинарном режиме
print(binary_data[:10]) # Выведем первые 10 байтов
with open("copy.jpg", "wb") as file:
file.write(binary_data) # Записываем данные в новый файл{}
🟠Файлы ввода-вывода в памяти (`io.StringIO`, `io.BytesIO`)
Эти объекты представляют собой файловые буферы, которые хранят данные в оперативной памяти, а не на диске.
from io import StringIO
file = StringIO()
file.write("Привет, мир!") # Запись данных в буфер
file.seek(0) # Перемещаем указатель в начало
print(file.read()) # Читаем данные из буфера{}
Пример работы с BytesIO
:
from io import BytesIO
file = BytesIO()
file.write(b"Binary data") # Запись бинарных данных
file.seek(0)
print(file.read()) # Чтение данных{}
🟠Файловые объекты на основе сокетов, пайпов и других источников
Python позволяет работать с файловыми объектами, полученными из нестандартных источников, например, сокетов или каналов связи (pipes
).
import socket
s = socket.socket()
s.connect(("example.com", 80))
s.sendall(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
response = s.makefile("r", encoding="utf-8") # Создание файлового объекта
print(response.readline()) # Читаем первую строку HTTP-ответа
s.close(){}
Ставь 👍 и забирай 📚 Базу знаний
my_list = [1, "hello", 3.14]
print(my_list[1]) # "hello"{}
🟠Кортеж (Tuple)
Похож на список, но неизменяемый. Используется для данных, которые не должны быть изменены.
my_tuple = (10, 20, 30)
print(my_tuple[0]) # 10{}
🟠Множество (Set)
Неупорядоченная коллекция уникальных элементов. Удобно для работы с множествами (поиск пересечений, объединений и т.д.).
my_set = {1, 2, 3, 2}
print(my_set) # {1, 2, 3}{}
🟠Словарь (Dictionary)
Хранит пары ключ-значение. Очень эффективен для быстрого поиска данных по ключу.
my_dict = {"name": "Alice", "age": 25}
print(my_dict["name"]) # Alice{}
🚩Пользовательские структуры данных
Эти структуры создаются с помощью классов или других механизмов, доступных в Python. Они применяются для решения задач, которые не могут быть эффективно выполнены встроенными средствами.
🟠Стек (Stack)
Принцип работы: LIFO (последним пришел — первым ушел). Реализуется через список или collections.deque
.
stack = []
stack.append(10) # Добавление
stack.append(20)
print(stack.pop()) # Удаление последнего элемента (20){}
🟠Очередь (Queue)
Принцип работы: FIFO (первым пришел — первым ушел). Реализуется через collections.deque
или библиотеку queue
.
from collections import deque
queue = deque()
queue.append(10)
queue.append(20)
print(queue.popleft()) # 10{}
🟠Связный список (Linked List)
Элементы связаны друг с другом через указатели. Гибче массивов, но сложнее в реализации.
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
if not self.head:
self.head = Node(data)
else:
current = self.head
while current.next:
current = current.next
current.next = Node(data){}
Ставь 👍 и забирай 📚 Базу знанийПрошёл 4 технических собеседования, не ответил всего на 1 очень глубокий вопрос. Не понимаю, почему не дают оффер?Тут может сыграть множество факторов: 1️⃣- Удача: просто другому человеку по каким-то не зависящим от нас причинам повезло больше. Так бывает, ничего с этим не поделаешь, когда-то повезет и тебе. Кто-то чуть раньше закончил собеседование, чуть ближе живет к офису, чуть меньше просит и т.д. Не паримся и просто идем проходить собесы дальше, всё обязятельно придет. 2️⃣- Софт скилы: это уже НАМНОГО хуже 🤯 Запомни, разраб: каким бы скиловым в техническом плане ты ни был, тебя никогда не возьмут на работу, если ты не умеешь в софт скилы. © Джейсон Стетхем А что такое софт скилы❓ Это то, как ты общаешься с людьми, твоё поведение в спорных ситуациях, насколько с тобой комфортно общаться и умеешь ли ты слушать. Уже во всех компаниях внедрено правило: Если человек прошёл техническую часть НЕ идеально, но с отличными софт скилами - его возьмут НАМНОГО охотнее, чем человека с плохими софт скилами, который прошёл техническую часть идеально. Читай продолжение на канале ПитонЯра
from concurrent.futures import ProcessPoolExecutor
from PIL import Image
def process_image(image_path):
img = Image.open(image_path)
img = img.convert("L") # Перевод в черно-белый формат
img.save(f"processed_{image_path}")
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
with ProcessPoolExecutor() as executor:
executor.map(process_image, images){}
🚩Численные вычисления на больших данных (SIMD-операции, GPU-ускорение)
Если однотипные операции выполняются на большом массиве данных, их можно делать параллельно.
Умножение матриц (используется в нейросетях)
Обработка сигналов (FFT, фильтрация)
Физические симуляции
import numpy as np
A = np.random.rand(1000, 1000)
B = np.random.rand(1000, 1000)
C = A @ B # Быстрое умножение матриц (использует несколько ядер процессора){}
🚩Веб-запросы и сетевые операции
Когда программа ждет ответа от сервера, процесс простаивает. Можно запускать запросы асинхронно, чтобы делать их параллельно.
Скачивание файлов
Парсинг веб-страниц
Вызовы API
import asyncio
import aiohttp
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
async def main():
urls = ["https://example.com", "https://google.com"]
tasks = [fetch(url) for url in urls]
responses = await asyncio.gather(*tasks)
print(responses)
asyncio.run(main()){}
Ставь 👍 и забирай 📚 Базу знанийСтатистика
Отзывы канала
всего 2 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Python | Вопросы собесов — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 13.8K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 9.1, количество отзывов – 2, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 6153.84 ₽, а за 13 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий