Simulative – Telegram
7.41K subscribers
1.69K photos
70 videos
1 file
1.25K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
GROK IT!

Ответ на задачу про cложность вставки элементов в список 🔔

Ответ ищите в карточках 😉

Другие материалы про сложность алгоритмов:
- Поиск удаленного элемента за О(N)
- Cложение классов сложности двух алгоритмов
- Сложность алгоритмов: О, о, Ω, Θ
​​💥 Статические методы и декоратор @staticmethod в Python

Определяя методы внутри конкретного класса, мы как бы «привязываем» этот метод к экземплярам данного класса. Данная привязка осуществляется за счет первого аргумента - обычно это self.

Например, если в классе Dog описан метод bark(self), то вызов:

 dog = Dog()
dog.bark()

равносилен такой конструкции:

 dog = Dog()
Dog.bark(dog)

Так становится очевидным, какую роль выполняет аргумент self. Более подробно про это Вы можете прочитать 👉🏻 здесь.

Однако встает вопрос - что если мы хотим не привязывать метод к объекту класса? Например, внутри класса Owner есть метод cut(animal), который имитирует стрижку домашнего животного. Обратите внимание - хозяин может быть один, а вот животные могут быть разные. Что еще немаловажно - процесс стрижки никак не зависит от хозяина, а значит нет смысла привязывать метод cut(animal) к экземпляру класса Owner.

Другими словами, нам нужно создать метод cut(animal) внутри класса Owner, который ничего не знает ни про объект, ни про класс Owner. Это метод просто должен получать аргумент animal и возвращать какой-то результат.

В Python (в отличие от многих других языков программирования) есть несколько вариантов:

1. Просто вынести cut из класса и сделать отдельной функцией. В Java, например, так нельзя сделать, т.к. все должно быть распределено по классам. Python такие фривольности позволяет.

❗️Важно: Получается, что статический метод, объявленный в классе - это просто обычная функция по каким-либо архитектурным соображениям помещенная внутрь класса.

2. Воспользоваться декоратором @staticmethod. Указав этот декоратор перед объявлением метода в классе, Вы сможете вызывать его напрямую из класса, не создавая перед этим экземпляр.

Например:

 Owner.cut(animal = cat)

Раньше бы мы сделали так:

 owner = Owner()
owner.cut(animal = cat)

Стоит отметить, что последний вариант тоже сработает, но в нем уже нет необходимости - @staticmethod как раз и используется, чтобы избежать создание экземпляров класса.

👉🏻 Замечание: Обратите внимание, что частое использование статических методов может свидетельствовать о неправильной архитектуре Вашего кода. На практике не так часто реально возникает потребность использовать статические методы - зачастую это свидетельствует о недостаточном уровне абстракции в Ваших классах.
💥 6 популярных вопросов с собеседований

Вместе с нашим другом Ренатом, автором телеграм-канала Пристанище Дата Сайентиста, мы подготовили 6 частых вопросов с собеседований по Data Science и ответы на них.

Кстати, Ренат подготовил скидку 2 бакса на свой сборник Data Science Interview Guide по промокоду itresume 🔥

Получить сборник Вы можете 👉🏻 здесь. Там подробно разбирается более 70 вопросов - настоящее подспорье в подготовке к техническому интервью 😏

А чтобы еще и потренироваться на практике, попробуйте решить все наши задачки из рубрики GROK IT 😉
​​GROK IT!

Задача по Python: Что выведет код?

Правильный ответ раскроем завтра 😏

#grokit
GROK IT!

Ответ на задачу про метод get для словарей в Python 🔔

Ответ ищите в карточках 😉

#grokit
​​💥 В какой компании Вы работаете?

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

А в какой компании работаете Вы? 😏
​​Дайджест вакансий за 12.07.2021 - 26.07.2021 🕵️‍♂️

Разработчик на R / Java / C / Python

Компания: Conjointly
Занятость: Полная занятость, удаленная работа
Опыт: Junior

