Дайджест вакансий за 01.03.2021 - 08.03.2021 🕵️♂️
✉️ Присылайте свои резюме на почту hr@itresume.ru
✅ Аналитик данных
Зарплата: от 70 000 руб.
Компания: ЦЕНТРОФИНАНС
Занятость: Полная занятость, удаленная работа
Опыт: 1-3 года
Ключевые навыки: Python, R, Реляционные БД, Linux, Git
Ссылка на вакансию: https://vk.cc/bZq61S
✅ Программист Oracle
Зарплата: от 120 000 руб.
Компания: ООО ГК СЕВЕРТРАНС
Занятость: Полная занятость, удаленная работа
Опыт: 1-3 года
Ключевые навыки: Проектирование БД (СУБД Oracle 9/10/11/12), Интеграционное взаимодействие посредством WEB-SERVICES, Oracle Forms 6, Word, Excel (для построения отчетов), VBA, SMTP, POP3.
Дополнительные навыки: стандарта MIME, Crystal Reports
Ссылка на вакансию: https://vk.cc/bZq7mf
✅ Data Scientist (компьютерное зрение)
Зарплата: от 70 000 до 400 000 руб.
Компания: ООО Дип Системс
Занятость: Полная занятость, удаленная работа
Опыт: 1-3 года
Ключевые навыки: Deep Learning, CV, Python, Linux, Git, Opencv, Pytorch
Дополнительные навыки: Нейронные сети, Docker, Tensorflow
Ссылка на вакансию: https://vk.cc/bZq7TD
✅ Middle backend developer (python/django)
Зарплата: от 1 300 до 2 000 USD
Компания: ООО АРЕС
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: Python, Django, API, PostgreSQL, Agile, Docker
Дополнительные навыки: Один из веб-фреймворков: (drf, aiohttp, flask, tornado, twisted, pyramid), NoSQL, Kubernetes, CI/CD Frontend разработка, Machine Learning.
Ссылка на вакансию: https://vk.cc/bZq6N3
✅ Python Developer (ЕВРАЗ) - удаленно
Зарплата: от 200 000 руб.
Компания: ООО ИЦ АЙ-ТЕКО
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Python 3.7, SQLAlchemy, Alembic, Falcon, Docker, RabbitMQ, Kombu\Celery
Дополнительные навыки: ООП, понимание SOLID, Hexagonal Architecture, Clean Architecture
Ссылка на вакансию: https://vk.cc/bZq5os
✅ Junior / Middle Тестировщик ПО (Python)
Зарплата: от 90 000 до 130 000 руб.
Компания: MedPoint24
Занятость: Полная занятость, удаленная работа
Опыт: от 1 года
Ключевые навыки: ООП, Python, Pytest, Тестирования API, Linux (сборки: Centos и/или Ubuntu)
Дополнительные навыки: Bash, PL/pgsql, JavaScript, CI/CD (Jenkins или Gitlab CI)
Ссылка на вакансию: https://vk.cc/bZq4SK
✅ Middle Python developer
Зарплата: от 140 000 до 180 000 руб.
Компания:GamesBoost42
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python, Unit тесты, FastAPI, REST API, ООП, Docker, Mysql / Percona, Redis, Git
Ссылка на вакансию: https://vk.cc/bZq4nm
#vacancy
✉️ Присылайте свои резюме на почту hr@itresume.ru
✅ Аналитик данных
Зарплата: от 70 000 руб.
Компания: ЦЕНТРОФИНАНС
Занятость: Полная занятость, удаленная работа
Опыт: 1-3 года
Ключевые навыки: Python, R, Реляционные БД, Linux, Git
Ссылка на вакансию: https://vk.cc/bZq61S
✅ Программист Oracle
Зарплата: от 120 000 руб.
Компания: ООО ГК СЕВЕРТРАНС
Занятость: Полная занятость, удаленная работа
Опыт: 1-3 года
Ключевые навыки: Проектирование БД (СУБД Oracle 9/10/11/12), Интеграционное взаимодействие посредством WEB-SERVICES, Oracle Forms 6, Word, Excel (для построения отчетов), VBA, SMTP, POP3.
Дополнительные навыки: стандарта MIME, Crystal Reports
Ссылка на вакансию: https://vk.cc/bZq7mf
✅ Data Scientist (компьютерное зрение)
Зарплата: от 70 000 до 400 000 руб.
Компания: ООО Дип Системс
Занятость: Полная занятость, удаленная работа
Опыт: 1-3 года
Ключевые навыки: Deep Learning, CV, Python, Linux, Git, Opencv, Pytorch
Дополнительные навыки: Нейронные сети, Docker, Tensorflow
Ссылка на вакансию: https://vk.cc/bZq7TD
✅ Middle backend developer (python/django)
Зарплата: от 1 300 до 2 000 USD
Компания: ООО АРЕС
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: Python, Django, API, PostgreSQL, Agile, Docker
Дополнительные навыки: Один из веб-фреймворков: (drf, aiohttp, flask, tornado, twisted, pyramid), NoSQL, Kubernetes, CI/CD Frontend разработка, Machine Learning.
Ссылка на вакансию: https://vk.cc/bZq6N3
✅ Python Developer (ЕВРАЗ) - удаленно
Зарплата: от 200 000 руб.
Компания: ООО ИЦ АЙ-ТЕКО
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Python 3.7, SQLAlchemy, Alembic, Falcon, Docker, RabbitMQ, Kombu\Celery
Дополнительные навыки: ООП, понимание SOLID, Hexagonal Architecture, Clean Architecture
Ссылка на вакансию: https://vk.cc/bZq5os
✅ Junior / Middle Тестировщик ПО (Python)
Зарплата: от 90 000 до 130 000 руб.
Компания: MedPoint24
Занятость: Полная занятость, удаленная работа
Опыт: от 1 года
Ключевые навыки: ООП, Python, Pytest, Тестирования API, Linux (сборки: Centos и/или Ubuntu)
Дополнительные навыки: Bash, PL/pgsql, JavaScript, CI/CD (Jenkins или Gitlab CI)
Ссылка на вакансию: https://vk.cc/bZq4SK
✅ Middle Python developer
Зарплата: от 140 000 до 180 000 руб.
Компания:GamesBoost42
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python, Unit тесты, FastAPI, REST API, ООП, Docker, Mysql / Percona, Redis, Git
Ссылка на вакансию: https://vk.cc/bZq4nm
#vacancy
В чем ошибка при создании итератора?
Anonymous Poll
20%
return self вернёт ошибку
60%
В классе не хватает методов
0%
Вместо iter должен быть next
20%
Узнать ответ
GROK IT! Ответ на задачу об итераторе 🔔
❓Вчера опубликовали вопрос: В чем ошибка при создании итератора?
» return self вернет ошибку
» В классе не хватает методов
» Вместо iter должен быть next
✅ Ответ: В классе не хватает методов
💥 Объяснение:
Давайте начнем с определения - что такое вообще итератор.
Итератор (iterator) - это объект, который позволяет возвращать свои элементы по одному за раз.
Такой поэлементный возврат осуществляется с помощью функции next, которая вызывает метод next. Если следующего элемента нет, то метод должен бросить исключение StopIteration.
Помимо этого, итератор должен содержать метод iter который возвращает сам итератор (т.е. return self). Этот метод необходим, чтобы Вы могли итерировать (т.е. перебирать в цикле) по элементам Вашего объекта. Например, если Вы создаете класс для нового типа данных - newlist, и хотите, чтобы можно было итерировать по элементам newlist в цикле for, то метод iter необходим, т.к. он неявно вызывается в цикле.
Получается, что итератор должен содержать 2 метода - iter и next, а в нашем примере есть только iter.
Правильный класс выглядел бы так:
Подробнее про итераторы: https://vk.cc/bZrJTT
❗️Таким образом, правильный ответ - В классе не хватает методов.
#grokit #python
❓Вчера опубликовали вопрос: В чем ошибка при создании итератора?
» return self вернет ошибку
» В классе не хватает методов
» Вместо iter должен быть next
✅ Ответ: В классе не хватает методов
💥 Объяснение:
Давайте начнем с определения - что такое вообще итератор.
Итератор (iterator) - это объект, который позволяет возвращать свои элементы по одному за раз.
Такой поэлементный возврат осуществляется с помощью функции next, которая вызывает метод next. Если следующего элемента нет, то метод должен бросить исключение StopIteration.
Помимо этого, итератор должен содержать метод iter который возвращает сам итератор (т.е. return self). Этот метод необходим, чтобы Вы могли итерировать (т.е. перебирать в цикле) по элементам Вашего объекта. Например, если Вы создаете класс для нового типа данных - newlist, и хотите, чтобы можно было итерировать по элементам newlist в цикле for, то метод iter необходим, т.к. он неявно вызывается в цикле.
Получается, что итератор должен содержать 2 метода - iter и next, а в нашем примере есть только iter.
Правильный класс выглядел бы так:
class myCount:
def __init__(self, start=0):
self.num = start
def __iter__(self):
return self
def __next__(self):
y = self.num
self.num += 1
return y
Подробнее про итераторы: https://vk.cc/bZrJTT
❗️Таким образом, правильный ответ - В классе не хватает методов.
#grokit #python
Ориентируетесь в итераторах/генераторах?
Anonymous Poll
25%
Конечно!
25%
Нет, все никак не запомню
50%
Нет, надо выучить!
💥 Интегрирование методом Монте-Карло в Python
Что-то давно мы с Вами не разбирались в методах и алгоритмах. Сегодня поговорим о популярном методе Монте-Карло, который часто используется для моделирования в бизнесе и науке:
→ Обсудим историю возникновения
→ Вспомним математическую основу метода
→ Напишем реализацию на Python
→ Проверим код на точность
→ Сравним с другими методами по скорости
Приятного чтения!😉
#python #math
Что-то давно мы с Вами не разбирались в методах и алгоритмах. Сегодня поговорим о популярном методе Монте-Карло, который часто используется для моделирования в бизнесе и науке:
→ Обсудим историю возникновения
→ Вспомним математическую основу метода
→ Напишем реализацию на Python
→ Проверим код на точность
→ Сравним с другими методами по скорости
Приятного чтения!😉
#python #math
👨💻Какой IDE Вы пользуетесь?
Все мы любим программирование, но каждый из нас предпочитает свою среду разработки.
Посмотрим, какая IDE среди наших подписчиков пользуется большей популярностью!
Если у Вас несколько фаваритов, выбирайте всех) Борьба должна быть честной 💪🏻
А если вашего любимчика нет в списке, тогда пишите в комментариях!
Все мы любим программирование, но каждый из нас предпочитает свою среду разработки.
Посмотрим, какая IDE среди наших подписчиков пользуется большей популярностью!
Если у Вас несколько фаваритов, выбирайте всех) Борьба должна быть честной 💪🏻
А если вашего любимчика нет в списке, тогда пишите в комментариях!
Какой IDE Вы пользуетесь?
Anonymous Poll
24%
PyCharm
48%
Jupyter Notebook
5%
Visual Studio
5%
Spyder
43%
VS Code
0%
Eclipse
0%
WebStorm
33%
RStudio
5%
Vim
0%
NetBeans
Рубрика «Вопросы с собеседований» 💥
❓Функциональное программирование в Python?
✅ Ответ:
ЧТО ТАКОЕ ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Для начала ответим на вопрос, что вообще такое функциональное программирование.
Функциональное программирование (ФП) - парадигма программирования, где основной операцией является вычисление результата той или иной функции. Т.е. любое действие с объектом, даже самое сложное, сводится к последовательному применению различных функций и получению итогового результата.
Другим словами, в парадигме ФП работа программы сводится к вычислению разных функций.
Стоит отметить, что в Python эта парадигма используется не очень часто. Однако, во многих задачах полезно ее использовать и на базовом уровне стоит ей владеть.
Вот несколько пунктов, которые делают возможным применять ФП в Python:
✓ Функцию можно передавать в качестве аргумента в другую функцию
✓ Функцию можно возвращать в качестве результата из другой функции
✓ Функции можно задавать анонимно (лямбда-функции), без определения имени
Эти способности языка Python дают возможность нам удобно применять много функций последовательно, а также не загрязнять код с помощью лямбда-функций.
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ В PYTHON
Самые популярные примеры использования парадигмы ФП в Python - функции map, reduce и filter.
✓ Функция map(<f>, <iterable>) применяет функцию f ко всем элементам итерируемого объекта iterable. Функция возвращает итератор. Чтобы сделать список, надо использовать list:
#interview_problems #python
❓Функциональное программирование в Python?
✅ Ответ:
ЧТО ТАКОЕ ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Для начала ответим на вопрос, что вообще такое функциональное программирование.
Функциональное программирование (ФП) - парадигма программирования, где основной операцией является вычисление результата той или иной функции. Т.е. любое действие с объектом, даже самое сложное, сводится к последовательному применению различных функций и получению итогового результата.
Другим словами, в парадигме ФП работа программы сводится к вычислению разных функций.
Стоит отметить, что в Python эта парадигма используется не очень часто. Однако, во многих задачах полезно ее использовать и на базовом уровне стоит ей владеть.
Вот несколько пунктов, которые делают возможным применять ФП в Python:
✓ Функцию можно передавать в качестве аргумента в другую функцию
✓ Функцию можно возвращать в качестве результата из другой функции
✓ Функции можно задавать анонимно (лямбда-функции), без определения имени
Эти способности языка Python дают возможность нам удобно применять много функций последовательно, а также не загрязнять код с помощью лямбда-функций.
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ В PYTHON
Самые популярные примеры использования парадигмы ФП в Python - функции map, reduce и filter.
✓ Функция map(<f>, <iterable>) применяет функцию f ко всем элементам итерируемого объекта iterable. Функция возвращает итератор. Чтобы сделать список, надо использовать list:
animals = ["cat", "dog", "hedgehog", "gecko"]✓ Функция filter(<f>, <iterable>) применяет функцию f ко всем элементам iterable и возвращает только те элементы, для которых результат f является true. Результатом также является итератор.
res = list(map(reverse, animals))
res
#['tac', 'god', 'gohegdeh', 'okceg']
list(filter(lambda x: x > 100, [1, 111, 2, 222, 3, 333]))✓ Функция reduce(<f>, <iterable>) последовательно применяет функцию f к элементам iterable. Функция возвращает итератор.
# [111, 222, 333]
from functools import reduceВ данном примере функция reduce последовательно складывает числа, а следующее число добавляет к результату. Т.е.:
reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
# 15
1 + 2 = 3Узнать еще больше про парадигму функционального программирования в Python можно здесь: https://vk.cc/bZwH0M
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15
#interview_problems #python
🔥 Python vs R
Между программистами идет вечное противостояние - какой язык выбрать: R или Python? Отвечаем - оба!
А чтобы Вам легче было использовать 2 языка одновременно, вместе с R4marketing подготовили для Вас шпаргалку.
В карточках разбираем основные функции и понятия, необходимые для обработки данных. Причем сразу на 2 языках 🤤
Осталось применить на практике 😎
#python #rstat #cheatsheet
Между программистами идет вечное противостояние - какой язык выбрать: R или Python? Отвечаем - оба!
А чтобы Вам легче было использовать 2 языка одновременно, вместе с R4marketing подготовили для Вас шпаргалку.
В карточках разбираем основные функции и понятия, необходимые для обработки данных. Причем сразу на 2 языках 🤤
Осталось применить на практике 😎
#python #rstat #cheatsheet
Что же более вероятно выиграть?
Anonymous Poll
0%
Не менее двух партий из трех
81%
Не более одной из двух
19%
Одинаковая вероятность
GROK IT! Ответ на задачу о вероятности выигрыша 🔔
❓Вчера опубликовали вопрос: Что более вероятно выиграть у равносильного противника: не менее двух партий из трёх или не более одной из двух?
» Не менее 2 партий из 3
» Не более 1 из 2
» Одинаковая вероятность
✅ Ответ: Не более одной из двух
💥 Объяснение:
В нашей задаче есть некое событие (выигрыш партии), которое может случиться (а может не случиться) некоторое число раз (один выигрыш, два выигрыша...) из общего числа сыгранных партий.
Чтобы решить задачу, нам надо сравнить две вероятности: выиграть не менее 2 партии из 3 (т.е. либо 2, либо 3 партии) или не более 1 из 2 (либо 1 партию, либо 0). "Равносильность" противника говорит о том, что вероятность выигрыша составляет 50%.
Для решения мы воспользуемся формулой Бернулли - она позволяет находить вероятность появления события А определенное количество раз из любого количества попыток.
В нашем примере событие А - выигрыш; вероятность выигрыша (p) - 0,5; количество попыток (n) - общее количество партий; вероятность проигрыша (q) = 1 - 0,5 = 0,5; количество выигранных партий - k.
Формула Бернулли:
P (вероятность) = C(n, k) p^k q^(n-k)
C(n,k) - количество сочетаний из n по k (базовый термин комбинаторики).
Таким образом, вероятности можно рассчитать так.
Вероятность выиграть не менее 2 партий из 3: C(3, 2)0.5^20.5^(3-2) + C(3, 3)0.5^30.5^(3-3) = 0.5
Вероятность выиграть не более 1 партии из 2: C(2, 0)0.5^00.5^(2-0) + C(2, 1)0.5^10.5^(2-1) = 0.75
P2 > P1, а значит выиграть не более 1 партии из 2 - более вероятное событие.
❗️Таким образом, правильный ответ - Не более 1 из 2.
Подробнее о биномиальном распределении и геометрическом распределении читайте здесь -> bit.ly/2KSsM7k
#grokit #math
❓Вчера опубликовали вопрос: Что более вероятно выиграть у равносильного противника: не менее двух партий из трёх или не более одной из двух?
» Не менее 2 партий из 3
» Не более 1 из 2
» Одинаковая вероятность
✅ Ответ: Не более одной из двух
💥 Объяснение:
В нашей задаче есть некое событие (выигрыш партии), которое может случиться (а может не случиться) некоторое число раз (один выигрыш, два выигрыша...) из общего числа сыгранных партий.
Чтобы решить задачу, нам надо сравнить две вероятности: выиграть не менее 2 партии из 3 (т.е. либо 2, либо 3 партии) или не более 1 из 2 (либо 1 партию, либо 0). "Равносильность" противника говорит о том, что вероятность выигрыша составляет 50%.
Для решения мы воспользуемся формулой Бернулли - она позволяет находить вероятность появления события А определенное количество раз из любого количества попыток.
В нашем примере событие А - выигрыш; вероятность выигрыша (p) - 0,5; количество попыток (n) - общее количество партий; вероятность проигрыша (q) = 1 - 0,5 = 0,5; количество выигранных партий - k.
Формула Бернулли:
P (вероятность) = C(n, k) p^k q^(n-k)
C(n,k) - количество сочетаний из n по k (базовый термин комбинаторики).
Таким образом, вероятности можно рассчитать так.
Вероятность выиграть не менее 2 партий из 3: C(3, 2)0.5^20.5^(3-2) + C(3, 3)0.5^30.5^(3-3) = 0.5
Вероятность выиграть не более 1 партии из 2: C(2, 0)0.5^00.5^(2-0) + C(2, 1)0.5^10.5^(2-1) = 0.75
P2 > P1, а значит выиграть не более 1 партии из 2 - более вероятное событие.
❗️Таким образом, правильный ответ - Не более 1 из 2.
Подробнее о биномиальном распределении и геометрическом распределении читайте здесь -> bit.ly/2KSsM7k
#grokit #math