Разработчик Python под Linux (middle|senior)
Локация: Удаленно в РФ, весь мир (при наличии карты РФ для зп)
Компания: Ideco (Айдеко)
ЗП: от 250 000 до 400 000 р. (мидл), от 400 000 до 500 000 р. (сеньор)
Занятость: Полная
Ideco (Айдеко) аккредитованная ИТ-компания, разработчик софта в области информационной безопасности и сетевых технологий (Ideco NGFW, Ideco VPP)
Cтек технологий: Linux Fedora 35, Python 3.10 с постоянным обновлением до новой и стабильной версии, ETCD, Clickhouse, Asyncio, aiohttp.
Таски в разработке по-настоящему разные: от исправления шаблона конфига nginx до реализации приложений по обработке сетевого трафика. Придется постоянно работать на стыке бакенда и системы, поэтому знания Linux обязательны.
🚩 Обязанности:
🔵 Разрабатывать микросервисы с использованием Asyncio и AioHTTP;
🔵 Разрабатывать демоны по настройке и управлению сетью;
🔵 Писать системные утилиты в Linux;
🔵 Проектировать архитектуру системы и бэкендов;
🔵 Участвовать в code review;
🔵 Рефакторить - куда ж без этого.
🚩 Требования:
🔵 Опыт коммерческой разработки, уровень не ниже middle;
🔵 Уверенные навыки администрирования Linux;
🔵 Уверенное понимание сетевых протоколов, модели OSI, протоколов прикладного уровня (HTTP, TLS, FTP, SMB);
🔵 Опыт работы с Systemd;
🔵 Опыт работы с виртуализацией;
🔵 Опыт проектирования REST API.
🚩 От нас для тебя:
🔵 сложные, интересные проекты, минимум бюрократии
🔵 Сильная команда, постоянный обмен опытом
🔵 Понятные роли с прозрачными целями
🔵 Бонус за результативность
🔵 Внутренняя и внешняя реферальная программа
🔵 ДМС со стоматологией
🔵 Корпоративный английский
🔵 Конкурентная «белая» з/п
🔵 Возможность удаленной работы, в том числе за рубежом
🔵 Материальная помощь при важных событиях в жизни
💬 Резюме отправлять: @Drakonica
👉 Новости 👉 Платформа
Локация: Удаленно в РФ, весь мир (при наличии карты РФ для зп)
Компания: Ideco (Айдеко)
ЗП: от 250 000 до 400 000 р. (мидл), от 400 000 до 500 000 р. (сеньор)
Занятость: Полная
Ideco (Айдеко) аккредитованная ИТ-компания, разработчик софта в области информационной безопасности и сетевых технологий (Ideco NGFW, Ideco VPP)
Cтек технологий: Linux Fedora 35, Python 3.10 с постоянным обновлением до новой и стабильной версии, ETCD, Clickhouse, Asyncio, aiohttp.
Таски в разработке по-настоящему разные: от исправления шаблона конфига nginx до реализации приложений по обработке сетевого трафика. Придется постоянно работать на стыке бакенда и системы, поэтому знания Linux обязательны.
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Для чего можно использовать Celery?
🟠 Это инструмент для выполнения задач в фоновом режиме.
🟠 Используется для отправки уведомлений, обработки данных, построения отчётов и выполнения длительных операций вне основного потока.
🟠 Поддерживает планирование задач и распределённую обработку через брокеры, такие как RabbitMQ или Redis.
👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python создать функцию, которая принимает произвольное количество позиционных аргументов?
Anonymous Quiz
51%
def func(*args):
21%
def func(**args):
5%
def func(*kwargs):
24%
def func(**kwargs):
#ЛитКод
Задача: 624. Maximum Distance in Arrays
Вам дано m массивов, где каждый массив отсортирован по возрастанию. Вы можете взять два целых числа из двух разных массивов (каждый массив выбирает одно) и вычислить расстояние. Мы определяем расстояние между двумя целыми числами a и b как их абсолютную разность |a - b|. Верните максимальное расстояние.
Пример:
👨💻 Алгоритм:
1⃣ Найдите минимальный элемент из всех первых элементов массивов и максимальный элемент из всех последних элементов массивов.
2⃣ Рассчитайте максимальное расстояние между минимальным и максимальным элементами.
3⃣ Верните это максимальное расстояние.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 624. Maximum Distance in Arrays
Вам дано m массивов, где каждый массив отсортирован по возрастанию. Вы можете взять два целых числа из двух разных массивов (каждый массив выбирает одно) и вычислить расстояние. Мы определяем расстояние между двумя целыми числами a и b как их абсолютную разность |a - b|. Верните максимальное расстояние.
Пример:
Input: arrays = [[1,2,3],[4,5],[1,2,3]]
Output: 4
def maxDistance(arrays):
min_val = arrays[0][0]
max_val = arrays[0][-1]
max_distance = 0
for i in range(1, len(arrays)):
max_distance = max(max_distance, abs(arrays[i][-1] - min_val), abs(arrays[i][0] - max_val))
min_val = min(min_val, arrays[i][0])
max_val = max(max_val, arrays[i][-1])
return max_distance
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод используется для объединения всех элементов итерируемого объекта в одну строку?
Anonymous Quiz
15%
merge()
61%
join()
9%
concat()
15%
append()
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python можно получить список всех ключей из словаря?
Anonymous Quiz
51%
dict.keys()
12%
dict.getKeys()
21%
dict.listkeys()
16%
keys(dict)
#ЛитКод
Задача: 628. Maximum Product of Three Numbers
Задав целочисленный массив nums, найдите три числа, произведение которых максимально, и верните максимальное произведение.
Пример:
👨💻 Алгоритм:
1⃣ Отсортируйте массив nums.
2⃣ Найдите два возможных максимальных произведения: Произведение трех наибольших элементов массива. Произведение двух наименьших (отрицательных) и одного наибольшего элемента массива.
3⃣ Верните максимальное из двух найденных произведений.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 628. Maximum Product of Three Numbers
Задав целочисленный массив nums, найдите три числа, произведение которых максимально, и верните максимальное произведение.
Пример:
Input: nums = [1,2,3]
Output: 6
def maximumProduct(nums):
nums.sort()
max1 = nums[-1] * nums[-2] * nums[-3]
max2 = nums[0] * nums[1] * nums[-1]
return max(max1, max2)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что возвращает функция enumerate() при применении к списку?
Anonymous Quiz
20%
Список элементов
24%
Список индексов
50%
Итератор кортежей (индекс, элемент)
7%
Сумму элементов
#ЧеКак
🤔 Как можно гарантировать закрытие файла без использования with?
Для гарантированного закрытия файла можно использовать конструкцию try и
finally. Вблоке finally будет выполнено закрытие файла, даже если в процессе
работы с файлом возникнет ошибка.
👉 Новости 👉 Платформа
Для гарантированного закрытия файла можно использовать конструкцию try и
finally. Вблоке finally будет выполнено закрытие файла, даже если в процессе
работы с файлом возникнет ошибка.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python принудительно завершить выполнение программы?
Anonymous Quiz
22%
stop()
41%
exit()
27%
end()
10%
terminate()
#полезное
🤯 Делаем ошибки более читаемыми
В Python есть удобный модуль
Для того, чтобы он заработал, достаточно импортировать его в ваш код.
Читать документацию...
👉 Новости 👉 Платформа
В Python есть удобный модуль
pretty_errors
, который делает стандартный вывод исключений и их traceback более удобным для чтения. Для того, чтобы он заработал, достаточно импортировать его в ваш код.
Читать документацию...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какая функция используется для округления числа до ближайшего целого в Python?
Anonymous Quiz
59%
round()
31%
math.round()
2%
fix()
7%
floor()
#собес
🤯 Что такое контекстный менеджер?
Контекстный менеджер в Python управляет ресурсами, обеспечивая их автоматическое освобождение. Например, с помощью конструкции with open ('file.txt') as f: файл будет автоматически закрыт после завершения блока.
👉 Новости 👉 Платформа
Контекстный менеджер в Python управляет ресурсами, обеспечивая их автоматическое освобождение. Например, с помощью конструкции with open ('file.txt') as f: файл будет автоматически закрыт после завершения блока.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Парсинг сайта Avito с помощью Python (с нуля)
В этом видео я покажу основы парсинга HTML с помощью Python. Парсинг это выкачивание нужной нам информации с сайтов. Он применяется когда у нужного вам сайта нет публичного API. Для этого видео я выбрал вытягивание некоторой информации из объявлений на Авито: название, цена, дата размещения и ссылка. Работает с любым разделом сайта. Весь код написан на Python 3 с нуля.
Перейти к просмотру
В этом видео я покажу основы парсинга HTML с помощью Python. Парсинг это выкачивание нужной нам информации с сайтов. Он применяется когда у нужного вам сайта нет публичного API. Для этого видео я выбрал вытягивание некоторой информации из объявлений на Авито: название, цена, дата размещения и ссылка. Работает с любым разделом сайта. Весь код написан на Python 3 с нуля.
Перейти к просмотру
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Парсинг сайта Avito с помощью Python (с нуля)
В этом видео я покажу основы парсинга HTML с помощью Python. Парсинг это выкачивание нужной нам информации с сайтов. Он применяется когда у нужного вам сайта нет публичного API. Для этого видео я выбрал вытягивание некоторой информации из объявлений на Авито:…
#Собес
🤔 Что такое итератор?
Итератор - это обьект, который поддерживает протокол итерации. Он имеет методы
👉 Новости 👉 Платформа
Итератор - это обьект, который поддерживает протокол итерации. Он имеет методы
_iter_()
и _next__()
. Итераторы позволяют последовательно получать элементы коллекции, например, списка или строки, без необходимости загружать их все сразу в память.Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какая функция в Python используется для создания бесконечной последовательности чисел?
Anonymous Quiz
11%
iterate()
29%
loop()
46%
generate()
14%
iter()
#Вакансии
👨💻 Python разработчик Middle
Локация: Удаленно в РФ
Компания: Имплекс
ЗП: от 100 000 до 170 000 р. на руки
Занятость: Полная
🚩 Обязательные требования:
🔵 Уверенные знания Python;
🔵 Знание Docker;
🔵 Опыт работы с базами данных (Postgres, redis);
🔵 Понимание принципов CI/CD;
🔵 Опыт разработки на FastApi/Flask;
🔵 Опыт коммерческой разработки желательно от 3-х лет;
🔵 Опыт написания автотестов на pytest и опыт самостоятельного внедрения их в CI/CD пайплайн Gitlab;
🔵 Опыт реализации асинхронных 12-factor приложений с использованием RabbitMQ;
🔵 Опыт работы с механизмами распределенных трассировок (Jaeger,Zipkin,Tempo,Sentry);
🔵 Опыт в Aglie команде разработки состоящей из аналитиков, разработчиков, тестировщиков и тд.
🚩 Задачи на проекте:
🔵 Разрабатывать интеграции с платежными шлюзами/поставщиками данных;
🔵 Разрабатывать api;
🔵 Разрабатывать систему управления заказами.
Занимаемся дистрибьюцией автомобилей из Китая.
💬 Резюме отправлять: @HR_V_a
👉 Новости 👉 Платформа
Локация: Удаленно в РФ
Компания: Имплекс
ЗП: от 100 000 до 170 000 р. на руки
Занятость: Полная
Занимаемся дистрибьюцией автомобилей из Китая.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
На подходе мощный инструмент на Python для парсинга и веб-скрейпинга, который позволяет:
🟠 Эффективно обходить защиту от ботов. Создавать скрейперы быстрее и проще, используя удобный UI-интерфейс
🟠 Любой скрейпер превращается в инструмент с интуитивно понятным интерфейсом за считанные минуты. Упрощает запуск параллельных процессов для ускорения сбора данных, легко настраивается и масштабируется.
🟠 Значительно сокращает затраты на использование прокси и браузеров, снижая их до 97%
🟠 И наконец, поддерживает интеграцию с Kubernetes, что позволяет распределять нагрузку между несколькими машинами.
👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое полиморфизм?
Полиморфизм - это возможность объектов разных классов использовать методы с одинаковыми именами, предоставляя разное поведение. В Python это достигается через переопределение методов (method overriding) или динамическую типизацию (duck typing).
👉 Новости 👉 Платформа
Полиморфизм - это возможность объектов разных классов использовать методы с одинаковыми именами, предоставляя разное поведение. В Python это достигается через переопределение методов (method overriding) или динамическую типизацию (duck typing).
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Python вызвать базовый метод класса из переопределенного метода в дочернем классе?
Anonymous Quiz
41%
super().method()
27%
base.method()
17%
parent.method()
15%
self.base.method()