Как найти золотник в куче Г...

Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Как найти золотник в куче Г...

Post by Easbayguy »

stenking wrote:
x.angie wrote: Что вы будете делать? Без попытки подлюбить спрашиваю.
Зависит от позиции. Например для ДБ админа это очень простой вопрос. Практически 2+2.

А для девелопмент позиции писать такую сложную квири это скорее минус. Правильным решением это разбить данную задачу на 3 небольшие подзадачи с простым синтаксисом

1. вывести дату и результат последнего визита пациента,

2. вывести минимальное, максимальное и среднее значение измерений за все визиты

3. вывести результаты предыдущих трёх визитов

И показать как их запустить асинхронно и как красиво показать на клиенте !
Я проверил SQL в shared_pool и проверил все исходники, на сотни террабайт данных PIVOT использовался 5 раз (создали вьюшки) с перехода на 11 версию.
:-)
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Как найти золотник в куче Г...

Post by Uzito »

stenking wrote:Зависит от позиции. Например для ДБ админа это очень простой вопрос. Практически 2+2.
А для девелопмент позиции писать такую сложную квири это скорее минус. Правильным решением это разбить данную задачу на 3 небольшие подзадачи с простым синтаксисом.
Я ищу девелопера отчёты делать и метрики собирать. Эта задача довольно простая служит для выявлении наличия знаний аналитических функций. Интервьюируемый сам должен понять, что там три подзадачи (аггрегация по пациенту, поиск последнего визита, пивот четырех значений) и в идеальном варианте сделать всё за один проход по таблицам.
А когда мне начинают лепить (select max() from ...), (select min() from ...), (select avg() from ... ), это неуд.
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Как найти золотник в куче Г...

Post by stenking »

Uzito wrote: Я ищу девелопера отчёты делать и метрики собирать.
Вот мы и выяснили что вам нужно писать не код а SQL. Вроде такая позиция так и называется - SQL Developer.
Бога нет.
User avatar
_Lenchik
Уже с Приветом
Posts: 1237
Joined: 10 Nov 2005 03:51

Re: Как найти золотник в куче Г...

Post by _Lenchik »

stenking wrote:
Вот мы и выяснили что вам нужно писать не код а SQL. Вроде такая позиция так и называется - SQL Developer.
Так и называется - BI Developer, SQL Developer. Но тим лиды с распальцовкой любят на позиции Front End Developer такие задачки давать. "А че, это же элементарно, стандартная задачка".

Некторым тим лидам не так важно найти кандидата, как покрасоваться самим. Иначи в описаниии позиции они бы так и писали, нужен BI Developer.
Я знаю, как надо. Но сделаю, как хочу.
Ir4
Уже с Приветом
Posts: 1316
Joined: 27 Dec 2004 05:07
Location: SFBA

Re: Как найти золотник в куче Г...

Post by Ir4 »

Uzito wrote: А когда мне начинают лепить (select max() from ...), (select min() from ...), (select avg() from ... ), это неуд.
а вы знаете, что иногда "все не так, как кажется"?
Что некоторые "короткие" квери - "за один проход" - дают такой екзек план - что можно легко базу раком поставить. А некоторые простые - "в три захода" - выполняются на порядок быстрее. Даже больше скажу - иногда тот самый "один проход" - в плане разворачивается в какой нибудь луп - тоже приятного мало... когда из 300К строк получаются миллионы...

Вот как раз последние пару дней - смотрю что не так с перф тестами клиента - клиент недоволен. Аха - там несколько запросов как раз как вы описали - "за один раз - все данные" - текст одного запроса (без форматирования - полная екранная строка) - занимает 3.5 екрана. Ну зато "все и сразу" - а то, что выполняется несколько минут - ну ок....

ПС: для реально больших баз и вычислений - помогает мап редьюс (конечно на реляционный его писать надо - но работает хорошо)

ППС: хочу добавить что оптимайзер тоже не всега "человеческими" мозгами думает - и при современных ресурсах - "один проход"... как-то отдает нафталином - если мы за етот "один..." - собираем все, что можно. При етом тот же оракл интересные веши говорит - для некоторых (не для всех!) процессов - "ручное" распараллеливание работает быстрее, чем сам енжин делает для одного процесса. Вобшем - как заключение - я бы сказала что при достаточных серверных ресурсах - параллельный запрос скорее всего будет быстрее, чем "все за один раз" - особенно если есть доп функции и промежуточные проверки/вычисления
Last edited by Ir4 on 03 May 2016 17:06, edited 1 time in total.
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Как найти золотник в куче Г...

Post by Uzito »

_Lenchik wrote:Так и называется - BI Developer, SQL Developer. Но тим лиды с распальцовкой любят на позиции Front End Developer такие задачки давать. "А че, это же элементарно, стандартная задачка".
Откуда вообще идея что я такие задачи девелоперам вебморды? Меня спросили что такое SQL выше среднего, я привёл пример задачи которую я даю интервьюируемым на позицие девелопера отчётов.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как найти золотник в куче Г...

Post by nightmare2 »

_Lenchik wrote:Так и называется - BI Developer, SQL Developer. Но тим лиды с распальцовкой любят на позиции Front End Developer такие задачки давать. "А че, это же элементарно, стандартная задачка".

Некторым тим лидам не так важно найти кандидата, как покрасоваться самим. Иначи в описаниии позиции они бы так и писали, нужен BI Developer.
Особенно если долго там сидят, и уверовали что это единственно верный путь. :-)
Да и сориентироваться на инервью не всегда просто.
Аналитические функции специфичны и лично я бы не стал их пихать в запросы без прямого указания.
Я бы предположил, что хотят увидеть именно чистый SQL. :fool:
К тому же совсем не факт, что это 100% будет быстрее. :no:

Я лично, не жду и не требую, что бы соискатель написал по моим правилам.
Вообще - это очень плохой признак, работать с таким лидом будет некомфортно, ИМХО.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Как найти золотник в куче Г...

Post by Albert_al »

Самый прикольный вопрос по sql , который я отсюда же и взял, как найти третий максимум, индюшков срубает всех [WHITE SMILING FACE]

Sent from my SGH-I337M using Tapatalk
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как найти золотник в куче Г...

Post by nightmare2 »

Uzito wrote:Откуда вообще идея что я такие задачи девелоперам вебморды? Меня спросили что такое SQL выше среднего, я привёл пример задачи которую я даю интервьюируемым на позицие девелопера отчётов.
Ну так надо было уточнить, что это для отчетов, использование аналитических функции обязательно, и т.д.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как найти золотник в куче Г...

Post by nightmare2 »

Albert_al wrote:Самый прикольный вопрос по sql , который я отсюда же и взял, как найти третий максимум, индюшков срубает всех [WHITE SMILING FACE]

Sent from my SGH-I337M using Tapatalk
А в чем прикол?
У меня вот сходу где-то так.
Не буду утверждать, что самый оптимальный способ.

Code: Select all

 select top 1 id 
  from (
        select top 3 id
          from tbl
         order by id desc
       ) T
 order by id
Еще можно row_number() использовать.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Как найти золотник в куче Г...

Post by Uzito »

Albert_al wrote:Самый прикольный вопрос по sql , который я отсюда же и взял, как найти третий максимум, индюшков срубает всех
Еще лучше сумма втрого и третьего максимума.
MCP
Уже с Приветом
Posts: 752
Joined: 09 Sep 2005 21:43

Re: Как найти золотник в куче Г...

Post by MCP »

stenking wrote:А почему бы и нет? Во первых деньги ( независимо от результата ) , во вторых это шанс и себя показать и компанию изнутри посмотреть. А как - можно удалённо, можно вечерами а обычно я прошу взять отпуск на неделю. Тут же не результат важен а именно что показать код, скорость работы и общую адекватность.
Наверное нет смысла спорить много на эту тему, но я думаю что брать неделю отпуска на своей работе чтобы порешать ваши задачки согласится только кто-то из СНГ и то если он сеичас получает хотя бы в 2 раза меньше чем вы ему предлагаете, ну представьте себе человек в Америке хочет поменять работу, его пригласили на интервью хотя бы в 2-3 места и что он будет брать 2-3 недели отпуска(ему столько не дадут) чтобы всех попробовать и еще не факт что потом ему предложат такие условия что он согласится поменять работу.
И вы не ответили на вопрос :
Сколько вы заплатите претенденту который сделал например 30/50/75/97 % вашего тестового задания за 1 неделю ? (В смысле заплатите ту же сумму тому кто сделал 30%, 70% или 97% или нет ?)
Last edited by MCP on 03 May 2016 18:36, edited 1 time in total.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как найти золотник в куче Г...

