Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Работа Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: Задают ли Вам каверзные вопросы  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 60703
Блог
iOracleDev
softwarer
В Oracle это можно даже без having и без count.

Интересно, покажи.

Например, так:

declare
  before_delete integer;
begin
  select current_scn into before_delete from v$database;
  delete from my_table;
  insert into my_table select distinct * from my_table as of scn before_delete;
end;

P.S. Можно и без flashback :)
25 янв 20, 18:55    [22066549]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Пылинка
Member

Откуда: СПб
Сообщений: 381
Охранник смузи-машины

каверзные вопросы задают для того, чтобы гнобить соискателей. чтобы потешить ЧСВ собеседователей и сбить зарплатные ожидания соискателя. Зачастую, собеседователь сам только вчера узнал о какой-то штуке, а уже сегодня сидит с умным видом и наезжает "как можно не знать этого?"
Ответьтте ему тем же. Например, попросите на бумажке написать собственную агрегатную функцию.
25 янв 20, 19:03    [22066550]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
iOracleDev
Member

Откуда:
Сообщений: 952
softwarer
P.S. Можно и без flashback :)

Давай и желательно не всю таблицу переливать, а только те записи которые нужно))
25 янв 20, 19:07    [22066551]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 60703
Блог
iOracleDev
Давай

Например, замени на курсор, открытый до delete.

iOracleDev
и желательно не всю таблицу переливать, а только те записи которые нужно))

Ну допиши к этому примеру. Сложно, что ли? Можно и не переливать, а просто поудалять лишнее. Например, так:

begin
  for cr in (select row_number() over (partition by a, b, c, d, e order by dbms_random.value) n# from my_table for update) loop
    if cr.n# > 1 then 
      delete from my_table where current of cr; 
    end if;
  end loop;
end;


и так далее. Вариантов извращений просто тьма :)
25 янв 20, 19:19    [22066552]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
iOracleDev
Member

Откуда:
Сообщений: 952
softwarer,

Код не рабочий, на листочке писал?))

Я этот вариант имел ввиду:
+
alter session set isolation_level = SERIALIZABLE;

declare
  PRAGMA AUTONOMOUS_TRANSACTION;
begin
  delete from t where N in (select N from t group by N having count(*) > 1);
  commit;
end;
/

insert into t select N from t group by N having count(*) > 1;
commit;
alter session set isolation_level = READ COMMITTED;

В случае ошибки, флешбэк или бекап))
25 янв 20, 19:39    [22066553]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 60703
Блог
iOracleDev
Код не рабочий, на листочке писал?))

В форуме.

iOracleDev
Я этот вариант имел ввиду:

Ну да, мысль та же самая.
25 янв 20, 20:47    [22066559]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
mnbvcx
Member

Откуда:
Сообщений: 183
Пылинка
Охранник смузи-машины

каверзные вопросы задают для того, чтобы гнобить соискателей. чтобы потешить ЧСВ собеседователей и сбить зарплатные ожидания соискателя. Зачастую, собеседователь сам только вчера узнал о какой-то штуке, а уже сегодня сидит с умным видом и наезжает "как можно не знать этого?"
Ответьтте ему тем же. Например, попросите на бумажке написать собственную агрегатную функцию.

Типа CLR?))
Лучше расчёт доходности за период и, если вспомнил, что агрегатную функцию Произведение можно получить ч-з экспоненту суммы, то следующий вопрос - написать одним запросом расчёт средней цены актива по FIFO в моменте одним запросом (считать, что коротких продаж нет).
26 янв 20, 10:04    [22066646]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
mefman
Member

Откуда:
Сообщений: 2775
softwarer

Я предлагаю следующий универсальный алгоритм:

  • Если контора хорошая, а собеседующие грамотные - они знают, кто им подходит, и если тебя не взяли, это печально, но по делу. Спасибо им за потраченное время и ценный опыт.
  • Если контора дерьмовая, а собеседующие придурки - если тебя не взяли, ты избавился от перспективы работать в дерьмовой конторе под руководством придурков, так что большое им спасибо.
  • Итого, в любом случае к отрицательному вердикту следует относиться с благодарностью.
вот это в точку
26 янв 20, 12:40    [22066692]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Покритикуйте или похвалите мой вариант кода, который я написал уже не на листочке:
DECLARE @A table([F1] int);
INSERT @A VALUES (1), (5), (8), (12), (5), (1), (1);

-- Удаляем дубликаты записей с номерами больше 1.
WITH tab AS 
(SELECT [F1], ROW_NUMBER() OVER(PARTITION BY [F1] ORDER BY [F1]) rn FROM @A)
DELETE FROM tab WHERE rn > 1;
26 янв 20, 12:49    [22066694]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37023
defragmentator
Покритикуйте или похвалите мой вариант кода, который я написал уже не на листочке:
DECLARE @A table([F1] int);
INSERT @A VALUES (1), (5), (8), (12), (5), (1), (1);

