Техническое собеседование, зима 2025. 300к+. Проект: вертикальные видео. Опыт в резюме: 3.3 года. В начале спрашивали про предыдущий опыт.
Вопросы:
- Что такое команда git cherry-pick?
- Как создать генератор с помощью yield?
- Какие дандер-методы нужно реализовать для своего контекстного менеджера?
- Как создать асинхронный контекстный менеджер?
Все вопросы можно посмотреть на нашей платформе
#собес
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2🤝2
#статьи
📞 Фундаментальные шаблоны проектирования на Python
Разбираются классические паттерны на языке программирования python:
наблюдатель, адаптер, команда, компоновщик, декоратор, фасад, фабрика, итератор, заместитель, одиночка, состояние, шаблонный метод.
👉 Новости 👉 База вопросов
Разбираются классические паттерны на языке программирования python:
наблюдатель, адаптер, команда, компоновщик, декоратор, фасад, фабрика, итератор, заместитель, одиночка, состояние, шаблонный метод.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4❤🔥2
#полезное
📞 Совет по Python:
Для асинхронного чтения файлов используй
👉 Новости 👉 База вопросов
Для асинхронного чтения файлов используй
aiofiles
вместе с асинхронными генераторами — это позволит не блокировать event loop
при работе с большими файлами. Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #RabbitMQ
🤔 Что такое обмен сообщениями?
Обмен сообщениями - это способ взаимодействия между системами через отправку сообщений. Он обеспечивает слабую связанность, позволяя приложениям обмениваться данными независимо от их платформ и языков.
👉 Новости 👉 Платформа
Обмен сообщениями - это способ взаимодействия между системами через отправку сообщений. Он обеспечивает слабую связанность, позволяя приложениям обмениваться данными независимо от их платформ и языков.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#полезное
👋 Чувак собрал простого голосового ассистента на 70 строках кода на Python.
В проекте используются:
🔵 livekit — голосовой агент
🔵 AssemblyAI — для преобразования речи в текст
🔵 OpenAI — «мозг» агента, а также генерация аудио из текста
Что особенно классно —
он использовал turn detection от AssemblyAI, и это работает действительно круто
Turn detection сообщает ассистенту, когда собеседник закончил говорить, и пора отвечать.
Раньше для этого использовали паузы и тишину, но такой подход не всегда корректен (представьте, что человек делает паузу, диктуя номер карты). Новая версия turn detection гораздо надёжнее.
Запусти код и поговори с ассистентом. Всё ощущается гораздо естественнее, чем раньше.
Вот репозиторий: https://github.com/svpino/voice-assistant
Инструкции по запуску смотри в файле README.
👉 Новости 👉 База вопросов
В проекте используются:
Что особенно классно —
он использовал turn detection от AssemblyAI, и это работает действительно круто
Turn detection сообщает ассистенту, когда собеседник закончил говорить, и пора отвечать.
Раньше для этого использовали паузы и тишину, но такой подход не всегда корректен (представьте, что человек делает паузу, диктуя номер карты). Новая версия turn detection гораздо надёжнее.
Запусти код и поговори с ассистентом. Всё ощущается гораздо естественнее, чем раньше.
Вот репозиторий: https://github.com/svpino/voice-assistant
Инструкции по запуску смотри в файле README.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2
#Собес #RabbitMQ
🤔 Как работает RabbitMQ?
RabbitMQ обрабатывает сообщения через цепочку компонентов: продюсер отправляет сообщение в обмен, который перенаправляет его в очередь согласно правилам маршрутизации, а потребитель обрабатывает сообщение из очереди.
👉 Новости 👉 Платформа
RabbitMQ обрабатывает сообщения через цепочку компонентов: продюсер отправляет сообщение в обмен, который перенаправляет его в очередь согласно правилам маршрутизации, а потребитель обрабатывает сообщение из очереди.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2😁2
#Собес #RabbitMQ
🤔 Каковы недостатки RabbitMQ?
Основные недостатки RabbitMQ включают снижение доступности системы при перегрузке, возможность повторного потребления сообщений, риск потери сообщений без надлежащей конфигурации и сложности обеспечения унифицированного подхода к архитектуре.
👉 Новости 👉 Платформа
Основные недостатки RabbitMQ включают снижение доступности системы при перегрузке, возможность повторного потребления сообщений, риск потери сообщений без надлежащей конфигурации и сложности обеспечения унифицированного подхода к архитектуре.
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Trim a Binary Search Tree - LeetCode
Can you solve this real interview question? Trim a Binary Search Tree - Given the root of a binary search tree and the lowest and highest boundaries as low and high, trim the tree so that all its elements lies in [low, high]. Trimming the tree should not…
#ЛитКод
Задача: 669. Trim a Binary Search Tree
Дано корневое дерево двоичного поиска и нижняя и верхняя границы как low и high. Обрежьте дерево так, чтобы все его элементы лежали в диапазоне [low, high]. Обрезка дерева не должна изменять относительную структуру элементов, которые останутся в дереве (то есть любой потомок узла должен оставаться потомком). Можно доказать, что существует единственный ответ.
Верните корень обрезанного дерева двоичного поиска. Обратите внимание, что корень может измениться в зависимости от заданных границ.
Пример:
👨💻 Алгоритм:
1⃣ Если node.val > high, то обрезанное двоичное дерево должно находиться слева от узла.
2⃣ Если node.val < low, то обрезанное двоичное дерево должно находиться справа от узла.
3⃣ В противном случае обрезаем обе стороны дерева.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 669. Trim a Binary Search Tree
Дано корневое дерево двоичного поиска и нижняя и верхняя границы как low и high. Обрежьте дерево так, чтобы все его элементы лежали в диапазоне [low, high]. Обрезка дерева не должна изменять относительную структуру элементов, которые останутся в дереве (то есть любой потомок узла должен оставаться потомком). Можно доказать, что существует единственный ответ.
Верните корень обрезанного дерева двоичного поиска. Обратите внимание, что корень может измениться в зависимости от заданных границ.
Пример:
Input: root = [1,0,2], low = 1, high = 2
Output: [1,null,2]
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution:
def trimBST(self, root: TreeNode, low: int, high: int) -> TreeNode:
if not root:
return None
if root.val > high:
return self.trimBST(root.left, low, high)
if root.val < low:
return self.trimBST(root.right, low, high)
root.left = self.trimBST(root.left, low, high)
root.right = self.trimBST(root.right, low, high)
return root
Please open Telegram to view this post
VIEW IN TELEGRAM