powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Просто Трёп [закрыт для гостей] / Дали задачку на собеседовании
25 сообщений из 73, страница 1 из 3
Дали задачку на собеседовании
    #251678
sergey11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Вчера. Ебадь...

Введение
"Требуемый код будет рассматриваться как окончательный вариант,
поэтому просьба полностью понять задание. Все возникающие вопросы лучше
задавать сразу. Считайте что Ваш код будет читать человек не знающий
решения задачи. Указать версию БД,под которую создавалось решение".

1)
Общая картина. Есть дерево категорий (количество уровней вложения не
ограничено), каждая категория обладает
набором топиков....
-- таблица категорий, порядка 50 000 записей, структура дерева
-- у каждой категории могут быть как подкатегории, так и топики.
create table category (catid number primary key enable, -- ключ
par_catid number references category, -- ссылка на родительскую категорию
topic varchar2(100), -- имя таблицы топиков данной категории
pages varchar2(2000), -- список таблиц страниц для таблицы топиков(в виде 'table1,table2..')
location varchar2(200), -- место нахождения
column1 type1,column2 type2,... -- остальные колонки
);

-- каждая таблица топиков(здесь к примеру topic1) содержит порядка 200 000 записей
create table topic1 (topicid number primary key,-- ключ
respondents number(10), -- количество респондентов
column1 type1,...-- другие колонки
)

... у топика есть страницы, каждая страница представляется отдельной
таблицей ...

-- каждая таблица страниц(здесь к примеру page1) содержит порядка 500 000 записей
create table page1 (topic references topic1, -- ссылка на топик
field1 varchar2(500),
field2 number(5))

... в эту таблицу помещаются заголовки сообщений на странице и
количество ответов на сообщение.
Задача:
Получить список категорий в виде дерева,упорядоченно по месту нахождения (по возр),
у каждой категории указать ВСЕ ее топики(не имеющие страниц топики не печатать,
но пустые категории выводить),в каждом топике вывести ВСЕ страницы, для каждой страницы
выбрать только первые 5 заголовков из всех, отсортированных по УБЫВАНИЮ поля FIELD2.
При этом список должен быть получен как можно быстрее (в предположении,
что это используется WEB клиентом для отрисовки страницы,
и одновременно может выполнятся около 20 подобных операций).

Принять во внимание то, что любые изменения содержимого в момент работы
кода, не производятся.
Код должен быть как можно более отказоустойчивым.

Примерный формат вывода
Категория Кх
...
Топик m
...
Page
1 Field1,Field2
...
5 Field1, Field2
...
Подкатегория Кх.n
...
Топик i
...
Page
1 Field1,Field2
...
5 Field1, Field2

Считается, что структура данных не изменяема (что есть, то есть),
но можно добавлять индексы, если это необходимо."
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #251679
sergey11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Нормально так архитектуру форума создавать?
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #251690
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
хуяссе

Сериого подалсо в орхетектыри пхорума!?
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #251691
Испытатель диванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудило  24.12.2022, 09:26
[игнорируется]
хуяссе

Сериого подалсо в орхетектыри пхорума!?
даст потом ссылку сюда,скажет я спец по форумам
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #251702
Iron Horse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это теперь кассирам в Пятерочке такие тесты дают?
...
Рейтинг: 1 / 0
Нравится: Горбатый ёж
Дали задачку на собеседовании
    #251703
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Iron Horse  24.12.2022, 10:07
[игнорируется]
Это теперь кассирам в Пятерочке такие тесты дают?
Не, там тесты где две полоски
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #251705
sergey11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Iron Horse  24.12.2022, 10:07
[игнорируется]
Это теперь кассирам в Пятерочке такие тесты дают?
Да, очень большой конкурс!
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #251754
Iron Horse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудило  24.12.2022, 10:09
[игнорируется]
Iron Horse  24.12.2022, 10:07
[игнорируется]
Это теперь кассирам в Пятерочке такие тесты дают?
Не, там тесты где две полоски
Барсук?
...
Рейтинг: 2 / 0
Дали задачку на собеседовании
    #251928
XEugene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Iron Horse  24.12.2022, 10:07
[игнорируется]
Это теперь кассирам в Пятерочке такие тесты дают?
Так пятёрочка это X5.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252018
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey11  24.12.2022, 09:15
[игнорируется]
Нормально так архитектуру форума создавать?
Варианты рещения задачи обсуждались и описывались последние лет двадцать.
Вам нужно найти их и ОЧЕНЬ ВНИМАТЕЛЬНО разобрать и понять.
От того, что вы скопируете решение (или кто-то из участников его вам напишет) вы работу не получите - нужно обязательно понять.