-- Удаляем дубликаты записей с номерами больше 1.
WITH tab AS 
(SELECT [F1], ROW_NUMBER() OVER(PARTITION BY [F1] ORDER BY [F1]) rn FROM @A)
DELETE FROM tab WHERE rn > 1;


генеально!
за такое нужно просить не менее 240 тыр на руки
26 янв 20, 13:48    [22066711]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Eleanor
Member

Откуда:
Сообщений: 2565
defragmentator,

вот вам пример вопросов на вакансию разработчика Sql Server из другой темы.
Про удаление дублей меня там спросили уже в первом пункте, это был один из 6 запросов.
ИМХО, никто вас на собеседовании не валил.
- написать 6 запросов, предложив несколько способов
- нарисовать дерево индекса, рассказать про него, как идут seek, scan
- для 4 запросов сказать, как будет выглядеть план выполнения
- запускается update запрос. Рассказать, что происходит на сервере во время его выполнения.
- предложить несколько способов оптимизации проблемного запроса
- ACID, WAL, roll-forward, roll-back, checkpoint, lazy writer
- уровни изоляции запроса, возможные артефакты на разных уровнях. Реализация snapshot, конфликты транзакций
- подсказки запросов
- виды блокировок, гранулярность, эскалация
- взаимоблокировки, что с ними делает сервер, методы борьбы
- статистика, многоколоночная статистика
- селективность, cardinility, в каких случаях будет использоваться или не использоваться поиск по индексу
- планы запросов, set options, parameter sniffing
- модели восстановления, бэкапы
- общие вопросы по failover cluster, availability groups
26 янв 20, 15:29    [22066740]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
Eleanor,

уровень зарплаты на вакансии?

Я просил 110 на руки, если что.
Это нижняя планка среднего уровня.
26 янв 20, 15:51    [22066746]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
defragmentator
Member

Откуда:
Сообщений: 20504
У меня был перерыв в работе года 3 по разным особо не зависящим от меня причинам, поэтому с автоматическим письмом кода на бумажке иногда бывают напряги.
При работе со студией таких проблем, конечно нет.
Просто хотелось бы прицениться, на какую зарплату реально претендовать.
26 янв 20, 16:03    [22066750]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Eleanor
Member

Откуда:
Сообщений: 2565
defragmentator

уровень зарплаты на вакансии?

Я просил 110 на руки, если что.
Это нижняя планка среднего уровня.

Спросила 180 на руки еще до собеседования, думая, что там такое же расслабленное собеседование как везде. В итоге к ним не пошла.
На 200, кстати, собеседования были проще, хотя там я уже собеседовалась на админа БД, а не разработчика БД.

110, да, немного. На такую зп у нас брали с приличными пробелами в знаниях. И еще премиями + 20 т.р. будет.
Пройдите еще несколько собеседований - и почувствуете себя уверенно с бумажками. Одно проваленное собеседование - это всего лишь набор практики после перерыва.
26 янв 20, 17:09    [22066774]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Eleanor
Member

Откуда:
Сообщений: 2565
defragmentator
Просто хотелось бы прицениться, на какую зарплату реально претендовать.

Тут вообще какая-то лотерея: с одним и тем же уровнем в одном месте можно получать N, а в другом 2N.
26 янв 20, 17:21    [22066780]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
LORD IV
Member

Откуда: The Lost Battalion
Сообщений: 138
bk0010
LORD IV
Помнится на одном из собеседований меня попросили написать запрос
который разворачивает бесконечно количество строк в бесконечное количество столбцов.

Запрос написал,
но все равно в ту контору не пошел,
ибо сказали что денег сколько прошу не дадут.
Расскажите пожалуйста, как такой запрос выглядит. Динамически формируемый запрос вида select (select fld from tbl where id=1),(select fld from tbl where id=2) ...?


примерно так (там нужно было указать еще два варианта решения)
-- first variant
DECLARE @MaxCount INT;
	 
SELECT @MaxCount = max(cnt)
FROM (
    SELECT Id_object
        ,count(id_param) AS  cnt
    FROM objects_params
    GROUP BY  Id_object
    ) X;

DECLARE @SQL NVARCHAR(max),@i INT;
declare @User_data varchar(15);

set @User_data='2018-01-04';
SET @i = 0;
SET @SQL = '';

WHILE @i < @MaxCount
BEGIN
    SET @i = @i + 1;
    SET @SQL = @Sql + ',
    MAX(CASE WHEN id_param = ' + cast(@i AS  NVARCHAR(10)) + ' THEN  value END) AS Col' + cast(@i AS  NVARCHAR(10));
END

SET @SQL = N';WITH CTE AS (
   select id_object,id_param,value from objects_params t1
   where t1.cdate=(select max(cdate) from objects_params t2
                 where t2.id_object=t1.id_object and t2.id_param=t1.id_param
				 and t2.cdate<'''+@User_data+''')
				 and t1.cdate<'''+@User_data+'''

)
SELECT ID_object ' + @SQL + N'
FROM   CTE
GROUP  BY ID_object';

PRINT @SQL;
EXECUTE (@SQL);

--- second variant
DECLARE @MaxCount INT;
	 
SELECT @MaxCount = max(cnt)
FROM (
    SELECT Id_object
        ,count(id_param) AS  cnt
    FROM objects_params
    GROUP BY  Id_object
    ) X;

DECLARE @SQL NVARCHAR(max),@i INT;
declare @User_data varchar(15);

set @User_data='2018-01-04';
SET @i = 0;
SET @SQL = '';

WHILE @i < @MaxCount
BEGIN
    SET @i = @i + 1;
    SET @SQL = COALESCE(@Sql + ', ', '') + 'Col' +  cast(@i AS NVARCHAR(10));
	
END
SET @SQL = SUBSTRING(@SQL,3,len(@SQL)-2);

SET @SQL = N';WITH CTE AS (
select id_object,value,''Col''+cast(id_param as varchar(10)) as Rowno from objects_params t1
   where t1.cdate=(select max(cdate) from objects_params t2
                 where t2.id_object=t1.id_object and t2.id_param=t1.id_param
				 and t2.cdate<'''+@User_data+''')
				 and t1.cdate<'''+@User_data+'''
)

SELECT *
FROM   CTE
PIVOT (MAX(value) FOR RowNo IN (' + @SQL + N')) pvt';

PRINT @SQL;
EXECUTE (@SQL);
 
27 янв 20, 07:17    [22066924]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
bk0010
Member

Откуда:
Сообщений: 4895
Спасибо
27 янв 20, 22:57    [22067472]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
BorisS
Member

Откуда: Москва
Сообщений: 586
Eleanor
defragmentator,

Варианты удаления дублей:
- добавить уникальную колонку в таблицу и выполнить ваш запрос, потом удалить ее
- ваш запрос, но вместо уникальной колонки использовать %%physloc%% или %%lockres%%
- row_number()
- скопировать DISTINCT-ом во временную таблицу


По моему опыту в большинстве случаев сейчас от соискателя ожидают использования оконных функций. Об их знании часто спрашивают даже не применительно к этой задаче. Но, как правило, дальше функции ROW_NUMBER() дело не заходит.

Вообще, я бы выделил сейчас три формата тестовых заданий, которые сейчас встречаются:
1) На листочке непосредственно на собеседовании. Самый архаичный и имеющий мало общего с реальным программированием вариант, но до сих пор популярный.
2) С реальным написанием и отладкой запросов на тестовой БД перед приглашением на собеседование. В этом случае, как правило, дают структуру таблиц и связи между ними, плюс формулировку заданий. Один раз даже прислали готовые скрипты для создания таблиц и генерации тестовых данных.
3) В редком случае тоже самое, что в п.2, но непосредственно на собеседовании.
Из этих вариантов оптимальным считаю второй при условии, что в эту цепочку не вклинивается кадровое агентство.
28 янв 20, 22:27    [22068127]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Eleanor
Member

Откуда:
Сообщений: 2565
BorisS
Из этих вариантов оптимальным считаю второй при условии, что в эту цепочку не вклинивается кадровое агентство.

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

У меня тоже есть предпочтение: не люблю собеседования, где нужно рассказать о себе, проектах, текущей работе, без технических вопросов.
Мне приходится готовить к собеседованию тексты ответов и учить их.

Рассказчик из меня так себе, и если не подготовиться, то расскажу в несколько раз меньше, чем можно было. Подумываю начать выделять в день по часу, чтобы как-то избавиться от этой проблемы.
28 янв 20, 23:57    [22068187]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
BorisS
Member

Откуда: Москва
Сообщений: 586
Eleanor
Подозреваю, что критерий оптимальности у большинства людей - это "я лично лучше всего всего прохожу такие собеседования".


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

Eleanor
У меня тоже есть предпочтение: не люблю собеседования, где нужно рассказать о себе, проектах, текущей работе, без технических вопросов.
Мне приходится готовить к собеседованию тексты ответов и учить их.


Мне наоборот легко это делать.
30 янв 20, 14:07    [22069553]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Eleanor
Member

Откуда:
Сообщений: 2565
BorisS
При этом, соискатель находится в заведомо проигрышном положении, так как ограничен по времени

По сравнению с кем он в проигрышном положении? Он проходит конкурс на вакансию с другими соискателями, которые находятся ровно в таких же условиях.

BorisS
на практике более одной минуты никто вашего ответа не ждет и приходит к выводу, что вы не знаете, как решить задачу

Из интереса засекала время на собеседованиях по скайпу. Это только соискателю кажется, что прошла минута.
У нас спокойно ждут 5 минут. Раз человек удалял дубли 10 минут (в итоге не смог).

На дом если только задачу на оптимизацию дать, а простые запросы нужно писать онлайн. Сразу видно, есть регулярная практика или нет. Да и стресс в реальной работе неизбежен: бывают проблемы, когда каждые несколько минут пишут, звонят, или просто стоят рядом со столом.
30 янв 20, 17:46    [22069743]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
BorisS
Member

Откуда: Москва
Сообщений: 586
Eleanor
По сравнению с кем он в проигрышном положении? Он проходит конкурс на вакансию с другими соискателями, которые находятся ровно в таких же условиях.


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

Eleanor
Из интереса засекала время на собеседованиях по скайпу. Это только соискателю кажется, что прошла минута.
У нас спокойно ждут 5 минут. Раз человек удалял дубли 10 минут (в итоге не смог).


Речь идет не о времени на выполнение задания. А о времени на раздумья перед началом выполнения. Проще говоря, если смотреть в лист бумаги и ничего не писать, уже через минуту скажут что-нибудь вроде "Ну ладно, а вы можете тогда написать, как сделать...?" или "А вы когда-нибудь использовали конструкцию/функцию...?".

Eleanor
На дом если только задачу на оптимизацию дать, а простые запросы нужно писать онлайн. Сразу видно, есть регулярная практика или нет.


Вот ни разу не видел тестовых заданий конкретно на оптимизацию. На дом дают, как правило, 3-4 нетривиальные задачи с последовательным повышением уровня сложности.

Eleanor
Да и стресс в реальной работе неизбежен: бывают проблемы, когда каждые несколько минут пишут, звонят, или просто стоят рядом со столом.


С такой работы надо бежать, чем раньше, тем лучше. Потому что при регулярных стрессах будут проблемы со здоровьем.
30 янв 20, 20:36    [22069892]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Eleanor
Member

Откуда:
Сообщений: 2565
BorisS
С интервьюерами. Поменяйтесь с ними местами и почувствуете себя совсем иначе

Чувствуешь себя как актер, вышедший на сцену. Перед началом как всегда волнение, какая сегодня публика, потом входишь во вкус, ищешь одобрение в глазах и ждешь аплодисменты.
BorisS
Интервьюер, в первую очередь, сравнивает ваш уровень знаний со своим, а не с другими соискателями

В первую очередь со здравым смыслом. Иначе бы лиды брали на работу только лидов. Но берут они даже джунов.
BorisS
если смотреть в лист бумаги и ничего не писать, уже через минуту скажут что-нибудь вроде...

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

В норме сбои и вызванные ими стрессы бывают редко. Пишут, что дозированные стрессы полезны для здоровья.
Так же и с собеседованиями.
30 янв 20, 22:07    [22069957]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
Охранник смузи-машины
Member

Откуда:
Сообщений: 729
[quot Eleanor#22069957]
В первую очередь со здравым смыслом/quot]
со своим собственным, личным представлением о здравом смысле
30 янв 20, 22:53    [22069994]     Ответить | Цитировать Сообщить модератору
 Re: Задают ли Вам каверзные вопросы  [new]
BorisS
Member

Откуда: Москва
Сообщений: 586
Eleanor
В первую очередь со здравым смыслом. Иначе бы лиды брали на работу только лидов. Но берут они даже джунов.


Здравый смысл понятие эфемерное. Как с ним можно сравнивать уровень знаний соискателя, мне непонятно. А вот сравнивать со своим уровнем знаний, в общем случае не означает искать равного себе.

Eleanor
Пробовали отвечать, что вам нужно 5 минут подумать?
Они подождут. И пусть себе 5 минут размышляют, как бы от вас вежливо избавиться, а вы р-р-раз и через 5 минут удаляете все дубли


Нет, не пробовал. Если у меня за минуту мыслей не появляется, то под пристальными взглядами уже и не появится, скорее всего. Думать я предпочитаю в спокойной обстановке, когда никто не стоит над "душой". Даже на экзаменах дают возможность заранее подготовится к ответу по билету, а не требуют сразу отвечать за столом у преподавателя.
30 янв 20, 23:46    [22070035]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Работа Ответить