Вакансия: Oracle Engineer в Yahoo

User avatar
Likenew
Уже с Приветом
Posts: 12065
Joined: 15 Feb 2002 10:01
Location: TX

Re: Вакансия: Oracle Engineer в Yahoo

Post by Likenew »

Я думаю, что вам надо задавать вопросы относящиеся к непосредственной работе. Если у вас статистика не собирается ( во всех оракловских рекомендациях с етого начинают ;) ), то задавайте вопрос по-другому, сможет/захочет ли человек возится с етим. Меня еще забавляют требования умения пользоваться тоолс, для которых нужны ДБА пермиссионс, а топом выясняется, что вас и близко никто к базе не подпускает. Т.е.,если для вас пивотинг критично - задавайте етот вопрос. А то как начнут унас все так сложно, проготовишься что наконец-то работа настоящая попалась... а потом спрашиваешь, дык где же ето трудно??? Очень фрустратед. :cry: :cry: :cry:
mynameiszb
Уже с Приветом
Posts: 1665
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Вакансия: Oracle Engineer в Yahoo

Post by mynameiszb »

Kateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
А это все зависит от пакета "зарплата + бонусы", что предложат. Если вы человеку дадите нечто превышающее унаследованный геморрой, он будет сидеть, пилить базу без статистики и тюнить хинтами запросы...

PS. У меня шапочный знакомый сказал, что просто живет на нынешней работе сутками. При этом - зарплата выше тимлида группы, и мед страховка покрывает за счет компании все. Понятие "все" означает, что на семью покрывается действительно ВСЕ, включая 100% на зубы. Поэтому и живет на работе, а домашние папу видят, когда он заезжает в полночь сменить рубашку...

Может, вам тоже в этом направлении копать? Полпривета выстроится в очередь, а другая половина уже будет сидеть рядом с вами в кубиках на испытательном сроке.
zgur
Уже с Приветом
Posts: 329
Joined: 09 Sep 2002 17:42
Location: NH

Re: Вакансия: Oracle Engineer в Yahoo

Post by zgur »

Flying Hen wrote:
Albert_al wrote: 7) One table is big (200 mln), second is small (1 mln). Write a query to find the rows that exist in small but not in big. What is the difference between NOT IN and NOT EXIST, which query would be more effective (keyword i need to hear is hash anti-join)
Интересно, почему? Допустим N и M количество записей в большой и малой таблицах соотв, N=2*10^8, M=10^6.

Hash join:
Создать hash малой таблицы: M операций
Просканировать большую таблицу: N операций
Итого: M+N=2*10^8

Index join: M*lg(N)=8*10^6

Получается, что обычный join делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
я думаю в условии ошибка
"that exist in small but not in big "
надо читать как
"that exist in big but not in small "

тогда Hash Anti-Join имеет смысл. В оригинальной версии, Nested Loop (small table as a driver) будет быстрее.
User avatar
Kateryna
Уже с Приветом
Posts: 432
Joined: 22 Jan 2006 19:49
Location: Kiev,Ukraine->SF

Re: Вакансия: Oracle Engineer в Yahoo

Post by Kateryna »

mynameiszb wrote:
Kateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
А это все зависит от пакета "зарплата + бонусы", что предложат. Если вы человеку дадите нечто превышающее унаследованный геморрой, он будет сидеть, пилить базу без статистики и тюнить хинтами запросы...

PS. У меня шапочный знакомый сказал, что просто живет на нынешней работе сутками. При этом - зарплата выше тимлида группы, и мед страховка покрывает за счет компании все. Понятие "все" означает, что на семью покрывается действительно ВСЕ, включая 100% на зубы. Поэтому и живет на работе, а домашние папу видят, когда он заезжает в полночь сменить рубашку...

Может, вам тоже в этом направлении копать? Полпривета выстроится в очередь, а другая половина уже будет сидеть рядом с вами в кубиках на испытательном сроке.
бенефиты и зарплата средние. Не плохие, но и ничего особенного

Я даже больше скажу, на меня с удивлением помотрели, когда я спросила на еще своем интервью, а как опачиваются или организована ночная работа, когда все пропало и надо поднимать систему. Да никак. Из дому можеш на след. день работать. Интернет не оплачивается, телефон 50 кажется в месяц компенсируют. (на прошлой работе у меня оплачивали 100% интернет и телефон всем тем кто потенциально мог быть дернут среди ночи восстанавливать бд + отгулы)

