Skip to content

Belivins/mindbox_tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mindbox_tasks

Задание на стажировку.

Задание 1.

Напишите на C# или Python библиотеку для поставки внешним клиентам, которая умеет вычислять площадь круга по радиусу и треугольника по трем сторонам. Дополнительно к работоспособности оценим:

  • Юнит-тесты
  • Легкость добавления других фигур
  • Вычисление площади фигуры без знания типа фигуры в compile-time
  • Проверку на то, является ли треугольник прямоугольным\

Решение:

  1. Нахождение площади круга по радиусу:
    circle = Circle(10) # Задание радиуса
    circle.area() # Возвращает площадь круга
  2. Нахождение площади треугольника по трём сторонам:
    triangle = Triangle(3, 5, 4) # Задание сторон triangle.area() # Возвращает площадь треугольника
  3. Является ли треугольник прямоугольным:
    triangle.is_rectangular()

Задание 2.

В датафреймах (pyspark.sql.DataFrame) заданы продукты, категории и связь между ними. Одному продукту может соответствовать много категорий, в одной категории может быть много продуктов. Напишите метод с помощью PySpark, который вернет все продукты с их категориями (датафрейм с набором всех пар «Имя продукта – Имя категории»). В результирующем датафрейме должны также присутствовать продукты, у которых нет категорий.

Решение:

Пусть даны таблицы:
Таблица продуктов (название, идентификатор)

name id
'milk' 0
'chocolate' 1
'car' 2
'cheese' 3

Таблица категорий (категория, идентификатор)

category id
dairy 0
sweets 1
confectionery 2
cheeses 3

Таблица связей (идентификатор продукта, идентификатор категории)

name_id category_id
0 0
1 1
1 2
2 null
3 0
3 3

Построим таблицу, которая содержит в себе все назавния продуктов и их категории.
Запрос -
df_rez = product_and_category.join(categories_table, categories_table.id == product_and_category.category_id, how="inner").join(products_table, products_table.id == product_and_category.name_id, how="full_outer") df_rez.select(df_rez.category,df_rez.name).show()

Полученная таблица:

category name
cheeses cheese
dairy cheese
dairy milk
sweets chocolate
confectionery chocolate
null car

About

Задание на стажировку.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages