Текущий архив: 2007.02.11;
Скачать: CL | DM;
Внизпроводил собеседование Найти похожие ветки
← →
Gero © (2007-01-17 23:30) [40]> [39] Sergey Masloff (17.01.07 23:29)
Думаю, можно преподнести так, что будет на сообразительность )
← →
default © (2007-01-17 23:37) [41]Sergey Masloff (17.01.07 23:29) [39]
причём здесь бинарный поиск?
речь шла о задаче не имеющей практического смысла
это всё относилось к
> Вопрос этот не имеет никакого практического смысла, так
> трата своего и чужого времени. Меня бы такой -->работодатель
> не заинтересовал ;-)
← →
Sergey Masloff (2007-01-17 23:42) [42]default © (17.01.07 23:37) [41]
Ясно. Просто я неправильно выразился. Практического в том смысле что НИЧЕГО не говорит о человеке как о работнике. Ну подумаешь слышал он краем уха - ну напишет - что это нам дает? Я не понимаю.
Даже столица ЮАР что дает я понимаю а вот с бинарным поиском (пузырьковой сортировкой, двусвязным списком... поодставить по вкусу...) ну не понимаю.
← →
default © (2007-01-17 23:46) [43]Sergey Masloff
я и не говорю, что это о человеке много говорит, но о работодателе тоже ничего плохого, даже на мой взгляд хорошо - ищет не абы кого, а вроде как сообразительных:) и думается и платить должен подобающе:)
← →
TUser © (2007-01-18 00:08) [44]> Sergey Masloff (17.01.07 23:14) [35]
Задача для первокурсников. Вводная - вы - директор детского сада. Покупаете "Детскую энциклопедию по биологии в картинках для самых маленьких". В качестве приложения поставляется распечатка генома человека. Какой длины полки вы закажите для размещения покупки? Больше ничего не дано (единственное необщеизвестное - студентам известен размер генома человека). Проверяется, собственно, сколько и каких факторой учтет студент.
← →
Sergey Masloff (2007-01-18 00:15) [45]TUser © (18.01.07 00:08) [44]
ну это более-менее гуд.
← →
isasa © (2007-01-18 00:18) [46]:)
Ну зачем же двоичный поиск. Есть более экзотические, приближенные к боевым условиям вопросы.
Например, разница форматов хранения вещественных чисел IEEE и BCD.
← →
Дмитрий Белькевич © (2007-01-18 03:50) [47]>метод поразрядного взвешивания
Afair, это не бинарный поиск.
Метод половинного деления имхо самое лучшее название.
Я, как-то пытался студентов на работу привлечь. Приходило несколько человек. Спрашивалось у всех одно и то же. Знание/умение применять ООП. Просил простую (два-три свойства, два-три метода) реализацию какого-либо предмета. Например, книжного шкафа, или велосипеда. Увидев отсутствие даже зеленого понятия, все стьюденты были отправлены.
В результате плотно работаю с двумя человеками. Один - старый приятель, очень хорошо код пишет и объекты дизайнит (признаться, я так хорошо не умею).
Второй с форума местного пришел, принёс софтину в качестве портфолио, больше вопросов я не задавал, сразу задание. Работает, доволен и он и я.
← →
Павел Калугин © (2007-01-18 10:28) [48]У нас на собеседовании любимая задача была.
написать запрос для получения котировки бумаги на дату.
как оказалось для большщинства студентов и не только не решабельный:)
← →
Ega23 © (2007-01-18 10:30) [49]
> Я, как-то пытался студентов на работу привлечь. Приходило
> несколько человек. Спрашивалось у всех одно и то же. Знание/умение
> применять ООП. Просил простую (два-три свойства, два-три
> метода) реализацию какого-либо предмета. Например, книжного
> шкафа, или велосипеда. Увидев отсутствие даже зеленого понятия,
> все стьюденты были отправлены.
Вот это уже кое-что.
А алгоритмы... Ну был у меня один чокнутый препод, который считал, что каждый студент должен помнить константы. Постоянную Планка, Скорость Света и т.п.
Ну и что толку, что я пи помню с точностью до 7-го знака?
← →
stone © (2007-01-18 10:41) [50]
> Павел Калугин © (18.01.07 10:28) [48]
> У нас на собеседовании любимая задача была.
> написать запрос для получения котировки бумаги на дату.
> как оказалось для большщинства студентов и не только не
> решабельный:)
Так что ты хочешь, если для них бид, аск и ласт, звучит как крекс-пекс-фекс. ИМХО, тут больше пугают заморочки предметной области, а не эскуэля, как такового.
← →
Курдль © (2007-01-18 10:42) [51]А вот интересно - кто из вас в реальной работе сам реализовывал метод бинарного поиска и т.п.?
Кстати, про собеседования... Можете меня поздравить - я с завтрашнего дня безработный! Ура!!!
← →
Ega23 © (2007-01-18 10:45) [52]
> У нас на собеседовании любимая задача была.
> написать запрос для получения котировки бумаги на дату.
Я что-то не понял. Расшифровать можешь?
← →
Курдль © (2007-01-18 10:47) [53]
> Ega23 © (18.01.07 10:45) [52]
>
> > У нас на собеседовании любимая задача была.
> > написать запрос для получения котировки бумаги на дату.
> Я что-то не понял. Расшифровать можешь?
"Найти последний из дней, когда бумага котировалась и на этот день выбрать значение котировки"
← →
Игорь Шевченко (2007-01-18 10:48) [54]Курдль © (18.01.07 10:42) [51]
> Кстати, про собеседования... Можете меня поздравить - я
> с завтрашнего дня безработный! Ура!!!
Не сошлись в области применимости индексов ?
← →
Ega23 © (2007-01-18 10:48) [55]
> "Найти последний из дней, когда бумага котировалась и на
> этот день выбрать значение котировки"
?????? Студенты уже такое не могут????
← →
isasa © (2007-01-18 10:49) [56]Курдль © (18.01.07 10:42) [51]
А вот интересно - кто из вас в реальной работе сам реализовывал метод бинарного поиска и т.п.?
:)
Ну, в рамках метода половинного деления и метода Ньтона, я.
Поиск корней нелинейных уравнений и систем.
← →
Курдль © (2007-01-18 10:49) [57]
> Курдль © (18.01.07 10:47) [53]
> "Найти последний из дней, когда бумага котировалась и на
> этот день выбрать значение котировки"
Точнее, "найти день равный указанной дате, или ближайший из прошедших..."
← →
Курдль © (2007-01-18 10:53) [58]
> Игорь Шевченко (18.01.07 10:48) [54]
> Не сошлись в области применимости индексов ?
Нет. Большой проект закончили. А сидеть в офисе и перекладывато бумажки (готовить презентации, заниматься саппортом и т.п.) нет особого желания.
А индексами у нас занимались специально обученные оптимизаторы. Меня касался конечный результат - производительность.
> isasa © (18.01.07 10:49) [56]
> Ну, в рамках метода половинного деления и метода Ньтона, я.
> Поиск корней нелинейных уравнений и систем.
А в рамках какой предметной области, если не секрет?
← →
Ega23 © (2007-01-18 11:04) [59]
Select top 1 <Дата котировки> from <Котировки> where <ID Бумаги>=:ID and <Дата котировки> <=:date Order by <Дата котировки> Desc
первое, что в голову пришло
← →
Курдль © (2007-01-18 11:09) [60]
> Ega23 © (18.01.07 11:04) [59]
> первое, что в голову пришло
Плоховато как-то пришло :)
С какого перепуга вместе живут order и top 1?
← →
stone © (2007-01-18 11:11) [61]
> Ega23 © (18.01.07 11:04) [59]
На самом деле все гораздо проще. Только нужно немного знать предметную область. Котировки на разных площадках для одной и той же бумаги разные. Причем котировки этими же площадками и транслируются. Так что тут уже вопрос кто как эти полученные данные хранит у себя. От этого и будет зависеть сложность запроса.
← →
Skyle © (2007-01-18 11:14) [62]
> Курдль © (18.01.07 11:09) [60]
> С какого перепуга вместе живут order и top 1?
А почему бы и не жить? Или это чему-то противоречит?
← →
Bless © (2007-01-18 11:16) [63]
> Курдль © (18.01.07 11:09) [60]
>
> С какого перепуга вместе живут order и top 1?
Что-то есть у меня подозрение, что полная версия этого вопроса звучит как
"С какого перепуга в запросах на PL SQL вместе живут order и top 1" :)
← →
Ega23 © (2007-01-18 11:17) [64]
> С какого перепуга вместе живут order и top 1?
А в чём проблема???
← →
Ega23 © (2007-01-18 11:18) [65]
> На самом деле все гораздо проще. Только нужно немного знать
> предметную область. Котировки на разных площадках для одной
> и той же бумаги разные. Причем котировки этими же площадками
> и транслируются. Так что тут уже вопрос кто как эти полученные
> данные хранит у себя. От этого и будет зависеть сложность
> запроса.
Ну это да, предметной области я, конечно, не знаю.
← →
Курдль © (2007-01-18 11:30) [66]
> Ega23 © (18.01.07 11:17) [64]
> А в чём проблема???
А может и не в чем, просто это я туплю (давненько не юзал TSQL).
Я бы написал классически
select * from RATES R1
where R1.ID = :id
and R1.DATE = (select max(R2.DATE) from RATES R2 where R2.ID = :id and R2.DATE <= :date)
← →
Ega23 © (2007-01-18 11:33) [67]
> select * from RATES R1
> where R1.ID = :id
> and R1.DATE = (select max(R2.DATE) from RATES R2 where R2.
> ID = :id and R2.DATE <= :date)
>
Это - нулевое, что пришло в голову... :о)
Ну уж очень не люблю вложенные селекты... :о)
← →
evvcom © (2007-01-18 11:37) [68]+ к > [63] Bless © (18.01.07 11:16)
А если учесть, что сказано о "top 1", а не о rownum, то это не PLSQL, и вполне вероятно, что жить могут :)
← →
Ega23 © (2007-01-18 11:38) [69]
> А если учесть, что сказано о "top 1", а не о rownum, то
> это не PLSQL, и вполне вероятно, что жить могут :)
Да всё просто: я знаю, что Пашка MSSQL юзает... :о)
← →
Курдль © (2007-01-18 11:48) [70]
> Ega23 © (18.01.07 11:33) [67]
> Ну уж очень не люблю вложенные селекты... :о)
А я сильно подозреваю, что мой запрос отработает быстрее, несмотря на вложенный селект.
← →
stone © (2007-01-18 11:52) [71]
> Курдль © (18.01.07 11:48) [70]
И тут на сцену выходит тема индексов :)
ЗЫ. Для пущей убедительности плюнуть на стол :)
← →
Курдль © (2007-01-18 11:54) [72]
> stone © (18.01.07 11:52) [71]
> И тут на сцену выходит тема индексов :)
Тут на сцену выходит битва "Сортировка vs поиск" :)
Ясен пень, что эффективность надо сравнивать при равных условиях - везде с индексами, либо везде - без.
← →
Ega23 © (2007-01-18 11:58) [73]
> Тут на сцену выходит битва "Сортировка vs поиск" :)
> Ясен пень, что эффективность надо сравнивать при равных
> условиях - везде с индексами, либо везде - без.
>
Ну это естественно, что надо структуру БД знать. Может это всё вообще в разных таблицах лежит.
← →
Курдль © (2007-01-18 12:02) [74]
> Ega23 © (18.01.07 11:58) [73]
> Ну это естественно, что надо структуру БД знать. Может это
> всё вообще в разных таблицах лежит.
Мы ищем в одной таблице. И я не вижу смысла в другой таблице для конкретной задачи.
Зато подозреваю, что поиск 2х записей 2мя запросами отработает быстрее, чем сортировка и поиск одним запросом (конечно же, в боевых условиях - миллионы записей).
← →
Ega23 © (2007-01-18 12:06) [75]
> Мы ищем в одной таблице. И я не вижу смысла в другой таблице
> для конкретной задачи.
Я, по большому счёту, тоже не вижу смысла в ещё одной таблице. Но вдруг? Бывает-то всякое...
> Зато подозреваю, что поиск 2х записей 2мя запросами отработает
> быстрее, чем сортировка и поиск одним запросом (конечно
> же, в боевых условиях - миллионы записей).
В конкретном случае - смотреть план выполнения надо. Есть индексы - нет индексов, в каком формате дата хранится (может timestamp или вообще собственный тип) и т.п.
← →
Курдль © (2007-01-18 12:14) [76]
> Ega23 © (18.01.07 12:06) [75]
> В конкретном случае - смотреть план выполнения надо. Есть
> индексы - нет индексов, в каком формате дата хранится (может
> timestamp или вообще собственный тип) и т.п.
Да не парься ты с этими чертовыми индексами!!! :)
(Опять мускулисты о своем, - наболевшем!) :)
Такие запросы, как у меня или у тебя, не могут пройти незамеченными оптимизатором!
← →
Ega23 © (2007-01-18 12:18) [77]
> Да не парься ты с этими чертовыми индексами!!! :)
Честно говоря, я пока не парюсь. Пока мы статистику по запросам набираем. Оптимизация ещё предстоит. А пока - никаких индексов кроме PK.
← →
Курдль © (2007-01-18 12:22) [78]В тему (кто-то прислал):
Благодаря этому уникальному упражнению, вы, совершенно не зная ни одного языка программирования, сможете почувствовать себя настоящим программистом-профессионалом!
Для упражнения потребуются:
— два участника;
— часы (желательно с секундомером);
— листок чистой бумаги;
— ручка (шариковая или гелевая, но именно ручка,- это важно).
Один из участников будет "Заказчиком" (Работодателем), другой — "Исполнителем" (Программистом).
"Заказчику" выдаются часы и право голоса, "Исполнителю" — бумага и ручка.
Начало упражнения:
"Заказчик" засекает 10 минут и дает задание "Исполнителю":
"Нарисуйте мне, пожалуйста, красивую девушку."
Далее, пока "Исполнитель" рисует, стоя у него "над душой", высказывать следующие пожеллания к рисунку:
0:30 — Пусть у нее в руке будет меч.
1:00 — Двуручный меч, который она держит обоими руками!
1:30 — А в другую руку ей дайте УЗИ.
2:00 — Пусть она будет уставшей путешественницей,
присевшей отдохнуть.
2:30 — На меч она опирается, отдыхает, значит.
3:00 — Пусть на ней будет развивающийся по ветру плащ!
3:30 — ...И купальник.
4:00 — А лучше доспех!
4:30 — Не... униформа!
5:00 — Уберите плащ, он не идет к униформе.
5:30 — Пусть она смело стоит на мостике космического крейсера!
6:00 — Почему у нее меч? Уберите это старье. А УЗИ переделайте в бластер!
6:30 — Ее волосы развиваются по ветру... для красоты, значит.
7:00 — Бастер не смотрится... уберите его.
Она вообще капитан этого корабля, ей не нужен бластер!
7:30 — Ей нужна фуражка капитана! И аккуратно собранные на голове волосы!
8:00 — И сидеть она должна в кресле капитана!
8:30 — Красивая, суровая и необычайно смелая капитанша корабля пиратов....
9:00 — Нет, эскадры боевого флота Галлактической Федерации!
9:30 -... Вытягивая палец, отдающая приказ о смене курса...
По истечению 10 минут "Заказчик" берет работу "Исполнителя", критически ее осматривает и высказывает свое впечатление:
"Ну это же совсем не то, что я хотел! А где ее верный советник? А почему у нее нет табельного оружия? И вообще, почему она такая некрасивая и суровая? Я же просил КРАСИВУЮ девушку! И вообще на рисунке столько каракулей... Плохой вы программист, зря я к вам обратился... Не буду платить за такую халтуру!"
Для большей остроты ощущений, можно взять целую "Комаду Разрабоотчиков", и пусть они вместе рисуют "большой и красивый пейзаж" за 10 минут
← →
passlight © (2007-01-18 12:41) [79]
> Курдль © (18.01.07 12:22) [78]...
+100
← →
Slider007 © (2007-01-18 12:45) [80]Курдль © (18.01.07 12:22) [78]
хы, только что запостить хотел :)
Страницы: 1 2 3 вся ветка
Текущий архив: 2007.02.11;
Скачать: CL | DM;
Память: 0.63 MB
Время: 0.043 c