Post by nightmare2 »

Uzito wrote:
Albert_al wrote:Самый прикольный вопрос по sql , который я отсюда же и взял, как найти третий максимум, индюшков срубает всех
Еще лучше сумма втрого и третьего максимума.
А еще лучше, тогда, 1 и 3.

Code: Select all

 select sum(T.Id)
  from (
         select top 3 row_number() over (order by Id desc) r, Id
           from tbl 
       ) T
 where r in (1, 3)
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как найти золотник в куче Г...

Post by nightmare2 »

MCP wrote:Наверное нет смысла спорить много на эту тему, но я думаю что брать неделю отпуска на своей работе чтобы порешать ваши задачки согласится только кто-то из СНГ и то если он сеичас получает хотя бы в 2 раза меньше чем вы ему предлагаете, ну представьте себе человек в Америке хочет поменять работу, его пригласили на интервью хотя бы в 2-3 места и что он будет брать 2-3 недели отпуска(ему столько не дадут) чтобы всех попробовать и еще не факт что потом ему предложат такие условия что он согласится поменять работу.
Я вот тоже об этом подумал.
Не ну если там работы совсем нет, или гугл златые горы предлагает, то может и стоит попробовать, а так нет. :no:
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: RE: Re: Как найти золотник в куче Г...

Post by Albert_al »

Uzito wrote:
Albert_al wrote:Самый прикольный вопрос по sql , который я отсюда же и взял, как найти третий максимум, индюшков срубает всех
Еще лучше сумма втрого и третьего максимума.
Cool! 8-)
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Как найти золотник в куче Г...

Post by Easbayguy »

nightmare2 wrote:
MCP wrote:Наверное нет смысла спорить много на эту тему, но я думаю что брать неделю отпуска на своей работе чтобы порешать ваши задачки согласится только кто-то из СНГ и то если он сеичас получает хотя бы в 2 раза меньше чем вы ему предлагаете, ну представьте себе человек в Америке хочет поменять работу, его пригласили на интервью хотя бы в 2-3 места и что он будет брать 2-3 недели отпуска(ему столько не дадут) чтобы всех попробовать и еще не факт что потом ему предложат такие условия что он согласится поменять работу.
Я вот тоже об этом подумал.
Не ну если там работы совсем нет, или гугл златые горы предлагает, то может и стоит попробовать, а так нет. :no:
Я все разы когда менял работы, переходил либо сначала на парт-тиме не оставляя текущей работы, либо брал отпуск и начинал работать в новой компании во время отпуска, либо к начальству с которым я уже работал. Значительно проще.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
MCP
Уже с Приветом
Posts: 752
Joined: 09 Sep 2005 21:43

Re: Как найти золотник в куче Г...

Post by MCP »

Easbayguy wrote:
nightmare2 wrote:
MCP wrote:Наверное нет смысла спорить много на эту тему, но я думаю что брать неделю отпуска на своей работе чтобы порешать ваши задачки согласится только кто-то из СНГ и то если он сеичас получает хотя бы в 2 раза меньше чем вы ему предлагаете, ну представьте себе человек в Америке хочет поменять работу, его пригласили на интервью хотя бы в 2-3 места и что он будет брать 2-3 недели отпуска(ему столько не дадут) чтобы всех попробовать и еще не факт что потом ему предложат такие условия что он согласится поменять работу.
Я вот тоже об этом подумал.
Не ну если там работы совсем нет, или гугл златые горы предлагает, то может и стоит попробовать, а так нет.
Я все разы когда менял работы, переходил либо сначала на парт-тиме не оставляя текущей работы, либо брал отпуск и начинал работать в новой компании во время отпуска, либо к начальству с которым я уже работал. Значительно проще.
Наверно в этом есть какой-то смысл. Т.е. вы взяли отпуск на 1-2 недели(в старой кампании сказали что надо отдохнуть и ни слова про новую, так ?) проработали это время в новой кампании, допустим вас все устраивает и что вы тогда пишите емаил в старую кампанию - всем спасибо и пока, 2 недели я отрабатывать не буду и дела передавать или что-то подобное тоже не буду или заскочу на пару часиков, передам быстренько и все ?
И еще вопрос, сколько раз у вас было так что новая кампания вам не понравилась или вы им не подошли и вы вернулись на старую через неделю или 2 ?
Easbayguy
Уже с Приветом
Posts: 10599
Joined: 17 Jul 2003 22:11