это скорее зависит от руководства когда они поймут что уже не маленький стартап а солидная компания с большой базой клиентов, SLA и глючной системой. наверное какие-то night shifts,дежурства нужны оплата соответствующая
Хорошие девочки владеют иностранными языками, плохие – матерным, умные –
своим собственным
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Albert_al »

Kateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
Ok, now i know what to put in resume :-)
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
Easbayguy
Уже с Приветом
Posts: 10633
Joined: 17 Jul 2003 22:11

Re: Вакансия: Oracle Engineer в Yahoo

Post by Easbayguy »

Вопрос на интервью, Как сгенерировать запрос возвращаюший табличку отсортированнуы от 1 до требуемого значения.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
Kateryna
Уже с Приветом
Posts: 432
Joined: 22 Jan 2006 19:49
Location: Kiev,Ukraine->SF

Re: Вакансия: Oracle Engineer в Yahoo

Post by Kateryna »

Albert_al wrote:
Kateryna wrote:Про NL vs Hash Joins я даже боюсь упоминать. Мы так вообще никого никогда не найдем. А найдем, то через 3 мес. сбежит...
Ok, now i know what to put in resume :-)
вот индусы просто поступают с резме - перечисляются все Oracle features и ствится 15 лет опыта работы

у меня было ощущение, что я документацию читаю, а не резюме
зато HR восхищаются - какой опыт!!!
Хорошие девочки владеют иностранными языками, плохие – матерным, умные –
своим собственным
User avatar
Likenew
Уже с Приветом
Posts: 12065
Joined: 15 Feb 2002 10:01
Location: TX

Re: Вакансия: Oracle Engineer в Yahoo

Post by Likenew »

zgur wrote:
Flying Hen wrote:
Albert_al wrote: 7) Оне табле ис биг (200 млн), сецонд ис смалл (1 млн). Шрите а ъуеры то финд тхе рошс тхат ехист ин смалл бут нот ин биг. Шхат ис тхе дифференце бетшеен НОТ ИН анд НОТ ЕХИСТ, шхич ъуеры шоулд бе море еффецтиве (кеышорд и неед то хеар ис хаш анти-йоин)
Интересно, почему? Допустим Н и М количество записей в большой и малой таблицах соотв, Н=2*108, М=106.

Хаш йоин:
Создать хаш малой таблицы: М операций
Просканировать большую таблицу: Н операций
Итого: М+Н=2*108

Индех йоин: М*лг(Н)=8*106

Получается, что обычный йоин делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
я думаю в условии ошибка
"тхат ехист ин смалл бут нот ин биг "
надо читать как
"тхат ехист ин биг бут нот ин смалл "

тогда Хаш Анти-Йоин имеет смысл. В оригинальной версии, Нестед Лооп (смалл табле ас а дривер) будет быстрее.
Трудно сказать, что прально в условии, а что нет, но определенно, при <exist in small but not in big> будет лучше работать <not in>, а при наоборот, как вы прально подметили, имеет смыл искать <anti-join>. А как прально ответить на вопрос, ввернув туда <anti-join> тоже непростой вопрос для интервью :crazy:
mynameiszb
Уже с Приветом
Posts: 1665
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Вакансия: Oracle Engineer в Yahoo

Post by mynameiszb »

Kateryna wrote: это скорее зависит от руководства когда они поймут что уже не маленький стартап а солидная компания с большой базой клиентов, SLA и глючной системой. наверное какие-то night shifts,дежурства нужны оплата соответствующая
Значит, остается ждать, когда - когда...

Вечная тема - "а зачем мы кормим этого dba? спит сутками, толком его не видно, на митингах в грудь себя не бьет, с дымящейся задницей по этажам не бегает... может, зааутсорсим, или вообще - сократим?"

И так до первого пушистого зверя, который постучится в дверь.

Хотя я мобильники от компании люто ненавидел. Потому как их выдавали на on call support, и отвечать на звонки нужно было в любое время суток. И когда отчеты на dwh тормозили, и когда в субботу накат скриптов не отрабатывал полностью и приходилось их перепроверять. А звонки в 3 часа ночи от бангалорских братьев - это вообще песня :-)

Так что готовьтесь. Как только компания переживет первый крупный дизастер, так вам в список задач нарисуют еще 150 пунктов.
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Albert_al »

