![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не осилил вопросы по транзакциям на собеседовании
Дельфятник © (2006-03-06 18:29:00)1) В каких случаях надо использовать механизм транзакций
а) при редактировании данных
б) при удалении данных
в) в любом случае
г) при редактировании и/или удалении данных?
И зачем вообще нужен механизм транзакций?
2) Есть следующий код:
try
if not Database.InTransaction then Database.StartTransaction;
Database.Commit;
except
on E: Exception do
begin
ShowMessage(E.Message);
Database.Rollback
end
end;
В результате его выполнения программа выдала сообщение об ошибке. Пользователь по каким-то причинам не нажал "ОК", сообщение так и осталось висеть. По какой причине через некоторое время эта транзакция съест все ресурсы SQL-сервера?
Fay (2006-03-07 21:39:00) [21]2 Romkin © (07.03.06 21:24) [77]
Я не очень корректно выразился в [72]. Ну ты, наверное, уже в курсе 8)
Romkin (2006-03-07 21:24:00) [22]Fay © (07.03.06 19:36) [76] Э. Нет :)
Тут другое. Есть правило, что любое сравнение с NULL дает неопределенность. А дальше вступают в силу таблицы истинности для or and not. И там самое интересное, что True or Undefined дает True. Или False and Undefined дает False. Дело именно в этом. Если говорить, что сравнение с NULL дает NULL - а дальше? какой результат должен быть у (a<b) and NULL?
Вот именно об этом я и говорил, не видел я курса трехзначной логики.
Fay (2006-03-07 19:36:00) [23]2 Romkin © (07.03.06 17:37) [75]
А выражения (a > b) = (c > d) допустимы?
Romkin (2006-03-07 17:37:00) [24]Fay © (07.03.06 16:44) [72] Поясню мысль: считается, что выражения вида where (a > b) is NULL недопустимы. Если бы результат сравнения был NULL, то кто мешает?
Romkin (2006-03-07 17:33:00) [25]Bless © (07.03.06 16:40) [71] Кто такое сказал? Эссно, его надо решать с подзапросом :))
Romkin (2006-03-07 17:32:00) [26]Fay © (07.03.06 16:44) [72] Да нет, разница есть. Терминологическая, в результате операции сравнения нельзя получить NULL, можно только говорить, что ее результат не определен (undefined).
Fay (2006-03-07 16:44:00) [27]2 Romkin © (07.03.06 13:41) [57]
> Хихихи, не NULL, а undefined
Вы меня просто удивляете. NULL и есть undefined, а не "пусто".
Bless (2006-03-07 16:40:00) [28]Romkin © (07.03.06 13:41) [57]>
А вопрос с валютой надо решить без подзапроса?
Fay (2006-03-07 16:15:00) [29]2 ANB © (07.03.06 16:12) [69]
> Сказки.
Будьте осторожны в суждениях. Действительно, кто сказал, что эти ребята программировали 3 года не лифты, а что-то другое...
ANB (2006-03-07 16:12:00) [30]
> И это не менее чем с трехлетним опытом программирования!
Сказки. У меня в первой конторе после 2-недельных курсов доподготовки 90% об этом знали (включая меня). Как и о мутациях таблиц, connect by, rownum и прочих вкусностях. Причем никто раньше с ораклом не работал. На выпускных экзаменах PL/SQL девелопер (сокращенный, есно) рисовали за 2 часа. 10 процентов не въехавших сами уволились.
Sergey13 (2006-03-07 16:05:00) [31]2[53] Сидоров Максим Вадимович (07.03.06 13:35)
>Все Господа, удачи!!!
>У меня работа стоит и уже нависает надо мной снежным комом
Да ладно, Вадимыч. Зажигай дальше.
Ждем-с. Заходи.
ЗЫ: сори. я уже слегка.....
Fay (2006-03-07 14:43:00) [32]2 isasa © (07.03.06 14:40) [66]
И чё? Хоть на 3
isasa (2006-03-07 14:40:00) [33]Fay © (07.03.06 14:33) [63]
:) Так сдвиг адреса на 2 байта. :)
Romkin (2006-03-07 14:38:00) [34]paul_k © (07.03.06 14:21) [61] Ну я мухлюю немного ;)
Fay © (07.03.06 13:52) [59] А кто сказал, что без бумажки? Другой вопрос, когда у человека в резюме стоит два года асма, а он на логических сдвигах плавает - о чем может быть разговор?!
90% вообще не понимают, что or может быть арифметическим. 80% не слышали о "having". И это не менее чем с трехлетним опытом программирования!
isasa (2006-03-07 14:38:00) [35]Сидоров Максим Вадимович (07.03.06 13:44) [58]
По поводу вопросов. Тестовые вопросы должны быть однозначны.
А вопросы с перечислениями ответов, среди которых правильного нет(и это известно интервьэру) - просто заведомая провокация. За такие тесты, составителя обычно бьют, возможно, даже ногами.
Fay (2006-03-07 14:33:00) [36]2 isasa © (07.03.06 14:31) [62]
> Надо помнить, что x86 хранит младший байт(полуслово) первым.
Звучит так, будто не зная этого, тоже можно решить, но труднее. LOL.
isasa (2006-03-07 14:31:00) [37]Fay © (07.03.06 13:52) [59]
Тут проще. Надо помнить, что x86 хранит младший байт(полуслово) первым.
Ответ $7F.
paul_k (2006-03-07 14:21:00) [38]> [57] Romkin © (07.03.06 13:41)
у тебя слишком хорошая статистика.
4 из 200 смогли написать подобный запрос.
Sergey Masloff (2006-03-07 13:56:00) [39]Fay © (07.03.06 13:52) [59]
Аналогично. И я в свое время вступал с Юрием в полемику по поводы пользы от такого вопроса ;-) Хотя ему виднее я лично против превращения собеседований в тест-контроль. И не только теоретически (против) а и на практике это воплощаю по мере сил ;-) Вполне достаточно поговорить с человекам о проектах в которых он принимал участие а там уже построить цепочку и пораспросить.
Fay (2006-03-07 13:52:00) [40]2 Romkin © (07.03.06 13:41) [57]
> Я видел только одного человека на ...
Честно говоря, я это без бумажки (в уме) не решу. Нет такой постоянной практики. Хотя задачка не сложная.