|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to, в общем - задание как минимум странное. Просят по возможности оптимизировать и при этом ставят условие об использование неоптимальных в данном случае коллекций ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:01 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
xerxf, В данном случае я использовал forall для оптимизации, вместо обычного прохода по циклу с инсертом в каждой итерации ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:04 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
Melkomyagkii_newbi В первом сортировка по пейдей деск - это же получится 10 последних платежей, не? Тогда тоже дефект. да, проверил сейчас. Код: plsql 1.
явно избыточная строка. На конечный результат консистентности данных не влияет, но доп нагрузку дает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:10 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to который выбирает сумму первых 10 path_to необходимо вставить каждую третью запись Тест на извращенца. Если у них там всё через n-ую запись и выборки последних m, то ну их в жопу с такой работой. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:11 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
По 2-й задаче 1. l_cnt всегда будет оставаться равным 0, и Ваш код будет коммитить после КАЖДОГО шага. Нехватает Код: plsql 1.
в начале тела цикла. 2. После выхода из цикла необходим commit, т.к. записи 21...23 не будут закоммичены (они не являются каждой 5-й) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:14 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
crutchmaster path_to который выбирает сумму первых 10 path_to необходимо вставить каждую третью запись Тест на извращенца. Если у них там всё через n-ую запись и выборки последних m, то ну их в жопу с такой работой. вот такие же мысли появились при чтение задания. да плюс ещё это непонятное требование обязательно использовать коллекции.. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:14 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
Александр Спелицин По 2-й задаче 1. l_cnt всегда будет оставаться равным 0, и Ваш код будет коммитить после КАЖДОГО шага. Нехватает Код: plsql 1. 2. 3.
в начале тела цикла. 2. После выхода из цикла необходим commit, т.к. записи 21...23 не будут закоммичены (они не являются каждой 5-й) Тут спорный момент. я когда писал код думал об этом. Если поставить в итоге коммит, то возникает противоречие условию. Я решил максимально придерживаться постановке задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:19 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to Александр Спелицин По 2-й задаче 1. l_cnt всегда будет оставаться равным 0, и Ваш код будет коммитить после КАЖДОГО шага. Нехватает Код: plsql 1.
в начале тела цикла. 2. После выхода из цикла необходим commit, т.к. записи 21...23 не будут закоммичены (они не являются каждой 5-й) 1. Да, это косяк. тут надо вместо l_cnt можно поставить i и уйти от l_cnt 2. Тут спорный момент. я когда писал код думал об этом. Если поставить в итоге коммит, то возникает противоречие условию. Я решил максимально придерживаться постановке задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:19 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to, любое тестовое задание должно быть сформулировано ясным образом и иметь некоторую практическую цель. В первом задании неясно как искать платежи: дополнительно разбивая по клиентам или только по абонентам. Во втором задании просто несовпадение преамбулы-пояснения и результат. Что с чем там связано и как? В таблице t могут быть совершенно случайные данные? И т.п. Написанные курицей лапой задания выдают неуважение ко времени соискателя. Лучше избегать таких вакансий, особенно тех, где 1,5 часа разбираешь задания и 30 минут кодишь. P.S. Насчёт финального commit во втором задании не волнуйтесь, на ревью оно всплывает даже у ведущих разработчиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:22 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to, просто ради интереса - а контора разработческая? есть подозрение, что бизнес конторы никаким образом не связан с разработкой, IT отдел существует постольку поскольку и сидят в нём какие нибудь динозавры, которые сами мало что толком умеют ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:25 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to, а вы проверяли код на реальной базе с тестовыми данными? Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:40 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
кстати, как вариант insert into test_data (clnt_id, subs_id, all_pay_sum) select * from table(l_data_set); (если что - отошёл от оракла последнее время... так что если с синтаксисом что не так - заранее извиняюсь) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:44 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
первое задание решается одним запросом. это основной момент. для перехода в pl/sql нужны веские аргументы, которых на первый взгляд не просматривается, и мало ли что написано в постановке. сеньор должен предлагать оптимальное решение, а не слепо кодировать постановку. ну и по-мелочи: лишний order by, группировка через аналитику + distinct, еще что-то было. во втором задании, вероятно, действительно хотели увидеть понимание savepoint, но из вашего кода видно, что вы его даже не протестировали на каких-то сгенерированных данных (ошибка с l_cnt, которую вы сами признали). path_to Тут спорный момент. я когда писал код думал об этом. Если поставить в итоге коммит, то возникает противоречие условию. Я решил максимально придерживаться постановке задачи. то же самое. дословно кодируют постановку мидлы. сеньор должен понимать, что он делает, и указывать на ошибки и неточности в постановке, если он видит таковые. отсутствие фиксации транзакции после вставки - это с высокой вероятностью ошибка в постановке, и на это следовало обратить внимание. в общем, тестовое задание спорное, но завалили вас по делу. не обижайтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:50 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to, Я 10 леж уже не пишу pl/sql код но вот что бросилось в глаза в первом куске кода: 1. В запросе нет сортировки в самом внешнем подзапросе. В результате результат ;) будет каждый раз разный, в общем случае. А вот внутри зачем-то order by есть. 2. rnk из поздапроса ограничивается в запросе снаружи, но не участвует в distinct. Что-то странное. Вообще запрос этот меня пугает своей странностью. Но это может потому, что задание я не читал :) 3. Удалять в коллекции элементы не нужно, можно просто в цикле записывать только каждый третий элемент. 4. Вообще если и нужно pl/sql то можно for сразу по курсору пройти. Но задание вроде против :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 13:57 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
кит северных морей первое задание решается одним запросом. это основной момент. для перехода в pl/sql нужны веские аргументы, которых на первый взгляд не просматривается, и мало ли что написано в постановке. сеньор должен предлагать оптимальное решение, а не слепо кодировать постановку. xerxf Просят по возможности оптимизировать и при этом ставят условие об использование неоптимальных в данном случае коллекций path_to Задание №2 Есть две таблицы test и test_log : Название колонки Описание колонки n Порядковый номер (Primary Key) Изначально в таблице test присутствует 23 записи с значением n от 1 до 23. В таблице test_log присутствует запись со значением n = 8. Необходимо написать цикл от 1 до 23 (номер шага цикла обозначим i), который: 1. Обновляет данные в таблице test для каждого n = i, устанавливая n = n - 1; 2. Вставляет в таблицу test_log запись с n = i. При этом должны выполняться следующие условия: 1. Каждые 5 шагов должна выполняться фиксация изменений в таблицах. 2. Изменения по тем шагам, которые имели ошибки, НЕ должны быть зафиксированы в таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 14:18 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
Alex Le path_to, а вы проверяли код на реальной базе с тестовыми данными? Код: plsql 1. 2. 3. 4. 5. 6. 7.
да, а есть подозрения, что есть проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 15:14 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to, в версиях до 11 Oracle, если мне не изменяет память, не поддерживает обращения к отдельным полям записи в nested table. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 15:29 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
Alexey Tomin path_to, Я 10 леж уже не пишу pl/sql код но вот что бросилось в глаза в первом куске кода: 1. В запросе нет сортировки в самом внешнем подзапросе. В результате результат ;) будет каждый раз разный, в общем случае. А вот внутри зачем-то order by есть. 2. rnk из поздапроса ограничивается в запросе снаружи, но не участвует в distinct. Что-то странное. Вообще запрос этот меня пугает своей странностью. Но это может потому, что задание я не читал :) 3. Удалять в коллекции элементы не нужно, можно просто в цикле записывать только каждый третий элемент. 4. Вообще если и нужно pl/sql то можно for сразу по курсору пройти. Но задание вроде против :) 1. Почему результат будет, разный? В верхнем запросе сумма считается в рамках окна абонента. и какая бы сортировка не была - он должен посчитать верно 2. Да, это тоже похоже косяк 3. Не выйдет. Forall это не for. в нем можно использовать только DML. Никакие логические операторы и сравнения не пройдут. Будет ошибка. 4. Верно. Задание против:) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 15:34 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
xerxf path_to, просто ради интереса - а контора разработческая? есть подозрение, что бизнес конторы никаким образом не связан с разработкой, IT отдел существует постольку поскольку и сидят в нём какие нибудь динозавры, которые сами мало что толком умеют Организация крупная. Одна из крупнейших в российском секторе ИТ. Занимается разработкой своего ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 15:35 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
кит северных морей не обижайтесь. Никаких проблем. Я всегда за конструктивную критику. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 15:36 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
path_to Организация крупная. Одна из крупнейших в российском секторе ИТ. Занимается разработкой своего ПО. Чем крупнее - тем больше корпоративного идиотизма. Это задание максимум на продвинутого джуна. Оно простое в понимании, не требует глубоких знаний и в нем нет простора для творчества. Даже если вы сделали мелкие ошибки, всем плевать на них, никто этот код досконально смотреть не будет. Забудьте про это собеседование и не занимайтесь самоедством. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 16:50 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
плюс много много за то, чтобы забыть это как страшный сон ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2020, 17:25 |
|
Ищу ментора по pl\sql с высоким уровнем экспертизы
|
|||
---|---|---|---|
#18+
xerxf вот такие же мысли появились при чтение задания. да плюс ещё это непонятное требование обязательно использовать коллекции.. Я надеялся увидеть какие-нибудь вопросы по всяким оптимизациям, хинтам, индексам, партицированию, кэшированию, блокировкам, да прочему хайлоаду и всякой внутренней оракловой кухне. Пойдешь к таким и будешь весь день пивотить таблицы и разгребать глючные тормозящие по 50 сек запросы на 5к строчек с рекурсией и n-ми/следующими/предыдущими записями вместо того, чтобы работать. Модератор: Тема перенесена из форума "Работа". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2020, 05:07 |
|
|
start [/forum/topic.php?fid=52&startmsg=39984916&tid=1881022]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 445ms |
0 / 0 |