mynameiszb wrote:Так что готовьтесь. Как только компания переживет первый крупный дизастер, так вам в список задач нарисуют еще 150 пунктов.
And 150k salary :-)
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
User avatar
Likenew
Уже с Приветом
Posts: 12065
Joined: 15 Feb 2002 10:01
Location: TX

Re: Вакансия: Oracle Engineer в Yahoo

Post by Likenew »

Likenew wrote:
zgur wrote:
Flying Hen wrote:
Albert_al wrote: 7) Оне табле ис биг (200 млн), сецонд ис смалл (1 млн). Шрите а ъуеры то финд тхе рошс тхат ехист ин смалл бут нот ин биг. Шхат ис тхе дифференце бетшеен НОТ ИН анд НОТ ЕХИСТ, шхич ъуеры шоулд бе море еффецтиве (кеышорд и неед то хеар ис хаш анти-йоин)
Интересно, почему? Допустим Н и М количество записей в большой и малой таблицах соотв, Н=2*108, М=106.

Хаш йоин:
Создать хаш малой таблицы: М операций
Просканировать большую таблицу: Н операций
Итого: М+Н=2*108

Индех йоин: М*лг(Н)=8*106

Получается, что обычный йоин делает на два порядка меньше операций. Или в Оракле есть какие-то тонкости?
я думаю в условии ошибка
"тхат ехист ин смалл бут нот ин биг "
надо читать как
"тхат ехист ин биг бут нот ин смалл "

тогда Хаш Анти-Йоин имеет смысл. В оригинальной версии, Нестед Лооп (смалл табле ас а дривер) будет быстрее.
Трудно сказать, что прально в условии, а что нет, но определенно, при <exist in small but not in big> будет лучше работать <not in>, а при наоборот, как вы прально подметили, имеет смыл искать <anti-join>. А как прально ответить на вопрос, ввернув туда <anti-join> тоже непростой вопрос для интервью :цразы:
Кстати, кстати, я почитала, что все там много разных < hash anti-join>, левое или правое, когда мы говорим о <NOT IN>,или <NOT EXIST> мы говорим о <hash anti-join>, во :umnik1: , исправляюсь. На <asktom> пишет <As long as you are using the CBO, and the tables are analyzed, it will use a hash anti join and be very fast.>
А когда говорим о < not in> и <not exist> так ето совсем другая песня, они разные по смыслу. <IN, NOT IN> представляют собой набор значений, с которыми надо сравнивать. А <EXIST, NOT EXIST> требуют хотя бы одно значение, т.е. в худшем случае норовят делать < full scan>. В том случае, когда первая таблица намного меньше второй, то <full scan> меньшей таблицы и проверка есть ли такое во второй, то бишь <Not exist> будет дешевле, чем <not in>. Ето на пальцах обьяснение, как я понимаю, без упоминания о < hash joins>
А еще можно написать <left outer join> при определенных условиях

И все зависит не только от величины таблиц, а и от количества памяти, какой алгоритм будет использоваться, а также какой реализован в данной ДБМС. А интересно, алгоритмы обработки данных, т.е. образования етих <joins> надо знать на зубок? А то на <asktom> народ спрашивает, где почитать.
Их же тьма, етих <hash joins>, <left anti-join, right anti-join > для <NOT IN>, и < left and ringht semi-join> для <IN>
User avatar
Likenew
Уже с Приветом
Posts: 12065
Joined: 15 Feb 2002 10:01
Location: TX

Re: Вакансия: Oracle Engineer в Yahoo

Post by Likenew »

Ljolja wrote:о, а можно я здесь задам ? (практический) по ораклу на который мне в другой теме так и не ответили?
:оопс:
Шхат ис тхе наме оф тхе цонфигуратион филе (шитх тхе патх иф ит ис нот униъуе), шхич цонтаинс цоннецтион пермиссионс?
Или на пальцах, в моей орацле дб дб1 зарегистрирован пользователь усер1,
усер1 может коннектиться к базе полько с лоцальной системы (где он тоже зарегистрирован, как усер1) при етом попытка запуска им сълплус с консоли, не должна заканчиваться ? о каком-то пароле (которого у дб1 нет, поскольку усер создавался как:
цреате усер усер1 идентифиед ехтерналлы;
)
также в дб1 зарегистрирован пользователь усер2. Он может коннектиться к дб1 с Вашего комьютера, но только оттуда. сысдба и иже с ним, могут коннектиться только с локалки. Более никто и ниоткуда к дб1 подконнентиться не может.
Как ето сделать?
Ето идет речь об <Oracle Net services>. < sqlnet.ora > хранит параметры доступа
Я подозреваю существует несколько путей реализации такого. Вот тут есть похоже, что вам нужно
<Invited nodes

