Data Science | Вопросы собесов
رفتن به کانال در Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv
نمایش بیشتر4 909
مشترکین
-124 ساعت
-77 روز
-730 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
سپتامبر '26
سپتامبر '26
+34
در 0 کانالها
اوت '26
+47
در 0 کانالها
Get PRO
ژوئیه '26
+47
در 0 کانالها
Get PRO
ژوئن '26
+43
در 1 کانالها
Get PRO
مه '26
+32
در 0 کانالها
Get PRO
آوریل '26
+55
در 0 کانالها
Get PRO
مارس '26
+58
در 0 کانالها
Get PRO
فوریه '26
+115
در 0 کانالها
Get PRO
ژانویه '26
+100
در 0 کانالها
Get PRO
دسامبر '25
+62
در 0 کانالها
Get PRO
نوامبر '25
+110
در 0 کانالها
Get PRO
اکتبر '25
+132
در 1 کانالها
Get PRO
سپتامبر '25
+75
در 0 کانالها
Get PRO
اوت '25
+82
در 0 کانالها
Get PRO
ژوئیه '25
+125
در 0 کانالها
Get PRO
ژوئن '25
+127
در 0 کانالها
Get PRO
مه '25
+124
در 1 کانالها
Get PRO
آوریل '25
+166
در 0 کانالها
Get PRO
مارس '25
+598
در 5 کانالها
Get PRO
فوریه '25
+332
در 4 کانالها
Get PRO
ژانویه '25
+201
در 53 کانالها
Get PRO
دسامبر '24
+120
در 0 کانالها
Get PRO
نوامبر '24
+162
در 1 کانالها
Get PRO
اکتبر '24
+310
در 40 کانالها
Get PRO
سپتامبر '24
+408
در 249 کانالها
Get PRO
اوت '24
+181
در 1 کانالها
Get PRO
ژوئیه '24
+342
در 54 کانالها
Get PRO
ژوئن '24
+924
در 244 کانالها
Get PRO
مه '24
+999
در 191 کانالها
Get PRO
آوریل '24
+689
در 23 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 16 سپتامبر | 0 | |||
| 15 سپتامبر | +2 | |||
| 14 سپتامبر | +1 | |||
| 13 سپتامبر | +1 | |||
| 12 سپتامبر | 0 | |||
| 11 سپتامبر | +1 | |||
| 10 سپتامبر | +2 | |||
| 09 سپتامبر | +2 | |||
| 08 سپتامبر | +2 | |||
| 07 سپتامبر | 0 | |||
| 06 سپتامبر | 0 | |||
| 05 سپتامبر | +5 | |||
| 04 سپتامبر | +2 | |||
| 03 سپتامبر | +8 | |||
| 02 سپتامبر | +4 | |||
| 01 سپتامبر | +4 |
پستهای کانال
Срочно требуются дизайнеры в FIGMA. Обучим с нуля.
Онлайн-программа с наставником и чатом.
Внимание! 80% практики.
✅По результату обучения у вас будет портфолио из нескольких работ.
✅Сертификат о прохождении курса.
✅Возможность пройти полное обучение и получить карьерное сопровождение!
Учитесь дизайну у профессионалов в Yudaev Shool.
Переходи по кнопки: "Подробнее" и начинай свое обучение.
Доступ 0 руб.
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
| 2 | 🤔 В чем отличия между loc и iloc?
В pandas `loc` используется для доступа по метке (label) индекса, а `iloc` — для доступа по числовому индексу, независимо от того, как промаркированы индексы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 171 |
| 3 | Москвич М3 в кредит от 0,01%. Не упусти последний шанс!
Мощность 136 л.с. Хромированные вставки. Подходит для АИ-92. Предложение ограничено
Узнать больше
Изучите все условия кредита (займа) на сайте в соответствующем разделе. Оценивайте свои финансовые возможности и риски. Финансовые услуги оказывает: АО "Авто Финанс Банк", ПАО "Совкомбанк".
#реклама
moskvich.ru
О рекламодателе | 226 |
| 4 | 🤔 Как работает градиентный спуск?
Это фундаментальный алгоритм оптимизации, используемый для минимизации функции потерь в машинном обучении и статистической оптимизации. Этот метод основан на идее, что если вы хотите найти минимум функции, вы должны двигаться в направлении, противоположном градиенту функции в данной точке.
🚩Основные шаги алгоритма
1⃣Инициализация
Начните с случайного значения параметра(ов) \( \theta \) (например, веса в линейной регрессии).
2⃣Вычисление градиента
Определите градиент функции потерь в текущей точке \( \theta \). Градиент показывает направление наискорейшего увеличения функции, поэтому для минимизации мы движемся в противоположном направлении.
3⃣Обновление параметра
Обновите параметр, двигаясь в направлении, противоположном градиенту:
\theta := \theta - \eta \nabla_{\theta} J(\theta)
где \( \eta \) — это скорость обучения, которая определяет размер шага.
4⃣Повторение
Повторяйте шаги 2 и 3, пока не будет достигнут критерий остановки (например, когда изменение \( \theta \) становится незначительным или количество итераций превышает предел).
🚩Важные аспекты
🟠Скорость обучения \( \eta \)
Если скорость обучения слишком велика, может произойти "перепрыгивание" минимума, если слишком мала — процесс обучения будет очень медленным.
🟠Выбор начальной точки
Начальная точка может существенно повлиять на то, достигнет ли процесс локального минимума, глобального минимума или застрянет в плато.
🟠Нормализация данных
При работе с многомерными данными рекомендуется нормализовать данные, чтобы обеспечить равномерное масштабирование признаков. Это ускоряет сходимость градиентного спуска.
import numpy as np
def gradient_descent(x, y, lr=0.01, epochs=1000):
m, b = 0, 0 # начальные параметры
n = len(y) # количество данных
for _ in range(epochs):
f = y - (m*x + b) # функция потерь
# Градиенты по m и b
dm = -2 * np.sum(x * f) / n
db = -2 * np.sum(f) / n
# Обновление параметров
m -= lr
* dm
b -= lr * db
return m, b
# Пример данных
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
m, b = gradient_descent(x, y, lr=0.01, epochs=1000)
print(f"Наклон m: {m}, Пересечение b: {b}")
Ставь 👍 и забирай 📚 Базу знаний | 194 |
| 5 | Аренда VPS/VDS-сервера.
Виртуальные выделенные серверы в дата-центрах уровня Tier III — 7 готовых конфигураций от 200 ₽/мес.
Преимущества аренды:
- Выделенные ресурсы без переплаты;
- KVM-виртуализация;
- Быстрые NVMe SSD;
- Бесплатная защита от DDoS;
- Управление через панель, API и Terraform;
- Техподдержка 24/7.
Запустите сервер за несколько минут!
Попробовать
#реклама 16+
selectel.ru
О рекламодателе | 212 |
| 6 | 🤔 За что мэп штрафует больше: за перепрогноз или недопрогноз?
MAP (Mean Average Precision) больше штрафует за недопрогноз (упущенные релевантные элементы), так как метрика ориентирована на точность в верхней части ранжированного списка.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 222 |
| 7 | 🤔 Как можно классифицировать бинарные картинки фигур?
Может быть выполнена с использованием различных методов машинного обучения и глубокого обучения. Бинарные изображения фигур – это изображения, на которых каждый пиксель имеет либо черное, либо белое значение, что упрощает задачи предобработки и классификации.
🟠Предобработка данных
Первый шаг включает подготовку данных для обучения модели.
🟠Нормализация и масштабирование
Нормализация: Преобразование значений пикселей в диапазон [0, 1].
Масштабирование: Преобразование изображений к единому размеру для обеспечения согласованности данных.
🟠Аугментация данных
Ротация, масштабирование, сдвиг: Создание дополнительных данных для улучшения обобщающей способности модели.
Пример кода на Python (используя OpenCV и NumPy):
import cv2
import numpy as np
def preprocess_image(image):
# Масштабирование изображения до размера 28x28
image_resized = cv2.resize(image, (28, 28))
# Нормализация значений пикселей
image_normalized = image_resized / 255.0
return image_normalized
def augment_image(image):
# Ротация изображения на случайный угол
angle = np.random.randint(-30, 30)
M = cv2.getRotationMatrix2D((14, 14), angle, 1.0)
augmented_image = cv2.warpAffine(image, M, (28, 28))
return augmented_image
🟠Оценка и улучшение модели
Метрики оценки: Точность (accuracy), точность (precision), полнота (recall), F1-score.
Кросс-валидация: Для оценки обобщающей способности модели.
Ставь 👍 и забирай 📚 Базу знаний | 254 |
| 8 | 🤔 Как делается прунинг деревьев?
1. Pre-pruning: остановка роста дерева по заранее заданным критериям (глубина, минимальный размер листа).
2. Post-pruning: удаление "слабых" ветвей после построения дерева для улучшения обобщения.
3. Метрики, такие как ошибка на валидационной выборке, помогают оценить, какие ветви обрезать.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 259 |
| 9 | 🤔 Как работает dropout?
Dropout — это техника регуляризации, используемая в нейронных сетях для предотвращения переобучения. Она заключается в случайном "отключении" (или обнулении) определенного процента нейронов во время обучения, что помогает модели обобщать данные и не подстраиваться под шум или специфические особенности обучающего набора данных.
🚩Механизм работы
🟠Во время обучения:
На каждом шаге обучения случайным образом выбирается подмножество нейронов, которые будут отключены. Отключенные нейроны не участвуют в прямом и обратном проходе на текущем этапе. Этот процесс повторяется на каждом этапе обучения, причем каждое отключение производится независимо.
🟠Во время тестирования:
На этапе предсказания (тестирования) dropout не применяется. Для компенсации эффекта, вызванного отключением нейронов на этапе обучения, все веса сети масштабируются в соответствии с вероятностью dropout
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical
# Загрузка данных
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape((X_train.shape[0], 28 * 28)).astype('float32') / 255
X_test = X_test.reshape((X_test.shape[0], 28 * 28)).astype('float32') / 255
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
# Создание модели
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(28 * 28,)))
model.add(Dropout(0.5)) # Dropout с вероятностью 0.5
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
# Компиляция модели
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# Обучение модели
model.fit(X_train, y_train, epochs=20, batch_size=128, validation_data=(X_test, y_test))
# Оценка модели
score = model.evaluate(X_test, y_test)
print(f'Точность на тестовых данных: {score[1] * 100:.2f}%')
🚩Зачем нужен
🟠Предотвращение переобучения:
Dropout помогает нейронной сети не запоминать обучающие данные, а обучаться выявлять общие закономерности.
🟠Снижение взаимозависимости нейронов:
Отключение случайных нейронов заставляет остальные нейроны адаптироваться и работать независимо, что улучшает устойчивость модели.
🟠Улучшение обобщающей способности:
Dropout повышает способность модели хорошо работать на новых, невидимых данных.
Ставь 👍 и забирай 📚 Базу знаний | 254 |
| 10 | Хочешь карьеру в ИТ? Начни с программы «Мини-СЕО»
⚡Попади в команду топ-менеджера Т-Банка и работай над стратегическими проектами компании.
В зависимости от трека ты сможешь:
— разрабатывать эффективные методологии для оценки влияния продукта на экосистему с Владимиром Любимовым;
— исследовать экосистемы и находить наиболее перспективные точки роста с Максимом Безруковым;
— развивать сегмент автолюбителей и заниматься региональной экспансией Т-Банка с Жорой Сукасяном;
— вести стратегический план развития 3P, развивать AI-продукты и искать, где AI может упростить работу команды, c Денисом Коротовым;
— участвовать в создании B2B-маркетплейса c Владимиром Абазовым.
Программа подойдет студентам и джуниор-специалистам, которые сильны в математике, аналитике и программировании. Успей подать заявку до 25 сентября!
Зарегистрироваться
#реклама 16+
t-miniceo.ru
О рекламодателе | 168 |
| 11 | 🤔 Расскажи о структуре словаря в Python?
Это встроенный тип данных, который представляет собой неупорядоченную коллекцию пар "ключ-значение". Он позволяет быстро извлекать значения по ключу, обеспечивая эффективный доступ к данным.
🚩Характеристики
🟠Ключи уникальны
В словаре каждый ключ должен быть уникальным. Если добавить пару с существующим ключом, значение этого ключа будет перезаписано.
🟠Ключи неизменяемы
Ключи должны быть хэшируемыми, то есть они должны иметь неизменяемый тип данных (например, строки, числа, кортежи).
🟠Значения могут быть любыми:
Значения в словаре могут быть любого типа данных и не обязательно уникальны.
1⃣Создание словаря
# Пустой словарь
my_dict = {}
# Словарь с начальными значениями
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
2⃣Добавление и изменение элементов
# Добавление нового ключа-значения
my_dict['email'] = 'alice@example.com'
# Изменение существующего значения
my_dict['age'] = 26
3⃣Доступ к значениям
# Доступ к значению по ключу
name = my_dict['name'] # 'Alice'
# Метод get() для доступа с предоставлением значения по умолчанию
age = my_dict.get('age', 0) # 26
phone = my_dict.get('phone', 'Not Provided') # 'Not Provided'
4⃣Удаление элементов
# Удаление элемента по ключу
del my_dict['email']
# Метод pop() возвращает значение и удаляет элемент
city = my_dict.pop('city', 'Not Found') # 'New York'
5⃣Перебор элементов словаря
# Перебор ключей
for key in my_dict:
print(key)
# Перебор значений
for value in my_dict.values():
print(value)
# Перебор пар ключ-значение
for key, value in my_dict.items():
print(f'{key}: {value}')
🚩Основные методы
`keys()`
Возвращает все ключи словаря.
`values()`
Возвращает все значения словаря.
`items()`
Возвращает все пары "ключ-значение".
`update(other_dict)`
Обновляет словарь, добавляя пары "ключ-значение" из другого словаря.
`clear()`
Удаляет все элементы из словаря.
🚩Пример использования
# Создание словаря с информацией о студенте
student = {
'name': 'John',
'age': 22,
'courses': ['Math', 'CompSci']
}
# Добавление нового ключа-значения
student['phone'] = '555-5555'
# Изменение значения по ключу
student['name'] = 'John Doe'
# Доступ к значению по ключу
print(student['name']) # 'John Doe'
# Удаление элемента
del student['age']
# Перебор элементов словаря
for key, value in student.items():
print(f'{key}: {value}')
Ставь 👍 и забирай 📚 Базу знаний | 208 |
| 12 | Скидки до 50% на посудомоечные машины Kuppersberg
Посудомоечные машины Kuppersberg со скидками на Яндекс Маркете!
Узнать больше
#реклама
market.yandex.ru
О рекламодателе | 184 |
| 13 | 🤔 Какие знаешь рекомендательные модели?
Модели: коллаборативная фильтрация (на основе пользователей или элементов), контентная фильтрация, гибридные подходы и модели с использованием глубокого обучения (например, нейронные сетевые рекомендатели).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 269 |
| 14 | Ищем менеджеров нейросетей, можно без опыта
Опыт не нужен. Только телефон. Занятость — 3-6 часов в день.
Нужно выполнять задачи с помощью нейросетей. Все это вы делаете из дома.
Всему обучим на бесплатном курсе и после поможем со стартом.
Что вас ждет за 3 дня:
✅ Уроки с практикой по 30 минут
✅ Домашние задания с проверкой и оплатой бонусами
✅ Выплата за каждую выполненную работу
🎓 Все, кто пройдет обучение, получат сертификат от школы с образовательной лицензией.
Набор закрывается, как только группа заполнится.
Чтобы занять место нажмите "Зарегистрироваться".
Зарегистрироваться
#реклама 16+
course.neurogansta.ru
О рекламодателе | 217 |
| 15 | 🤔 В каких моделях используются несимметрические метрики ?
Несимметричные метрики используются в моделях машинного обучения, когда разные типы ошибок имеют различные последствия. Такие метрики часто применяются в индустриях и сценариях, где важно учитывать разные уровни риска, связанного с различными видами ошибок. Ниже перечислены некоторые из основных моделей и сценариев, где могут использоваться несимметричные метрики:
🟠Финансовые услуги
В банковском деле и финансах, особенно в кредитном скоринге и обнаружении мошенничества, стоимость ошибочного классифицирования клиентов может быть очень высока. Например, модели, предсказывающие вероятность дефолта по кредиту или мошенническую активность, часто используют взвешенные функции потерь, чтобы минимизировать очень дорогие ошибки, такие как пропуск дефолта или необнаруженное мошенничество.
🟠Здравоохранение
В медицинских приложениях ошибки в диагностике имеют различные последствия. Пропуск серьезного заболевания (ложноотрицательный результат) может быть гораздо хуже, чем ложноположительный результат, который просто приведет к дополнительным обследованиям. Поэтому модели, используемые для диагностики заболеваний, часто оптимизируются с учетом асимметрии стоимости ошибок.
🟠Промышленность и производство
В области обнаружения дефектов на производственных линиях важно минимизировать пропуск бракованной продукции, что может привести к значительным финансовым потерям или опасности для конечных пользователей. Модели, которые предсказывают наличие дефектов, могут быть настроены на уменьшение ложноотрицательных результатов.
🟠Безопасность и наблюдение
Системы безопасности, которые определяют потенциальные угрозы или нежелательные действия, также используют несимметричные метрики. В таких системах стоимость пропуска реальной угрозы (ложноотрицательный результат) обычно намного выше стоимости ложной тревоги.
Ставь 👍 и забирай 📚 Базу знаний | 265 |
| 16 | Подготовка к вступительным экзаменам в ШАД
120+ поступивших в ШАД. Преподаватели МГУ. Гарантия результата. Вы поступите в ШАД, магистратуру или мы зачислим Вас на следующий поток бесплатно
Узнать больше
#реклама 16+
shadhelper.com
О рекламодателе | 233 |
| 17 | 🤔 Какие известны рекомендательные модели?
Content-Based Filtering, Collaborative Filtering, и Hybrid модели. Выбор зависит от задачи и данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 299 |
| 18 | 🤔 Как работает where?
Ключевое слово WHERE в SQL используется для фильтрации записей в запросах. Оно позволяет ограничивать результаты запроса только теми строками, которые удовлетворяют определенным условиям. Ключевое слово WHERE может применяться в операторах SELECT, UPDATE, DELETE, а также в других контекстах.
🚩Принципы
🟠Фильтрация строк
WHERE задает условие, которое проверяется для каждой строки в таблице. Только те строки, которые удовлетворяют условию, включаются в результирующий набор данных.
🟠Операторы и выражения
Условия в WHERE могут содержать различные операторы, такие как сравнения (=, <>, >, <, >=, <=), логические операторы (AND, OR, NOT), а также функции и другие выражения.
🟠Работа с NULL
Для проверки на NULL используется оператор IS NULL или IS NOT NULL.
🚩Примеры использования `WHERE`
SELECT с условием
SELECT * FROM employees
WHERE salary > 50000;
UPDATE с условием
UPDATE employees
SET salary = salary * 1.10
WHERE department = 'Sales';
DELETE с условием
DELETE FROM employees
WHERE hire_date < '2020-01-01';
Использование AND и OR
SELECT * FROM employees
WHERE department = 'IT' AND salary > 60000;
Этот запрос выбирает всех сотрудников из отдела IT с зарплатой более 60,000.
SELECT * FROM employees
WHERE department = 'IT' OR department = 'HR';
Проверка на NULL
SELECT * FROM employees
WHERE manager_id IS NULL;
🚩Пример использования в Python с библиотекой sqlite3
import sqlite3
# Создание соединения с базой данных SQLite
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# Создание таблицы
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
id INTEGER PRIMARY KEY,
name TEXT,
department TEXT,
salary REAL,
hire_date TEXT
)
''')
# Вставка данных
cursor.execute('''
INSERT INTO employees (name, department, salary, hire_date)
VALUES ('John Doe', 'IT', 75000, '2021-05-01')
''')
cursor.execute('''
INSERT INTO employees (name, department, salary, hire_date)
VALUES ('Jane Smith', 'HR', 50000, '2019-03-15')
''')
conn.commit()
# Запрос данных с использованием WHERE
cursor.execute('''
SELECT * FROM employees WHERE salary > 60000
''')
# Получение и вывод результатов
rows = cursor.fetchall()
for row in rows:
print(row)
# Закрытие соединения
conn.close()
Ставь 👍 и забирай 📚 Базу знаний | 317 |
| 19 | 🤔 Что такое mode?
Это статистическая мера центральной тенденции, представляющая собой значение, которое встречается в наборе данных чаще всего. В отличие от среднего значения (mean) и медианы (median), мода не обязательно должна быть уникальной: в одном наборе данных может быть несколько мод или не быть ни одной (если все значения встречаются одинаково часто).
🚩Характеристики
🟠Частота появления
Мода определяется как значение или значения, которые имеют наибольшую частоту появления в наборе данных.
🟠Устойчивость к выбросам
Поскольку мода основана на частоте, она не подвержена влиянию выбросов или экстремальных значений.
🟠Применимость
Мода особенно полезна для категориальных данных, где среднее значение не имеет смысла (например, самый популярный цвет, наиболее частое место назначения).
🚩Примеры
🟠Набор данных с одной модой
Набор данных: [1, 2, 2, 3, 4] 2 (появляется чаще всего)
🟠Набор данных с двумя модами (бимодальный)
Набор данных: [1, 2, 2, 3, 3, 4] 2 и 3 (оба значения появляются одинаково часто и чаще остальных)
🟠Набор данных без моды
Набор данных: [1, 2, 3, 4] отсутствует (все значения появляются с одинаковой частотой)
🚩Применение моды
🟠Бизнес и маркетинг
Определение самых популярных продуктов, услуг или предпочтений клиентов.
🟠Медицина
Анализ наиболее частых симптомов или заболеваний в определённой группе пациентов.
🟠Социология
Выявление наиболее распространенных ответов на опросы или анкеты.
Моды на Python
from scipy import stats
# Пример с одной модой
data_single_mode = [1, 2, 2, 3, 4]
mode_single = stats.mode(data_single_mode)
print(f"Мода для набора с одной модой: {mode_single.mode[0]} (появляется {mode_single.count[0]} раз)")
# Пример с двумя модами
data_bimodal = [1, 2, 2, 3, 3, 4]
mode_bimodal = stats.mode(data_bimodal)
print(f"Моды для набора с двумя модами: {mode_bimodal.mode} (каждая появляется по {mode_bimodal.count[0]} раз)")
Для категориальных данных на Python
from collections import Counter
# Категориальные данные
data_categorical = ['red', 'blue', 'blue', 'green', 'red', 'red']
counter = Counter(data_categorical)
mode_categorical = counter.most_common(1)[0] # most_common(1) возвращает список с одной парой (элемент, частота)
print(f"Мода для категориальных данных: {mode_categorical[0]} (появляется {mode_categorical[1]} раз)")
Ставь 👍 и забирай 📚 Базу знаний | 299 |
| 20 | Срочно требуются дизайнеры в FIGMA. Обучим с нуля.
Онлайн-программа с наставником и чатом.
Внимание! 80% практики.
✅По результату обучения у вас будет портфолио из нескольких работ.
✅Сертификат о прохождении курса.
✅Возможность пройти полное обучение и получить карьерное сопровождение!
Учитесь дизайну у профессионалов в Yudaev Shool.
Переходи по кнопки: "Подробнее" и начинай свое обучение.
Доступ 0 руб.
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе | 218 |