И в описании задачи не заря говорится о том, что нужно указать тип БД для которой создается решение ибо решение специфично для разных СУБД, (при том, что структура таблиц задана наперед и ее по всей видимости менять нельзя, что автоматически отсекает варианты решений основанных например на Materialized Path или NestedSet)- так что гуглите database hierarchical queries или recursive queries. Для орала можете сразу искать описание использования оператора "connect by prior"
...
Изменено: 24.12.2022, 17:41 - gyrus
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252022
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gyrus  24.12.2022, 17:40
[игнорируется]
вы работу не получите
А ему и не надо.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252023
Iron Horse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  24.12.2022, 17:42
[игнорируется]
gyrus  24.12.2022, 17:40
[игнорируется]
вы работу не получите
А ему и не надо.
Даже если каким-то чудом получит работу - всё равно через неделю напьётся и его выпиздят нахуй, как не раз уже случалось.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252024
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  24.12.2022, 17:42
[игнорируется]
gyrus  24.12.2022, 17:40
[игнорируется]
вы работу не получите
А ему и не надо.
а нафига тогда такие задачи рещать? вообще-то такие задачи даются людям в предположении, что они уже в курсе всего этого. Может быть не готовы прям сразу написать код, но могут быстро найти нужную информацию и разобраться. т.е. для людей которые занимались чем-то подобным

вообще-то иерархические и графовфе структуры в БД это одна из тех вещей, с которым практически любой разработчик со стажем пять лет и более сталкивался хотя-бы раз и потому имеет представление куда копать - полагаю, что тест как раз для выявления "настоящий это разработчик или поддельный"
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252034
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Iron Horse  24.12.2022, 17:45
[игнорируется]
Горбатый ёж  24.12.2022, 17:42
[игнорируется]
gyrus  24.12.2022, 17:40
[игнорируется]
вы работу не получите
А ему и не надо.
Даже если каким-то чудом получит работу - всё равно через неделю напьётся и его выпиздят нахуй, как не раз уже случалось.
ну... я бы очень хотел, чтобы у Мироги все наладилось. Конечно "мерседес и котлета баксов" есму не светят ни при каких условиях, но даже если у него будет стабильные 30 тыс от работы в пятерочки, он может вполне спокойно жить.

У нас подобную работу называют "дерьмовая работа" (там более грубое выражение, но я затрудняюсь с его переводом). Люди которые работают такую работу как правило не парятся с тем, что это дерьмовая работа - они рассматривают и ее преимущества. Так например, несмотря на то, что и работа дерьмовая и оплата труда низкая, тем не менее ответственности за ее выполнение практически никакой и ты просто определеное количество часов своей жизни отдаешь работодателюне парясь по поводу.. да ни по какому поводу. Зато остальные часы твоей жизни полностью в твоем распоряжении - ты просто забываешь о своем работодателе по окончании раб. дня

Правда Сирогина работа еще более дерьмовая - в финских магазинах нет такой профессии как "кассир" - все работники магазина выполняют все типы работ по очереди - посидел пару часов на кассе, пошел работать на склад... поработал на складе идешь работать в торговый зал на выкладку товара итп. Но и в Финляндии бывает еще более дерьмовая работа и люди преспокойно там работают не комплексуя по этому поводу

Ну и с течением времени , он таки может найти более "престижную" или хотяьы более высокооплачиваемую работу. Вот даже моя шеснадцатилетняя дочь нашла способ зарабатывать своим школьным питоном... фактически синтаксис языка едва освоила...
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252038
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gyrus  24.12.2022, 17:46
[игнорируется]
а нафига тогда такие задачи рещать?
А кто сказал, что он их решает?
Вот если кто выложит ответ, то он его отправит, а решать самостоятельно он не будет.
Потому что ему не нужна работа.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252042
subs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[заблокирован]
sergey11  24.12.2022, 09:15
[игнорируется]
Нормально так архитектуру форума создавать?
забудь, это не для тебя
для того, чтобы сделать правильный запрос, да ещё с учётом всех тех мелочей, которые они там указали...
это надо годами торчать в этой теме, ежедневно упражняясь с этой хуйнёй