Ключевые навыки: Умение работать с Linux; Опыт работы на R, C, Python, Java или другом языке программирования; Git (GitHub); Проектирование БД (MySQL); Понимание, как работает протокол HTTP(S); Хорошее знание высшей математики

Дополнительные навыки: Shiny; Docker; AWS / Lambda

Ссылка на вакансию: https://vk.cc/c4kdZa


Python backend разработчик

Зарплата: от 25 000 до 50 000 руб.
Компания: Цветочная мастерская Лаванда
Занятость: Полная занятость, удаленная работа
Опыт: не требуется

Ключевые навыки: Python, Django, SQL, REST APIs (Опционально), Git

Дополнительные навыки: Docker

Ссылка на вакансию: https://vk.cc/c4kff1


Разработчик Node.JS

Зарплата: от 100 000 руб.
Компания: ИНСИС
Занятость: Полная занятость, удаленная работа
Опыт: не требуется

Ключевые навыки: NodeJS, Знание одного из диалектов SQL (PostgreSQL в приоритете), Понимание процессов и опыт CI/CD, Docker

Дополнительные навыки: Опыт Koa/Express, TypeScript, Знание Python, Опыт с ETL инструментами (Airflow, Apache NiFi и т.п.), Понимание концепций ESB и DataLake

Ссылка на вакансию: https://vk.cc/c4kfsy


Machine Learning Engineer

Зарплата: от 200 000 до 350 000 руб.
Компания: Nexus FrontierTech Ltd
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года

Ключевые навыки: Бакалавриат по специальностям, связанным с Computer Science или ИТ. (не обязательно, но было бы хорошо); Знание ML и NLP; Опыт работы с Docker и Kubernetes; Опыт управления и проектирования AWS: Route 53, EC2, S3, RDS, ElasticCache, DynamoDB, IAM Roles, privacy policy; Опыт участия в проектах по разработке услуг Enterprise-уровня; Опыт проектирования API (RESTful и GraphQL); Python.

Ссылка на вакансию: https://vk.cc/c4kgDj


Python back-end разработчик (Junior - Middle)

Зарплата: от 1 500 USD
Компания: SFERA
Занятость: Полная занятость, удаленная работа
Опыт: не требуется

Ключевые навыки: Опыт работы с Django; Работа с REST API/Знание Django rest framework; Понимание клиент-серверной модели внутри единого сервиса; Знание основных принципов работы БД; Знание базовых сетевых протоколов (HTTP, WebSocket)

Дополнительные навыки: Понимание устройства блокчейна и работы с ним с помощью Python

Ссылка на вакансию: https://vk.cc/c4kgia


Data Scientist

Зарплата: от 70 000 до 150 000 руб.
Компания: Кадровое агентство Алексея Сухорукова
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года

Ключевые навыки: Знание Python и основных пакетов работы с данными и ML: Pandas, Numpy, TensorFlow, Scikit-learn, SciPy; Знание математической статистики; Опыт построения ML моделей и их интерактивного улучшения

Дополнительные навыки: Опыт работы с Django, Docker, ml flow, deep learning (NLP, картинки); Опыт написания множества интеграций и краулеров для получения данных через API, RSS, файлов PDF, XLS, DOC, JSON; Опыт работы с RPA

Ссылка на вакансию: https://vk.cc/c4kg1G


Продуктовый аналитик (mobile)

Зарплата: до 260 000 руб.
Компания: HintHero
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года

Ключевые навыки: Сильная математическую базу; Отличное знание SQL; Опыт программирования на Python (или R), Jupyter Notebooks; Теория и практика проведения AB-тестов; Метод bootstraping; Понимание state-of-art методов Machine Learning; Базовое понимание UX и его влияние на метрики; Работа с системами аналитики: Firebase, Amplitude, Mixpanel; Опыт работы с хранилищами данных BigQuery, Hadoop.

Дополнительные навыки: Tableau

Ссылка на вакансию: https://vk.cc/c4kfLV

#vacancy
​​GROK IT!

Задача по Python: Что выведет код?

Правильный ответ раскроем завтра 😏

#grokit