Re: Как найти золотник в куче Г...

Post by Easbayguy »

MCP wrote:
И еще вопрос, сколько раз у вас было так что новая кампания вам не понравилась или вы им не подошли и вы вернулись на старую через неделю или 2 ?
Было, дал двух недельный notice, начал работать на новую компанию part-time, понял что что-то не то и отозвал notice/дал уговорить себя остаться за дополнительные деньги.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
MCP
Уже с Приветом
Posts: 752
Joined: 09 Sep 2005 21:43

Re: Как найти золотник в куче Г...

Post by MCP »

Easbayguy wrote:
MCP wrote:
И еще вопрос, сколько раз у вас было так что новая кампания вам не понравилась или вы им не подошли и вы вернулись на старую через неделю или 2 ?
Было, дал двух недельный нотице, начал работать на новую компанию парт-тиме, понял что что-то не то и отозвал нотице/дал уговорить себя остаться за дополнительные деньги.
Т.е. как я понимаю что нотис в старой кампании вы обычно давали, а не ставили их перед фактом, что типа я к вам уже больше не прийду ?
И как я понимаю смысл того что вы во время нотиса начинали работать на новую кампанию в том что если вам не понравится то по закону вы всегда (всегда ли ?) можете отзвать ваш нотис и вас тогда не смогут уволить на старой работе?
zhuravl
Уже с Приветом
Posts: 343
Joined: 20 Aug 2007 09:10
Location: So San Fran, CA

Re: Как найти золотник в куче Г...

Post by zhuravl »

Тут вопрос, похоже, в другом - почему нормальные программисты должны к вам пойти? Каким образом золотник попадет в компанию? Компания должна быть не хуже остальных - с бабками, с процессом, с perks и т.д. 4+ звезд на Glassdoor'е. Пока этого нет - все золотники не заинтересованы.

У нас есть вот небольшая тусовка программеров, выходцев из РФ. ЗП немного повыше рынка, бонусы какие-то дают, отпуск копится. Идти в аналогичную контору - время терять. Зачем собственно к вам попадать, если уже есть все, что вы предлагаете.

Простой способ в виде повышения базовой ЗП очень сильно поможет вам набрать хороших кадров. А если по рыночной цене - так берите то, что на рынке есть.
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Как найти золотник в куче Г...

Post by stenking »

MCP wrote:
stenking wrote:А почему бы и нет? Во первых деньги ( независимо от результата ) , во вторых это шанс и себя показать и компанию изнутри посмотреть. А как - можно удалённо, можно вечерами а обычно я прошу взять отпуск на неделю. Тут же не результат важен а именно что показать код, скорость работы и общую адекватность.
Наверное нет смысла спорить много на эту тему, но я думаю что брать неделю отпуска на своей работе чтобы порешать ваши задачки согласится только кто-то из СНГ и то если он сеичас получает хотя бы в 2 раза меньше чем вы ему предлагаете, ну представьте себе человек в Америке хочет поменять работу, его пригласили на интервью хотя бы в 2-3 места и что он будет брать 2-3 недели отпуска(ему столько не дадут) чтобы всех попробовать и еще не факт что потом ему предложат такие условия что он согласится поменять работу.
И вы не ответили на вопрос :
Сколько вы заплатите претенденту который сделал например 30/50/75/97 % вашего тестового задания за 1 неделю ? (В смысле заплатите ту же сумму тому кто сделал 30%, 70% или 97% или нет ?)
А понял, вы думаете это просто тест задание а это скоре хм, conditional employment. Т.е. деньги и всё такое обсуждается до работы. Если подходит то за неделю ( а может и за пару дней ) видно или человек справляется и ему нужно увольняться с прошлой работы или нет. Ну и многие "between jobs" - для таких вообше риска нет. А по деньгам пропорционально обсуждаемой зарплате.
Бога нет.
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Как найти золотник в куче Г...