а просто так, нахрапом, дибилу в этой теме...
пххх, лолшто?
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252045
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gyrus  24.12.2022, 17:55
[игнорируется]
я бы очень хотел, чтобы у Мироги все наладилось.
Это вы можете устроить запросто. Ежегедельные денежные переводы, суммы небольшие, он не привиредлив.
gyrus  24.12.2022, 17:55
[игнорируется]
Правда Сирогина работа еще более дерьмовая - в финских магазинах нет такой профессии как "кассир" - все работники магазина выполняют все типы работ по очереди
Он про это пишет, что делает всё. А вообще в пятёрочках в моём городе городе на кассе стоит 1-2 человека, сейчас много магазинов с кассами самообслуживания. Остальные сотрудники занимаются раскладкой или приёмкой товара. Есть правда чистые грузчики.
gyrus  24.12.2022, 17:55
[игнорируется]
Ну и с течением времени , он таки может найти более "престижную" или хотяьы более высокооплачиваемую работу.
Ему не нужна работа.
Ему нужен доход.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252055
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  24.12.2022, 17:57
[игнорируется]
gyrus  24.12.2022, 17:46
[игнорируется]
а нафига тогда такие задачи рещать?
А кто сказал, что он их решает?
Вот если кто выложит ответ, то он его отправит, а решать самостоятельно он не будет.
Потому что ему не нужна работа.
если работа не нужна, зачем отправлять что-то?
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252059
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  24.12.2022, 18:02
[игнорируется]
Это вы можете устроить запросто. Ежегедельные денежные переводы, суммы небольшие, он не привиредлив.
нет - рыбу не даю - только удочку
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252062
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gyrus  24.12.2022, 18:11
[игнорируется]
если работа не нужна, зачем отправлять что-то?
Ну потому что жить на что-то надо, нажежда на халяву никогда не умрёт.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252068
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gyrus  24.12.2022, 18:13
[игнорируется]
Горбатый ёж  24.12.2022, 18:02
[игнорируется]
Это вы можете устроить запросто. Ежегедельные денежные переводы, суммы небольшие, он не привиредлив.
нет - рыбу не даю - только удочку
Удочки, в прямом смысле, у него и без вас есть.
А вот метафорические удочки ему неинтересны.
Так что либо метафорическая рыба, либо вы ему неинтересны.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252073
subs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[заблокирован]
дане, чушь сабачья: даже, если тебе здесь кто-то сделает на 100% правильный запрос, они всегда найдут повод, чтобы отказать тебе.
найдут, до чего можно доебаться и откажут.

эта шняга описывалась и на хабре и где только про неё не писали.

такие ТЗ (как и большинство объявлений и приёме на работу) дают/делают не для того, чтобы принять на работу реального кодера, но для того, чтобы потешить самомнение местечкового директора или руководителя, вот и всё.

в лучшем случае такое объясняется хитражопым финтом ушами - им просто нужно нахаляву получить более элегантное решение, чем то говно, что у них уже имеется.

даже, если бы это ТЗ было оплачиваемым, то и в этом случае они бы тебя кинули
есть масса хитроумных способов сделать это "законным" способом
...
Изменено: 24.12.2022, 18:22 - subs
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252075
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гесты и игнорируемые идут по CSS
Меня смутило следующие предложение:
sergey11  24.12.2022, 09:14
[игнорируется]
Есть дерево категорий (количество уровней вложения не
ограничено),
Это говорит о том, что постановщик задачи смутно представляет предметную область.
Глубина возможной иерархии всегда конечна.

Самая глубокая известная мне иерархия - классификация животных.

царство;
тип;
класс;
отряд;
семейство;
вид.
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252076
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  24.12.2022, 18:14
[игнорируется]
gyrus  24.12.2022, 18:11
[игнорируется]
если работа не нужна, зачем отправлять что-то?
Ну потому что жить на что-то надо, нажежда на халяву никогда не умрёт.
ну вот пущай разберется хотя-бы с "connect by prior" - кажется это самый простой вариант...

тот-же "nested set" требует определенной математической подготовки чтобы "въехать"... я тут подумал, что и nested set и materialized path вполне можно уложить в условие задачи - ведь там нет явного запрета на создание новых структур в БД. Конечно придется модифицировать операции добавления или удалени или дополнять их триггерами (блин вот почему мне такие задачи на собеседовании не дает? Я бы сразу портянку написал с разбором нескольких вариантов и критериями выбора под конкретную задачу.. но нет, мне обязательно что нибудь эдакое.. мозгодробительное...)

Ну а иерархические запросы на основе "connect by prior" - все по учебнику...
...
Рейтинг: 0 / 0
Дали задачку на собеседовании
    #252077
gyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  24.12.2022, 18:15
[игнорируется]
gyrus  24.12.2022, 18:13
[игнорируется]
Горбатый ёж  24.12.2022, 18:02
[игнорируется]
Это вы можете устроить запросто. Ежегедельные денежные переводы, суммы небольшие, он не привиредлив.
нет - рыбу не даю - только удочку
Удочки, в прямом смысле, у него и без вас есть.
А вот метафорические удочки ему неинтересны.
Так что либо метафорическая рыба, либо вы ему неинтересны.
насчет метаворических удочек не знаю - их нет у меня
впрочем удочки в прямом смысле слова я ему тоже не готов предоставить - сам пользуюсь чужими, если вдруг нужно
так что только удочки в виде советов
...
Рейтинг: 0 / 0
25 сообщений из 73, страница 1 из 3
Форумы / Просто Трёп [закрыт для гостей] / Дали задачку на собеседовании
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (2): Анонимы (2)
Игнорируют тему (3): Antonariy, Коняукла, папа акуз
Читали форум (60): Анонимы (58), ElenaG 1 мин., Гарыныч 3 мин.
Пользователи онлайн (88): Анонимы (84), Yandex Bot, Гарыныч, ElenaG 1 мин., Bing Bot 5 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]