Use this parameter to check for invited and excluded nodes. This list takes precedence over the TCP.EXCLUDED_NODES
parameter if both lists are present TCP.INVITED_NODES=(hostname | ip_address, hostname | ip_address, ...)
TCP.INVITED_NODES=(sales.us.acme.com,
hr.us.acme.com, 144.185.5.73)
>http://psoug.org/reference/net_services.html
Last edited by Likenew on 08 Nov 2011 22:22, edited 1 time in total.
User avatar
Likenew
Уже с Приветом
Posts: 12065
Joined: 15 Feb 2002 10:01
Location: TX

Re: Вакансия: Oracle Engineer в Yahoo

Post by Likenew »

sp123 wrote:Народ, раз пошла такая пьянка, а не поговорить ли нам опять про датабазные интервью? А то давненько эту тему не поднимали, вдруг там что интересного происходит. Понятно, что оффтоп, так ведь Арез все равно рано или поздно заполучит в команду развесистого индуса, к гадалке не ходи :).

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

Для затравки. Говорят, стало популярным спрашивать про миграцию. Типа, есть куча старых таблиц, а мы строим в сторонке новую базу и хотим перелить туда старые данные, но без дошнтиме на обеих базах, и чтобы они потом какое-то время крутились параллельно. Ну или примерно из той же оперы, но вместо новой базы просто хотим похерить 90% старых данных.

Что еще? Ну, помимо булк и аналитических функций?
Присоединяюсь.

<sp123>, по поводу переливания. Создали новую структуру, перелили данные, а потом <replication master-to-master>? Или какие-то хитрости. Я не знаю. по второму - создание исторических таблиц на всякий случай? временное хранилище для данных,<trancate tables>, перелить данные обратно, или создать новый тейблспейс, мув все нужные данные данные. Как прально думать?
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Вакансия: Oracle Engineer в Yahoo

Post by Albert_al »

Likenew wrote: А то на <asktom> народ спрашивает, где почитать.
Here is the good example http://www.dbspecialists.com/files/pres ... joins.html
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: Вакансия: Oracle Engineer в Yahoo

Post by Ljolja »

Likenew wrote:
Ljolja wrote:о, а можно я здесь задам ? (практический) по ораклу на который мне в другой теме так и не ответили?
:оопс:
Шхат ис тхе наме оф тхе цонфигуратион филе (шитх тхе патх иф ит ис нот униъуе), шхич цонтаинс цоннецтион пермиссионс?
Или на пальцах, в моей орацле дб дб1 зарегистрирован пользователь усер1,
усер1 может коннектиться к базе полько с лоцальной системы (где он тоже зарегистрирован, как усер1) при етом попытка запуска им сълплус с консоли, не должна заканчиваться ? о каком-то пароле (которого у дб1 нет, поскольку усер создавался как:
цреате усер усер1 идентифиед ехтерналлы;
)
также в дб1 зарегистрирован пользователь усер2. Он может коннектиться к дб1 с Вашего комьютера, но только оттуда. сысдба и иже с ним, могут коннектиться только с локалки. Более никто и ниоткуда к дб1 подконнентиться не может.
Как ето сделать?
Ето идет речь об <Oracle Net services>. < sqlnet.ora > хранит параметры доступа
Я подозреваю существует несколько путей реализации такого. Вот тут есть похоже, что вам нужно
<Invited nodes

Use this parameter to check for invited and excluded nodes. This list takes precedence over the TCP.EXCLUDED_NODES
parameter if both lists are present TCP.INVITED_NODES=(hostname | ip_address, hostname | ip_address, ...)
TCP.INVITED_NODES=(sales.us.acme.com,
hr.us.acme.com, 144.185.5.73)
>http://psoug.org/reference/net_services.html
спасибо, Likenew, но на ету часть ? мне уже ответили выше.
Т.об. мы знаем, как сказать ораклу откуда допустимо соединение.
Оставшиеся ??
кто и
каким образом
allowed to connect?
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)

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