Post by stenking »

zhuravl wrote:Тут вопрос, похоже, в другом - почему нормальные программисты должны к вам пойти? Каким образом золотник попадет в компанию? Компания должна быть не хуже остальных - с бабками, с процессом, с perks и т.д. 4+ звезд на Glassdoor'е. Пока этого нет - все золотники не заинтересованы.

У нас есть вот небольшая тусовка программеров, выходцев из РФ. ЗП немного повыше рынка, бонусы какие-то дают, отпуск копится. Идти в аналогичную контору - время терять. Зачем собственно к вам попадать, если уже есть все, что вы предлагаете.

Простой способ в виде повышения базовой ЗП очень сильно поможет вам набрать хороших кадров. А если по рыночной цене - так берите то, что на рынке есть.
А в этом и заключается искуство, лол. Я считаю что нужно просто искать к каждому индивидуальные подходы и давать то что ценно для конкретного человека и что он не может получить на своей работе. Кто-то хочет ремот, кто-то готов играть ради стоков, кому-то интересны технологии ( да, да - это очень важный пункт ) а для кого-то аргумент это отдельный кабинет и хорошее кресло.

В моём стартапе например будут официально одобряются сек. домогательства а в конференц рум будет бар
Бога нет.
mskmel
Уже с Приветом
Posts: 946
Joined: 24 Sep 2013 05:58
Location: US\GA

Re: Как найти золотник в куче Г...

Post by mskmel »

stenking wrote:А понял, вы думаете это просто тест задание а это скоре хм, conditional employment. Т.е. деньги и всё такое обсуждается до работы. Если подходит то за неделю ( а может и за пару дней ) видно или человек справляется и ему нужно увольняться с прошлой работы или нет.
Чем это лучше, чем стандартный испытательный срок для работодателя?
Сотруднику понятно, есть вариант попой на двух стульях посидеть некоторое время.
_reality
Уже с Приветом
Posts: 232
Joined: 18 Nov 2014 22:55
Location: SFBA

Re: Как найти золотник в куче Г...

Post by _reality »

stenking wrote:В моём стартапе например будут официально одобряются сек. домогательства а в конференц рум будет бар
Куда слать резюме? :D
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5665
Joined: 15 Aug 2008 00:52

Re: Как найти золотник в куче Г...

Post by Alexander Troyansky »

x.angie wrote:
ARARAT. wrote: 1. BD не моя стихия совсем... Дело не в етом совсем, ето все дело 10 минут когда надо применить. А самое главное именно ета задача в етой форме почти гарантированно никогда не будет. И еще одно, даже если человек задачку решил ето далеко не значит, что он будет способен писать что-нибудь еще, кроме заученной задачки. Проверять надо не решения задачек,а подходы к программированию(а их за 15 минут никак не просечь)...
Да нет, не BD это не похоже, скорее обычный, мать его так, ОперДень, судя по описанию и структуре табличек. Типичнейшая задачка для RDBMS, такая базёнка для BD скорее вредная чем полезная (индексы, constraints, foreign keys, etc.)
ARARAT. wrote:2. b=b+a, a=b-a, b=b-a. Ету задачу(при условии равной разрядности етих двух переменных) правильно без применения третьей переменной не решить или надо ставить проверки значений(т.е. код будет работать лишь при части возможных значений, т.е. "недоделанный" код) или будут возможные run-time erros при перегрузке переменной(b в данном случае), т.е. код будет дерьмо...
Ну, в принципе, направление мысли про недостатки кода верное. Я знаю один канонический способ как правильно решать эту задачку - через XOR операцию или https://en.wikipedia.org/wiki/XOR_swap_algorithm:

Code: Select all

b = b XOR a
a = b XOR a
b = b XOR a
Но кто вспомнит через 6 месяцев что такой код делает? И как его поддерживать кому-то другому через те же шесть месяцев? Cost of Ownership опять же.
Да, особенно хорош результат при a == b. Казалось бы... почему нельзя использовать промежуточную переменную?
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life

Return to “Работа и Карьера в IT”