Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизТестирование... на знание Найти похожие ветки
← →
Плохиш © (2007-04-10 16:36) [40]
> MBo © (10.04.07 15:56) [32]
> О базовых алгоритмах и структурах данных, конечно, нужно
> представление иметь. На примере сортировок - это не значит,
> что человек код квиксорта обязан наизусть помнить, но должен
> по крайней мере понимать, какую сортировку выгодно использовать
> в конкретном случае, а какую - вредноorder by 1
Блин не возьмут на работу...
> _Аноним (10.04.07 16:17) [36]
Во людям заняться нечем 8-О
Всегда считал, что первым идёт конкурс заявлений (на туалетной бумаге - в корзину не читая, оформление не понравилось - в корзину, повторное использование - в корзину, с ошибками - в карзину), следующий этап - собеседование и уже оставшимся даётся тест...
← →
TUser © (2007-04-10 16:36) [41]Дай ему полку с книгами и прикажи не выкладывая книги на пол или на стол или на другую полку расставить книги по алфавиту. Можно и соревнования по такому программированию устраивать.
Одна из книг на полке сшита пьяным переплетчиком, который страницы 1000-1010 вставил на место после страницы 892. Найти участок, где страницы вставлены неправильно.
Та же задача, если в книге 100 томов с единой нумерацией (но, возможно с разным числом страниц в томе). Общее число страниц неизвестно.
Купить игрушечную железную дорогу и коробку кубиков. Кубики-города расставить на полу. Спроектировать железнодорожные линии, соединив вместе все города (пусть и ненапрямую), кто быстрее соберет дорогу, тот и молодец.
Спроектировать расписание движения поездов на построенных линиях про задынных максимальных пасажжиропотоках. Число вагонов в поезде может быть произвольным. Если учтет, что на перегоне однокалейки не может оказаться сразу два поезда - то это плюс, возможно сумеет везде использовать критические секции и пр.
Описать в стихах муки древневавилонских школьников, вынужденных идучать таблицу умножения для 60-ной системы исчисления.
...
← →
_Аноним (2007-04-10 16:50) [42]
> Плохиш ©
> Всегда считал, что первым идёт
Все так. Только собеседование как раз и начинается с теста.
Пробовали и наоборот - получилось, что в большинстве случаев зря потратили время. И вот что обидно - вроде человек все гладко рассказывает, уже про себя думаешь "ага.. наконец то"
а потом тест - и все, полный привет. Каждый раз разочарование :-)
Потом мы стали делать по другому - заменили тест на бумажный.
15 вопросов (простейших).
например:
найдите ошибку в коде:
procedure ClearList(List: TList);
var
I: Integer;
begin
for I:=0 to List.Count do
List.Delete(I);
end;
В общем то, полностью все равно никто не ответил.
← →
IA (2007-04-10 17:03) [43]Я обычно даю кусок кода, который в себя включает некоторое количество недочетов и ошибок. Непроверка на null, неосвобождение ресурсов в finally, public переменные в классе и проч и проч. Очень мало кто видит хотя бы половину.
На дизайн у меня любимый вопрос - автоматическая парковка. Нарисовать систему машина - гараж для парковки без человека, кто и чем управляет.
Самое хорошее в этой задаче - у нее нет правильного ответа.
> procedure ClearList(List: TList);
> var
> I: Integer;
> begin
> for I:=0 to List.Count do
> List.Delete(I);
> end;
В этом коде _две_ ошибки.
← →
pasha_golub © (2007-04-10 17:04) [44]
> default © (10.04.07 16:28) [39]
А почему бы 11-классникам не дать алгоритм сортировки пузырем как основной?
← →
ferr © (2007-04-10 17:13) [45]> А почему бы 11-классникам не дать алгоритм сортировки пузырем
> как основной?
Потому что это глупо. Иногда возникают задачи где требуется отсортировать порядка 100 элементов, но даже в таких случаях рекомендуется использовать другие квадратичные алгоритмы, например SelectionSort, который программируется ничуть не сложнее пузырька. А вот как основной надо подавать что-то логрифмичесое, я бы предпочёл MergerSort, хотя она и не по месту, зато устойчивая и достаточно простая. В java например реализовано именно она.
← →
isasa © (2007-04-10 17:20) [46]IA (10.04.07 17:03) [43]
В этом коде _две_ ошибки.
:)
... и, вообще, удаление так никто не пишет ...
← →
_Аноним (2007-04-10 17:22) [47]
> В этом коде _две_ ошибки.
Совершенно верно. Процентов 70 увидели только одну.
← →
default © (2007-04-10 17:23) [48]pasha_golub © (10.04.07 17:04) [44]
а смысл это декларировать как основной метод?
← →
Юрий © (2007-04-10 17:25) [49]> [43] IA (10.04.07 17:03)
Вторая ошибка проверка на NIL?
← →
_Аноним (2007-04-10 17:27) [50]
> Юрий ©
Проверка на nil - это действительно чаще всего ошибка. Тут ее нету :-)
← →
Юрий © (2007-04-10 17:27) [51]> [50] _Аноним (10.04.07 17:27)
Я это и имел в виду. :)
← →
tesseract © (2007-04-10 17:28) [52]
> Вторая ошибка проверка на NIL?
первая ошибка - размерность list.
вторая Delete довольно скоро будет уничтожать несуществующие элементы list-а.
← →
Юрий © (2007-04-10 17:29) [53]> [52] tesseract © (10.04.07 17:28)
Умываю руки.
← →
Gero © (2007-04-10 17:31) [54]> [47] _Аноним (10.04.07 17:22)
> > В этом коде _две_ ошибки.
>
> Совершенно верно. Процентов 70 увидели только одну.
Процентов 70 среди кого? Студентов первого курса? Мне кажется, ошибки слишком очевидны, чтобы можно быть говорить о каком-то уровне тестируемого.
← →
tesseract © (2007-04-10 17:32) [55]
> Юрий © (10.04.07 17:29) [53]
С подобным приколом при работе с Tlist/ДинМассивами в приниципе столкнулся на 3 месяц работы программистом :-) Весьма часто попадающийся костыль у новичков.
← →
Юрий © (2007-04-10 17:33) [56]> [55] tesseract © (10.04.07 17:32)
Я почему то сразу подумал, про проверки, туда-сюда... Смотришь в книгу, видишь ...
← →
isasa © (2007-04-10 17:44) [57]Юрий © (10.04.07 17:33) [56]
:)
... главное TLict.Count свеженький брать ...
а for ... downto или while дело десятое
← →
_Аноним (2007-04-10 17:48) [58]
> Gero ©
> Процентов 70 среди кого?
Среди тех, кто пришел на собеседование.
То есть среди тех, чье резюме не отправилось в корзину сразу.
(а куча резюме отправилась в нее сразу по причинам, описанным Плохишом выше).
> tesseract ©
> Весьма часто попадающийся костыль у новичков.
ну как раз ставка сделана на то, чтобы проверить - а правда ли есть опыт. Если есть, костыль был, то ответ готов сразу :-)
← →
StriderMan © (2007-04-10 17:48) [59]
> tesseract © (10.04.07 17:28) [52]
+1, я сразу внимание обратил :)
кстати про листы. обычно принято очищать листы "обратным" циклом отCount-1
do0
. Я, пока этого не знал, придумал другой способ:
while List.Count > 0 do
List.Delete(List.Count - 1);
не нужна переменнаяi
:)
← →
Чапаев © (2007-04-10 17:48) [60]> [54] Gero © (10.04.07 17:31)
Я только со второй попытки обнаружил, что цикл от 0 до List.Count, а не до List.Count-1. Сам бы такой ошибки не допустил, на бумажке чужую наверняка не заметил бы...
← →
tesseract © (2007-04-10 17:51) [61]
> ... главное TLict.Count свеженький брать ...а for ... downto
> или while дело десятое
For i:=0 to List.count-1 do
begin
dispose(list[0])
list.delete(0);
end;
Вроде должно сработать без утечек, хлтя репа ща чугунная.
← →
Gero © (2007-04-10 17:52) [62]> [42] _Аноним (10.04.07 16:50)
> найдите ошибку в коде:
Вобще нехорошо, что говорится про ошибку. Тогда ответ про Count — 1 можно считать верным.
← →
isasa © (2007-04-10 17:54) [63]Кстати о птичках. В данной ситуации постановка вопроса
найдите ошибку в коде:
может вогнать испытуемого в ступор, т.к. приведен, совсем не корректный код, а человек волнуется, стрессовое состояние, может и в морду дать, что бывало. :)
Тогда спрашивать надо
перепишите правильно код:
← →
Юрий © (2007-04-10 17:56) [64]> [57] isasa © (10.04.07 17:44)
В любом случае, делать тут мне нечего, пошёл топится. :о)
← →
Ega23 © (2007-04-10 17:56) [65]
for i:=List.Count-1 downto 0 do List.Delete(i);
Но, впрочем, дело-то не в этом. ИМХО, главное тут - желание работать.
← →
_Аноним (2007-04-10 17:58) [66]
> Gero ©
Формулировка была такая:
"Найдите в приведенных примерах ошибки, если они есть"
и было 5 примеров - это один из них.
второй был на тему: "функция вернула PChar (result:=PChar(s)) , а s - локальная переменная типа string
еще один был вообще без ошибок.
← →
default © (2007-04-10 18:00) [67]
> может вогнать испытуемого в ступор, т.к. приведен, совсем
> не корректный код, а человек волнуется, стрессовое состояние,
> может и в морду дать, что бывало. :)
про морду можно поподробнее!
← →
isasa © (2007-04-10 18:08) [68]default © (10.04.07 18:00) [67]
про морду можно поподробнее!
Давно, была тут ветка о том, как на собеседовании двое не поделили индексы. А TList, он, посерьезнее будет. :)
← →
Плохиш © (2007-04-10 18:09) [69]
> StriderMan © (10.04.07 17:48) [59]
> кстати про листы. обычно принято очищать листы "обратным"
> циклом от Count-1 do 0. Я, пока этого не знал, придумал
> другой способ:
>
> while List.Count > 0 do
> List.Delete(List.Count - 1);
Фигня, это круче:List.Delete(0);
;-)
← →
isasa © (2007-04-10 18:15) [70]Плохиш © (10.04.07 18:09) [69]
Фигня, это круче:
List.Delete(0);
;-)
Да ну, легче перегрузиться.:)
← →
default © (2007-04-10 18:16) [71]проще вообще List.Clear:)
← →
Бишоп (2007-04-10 18:27) [72]
> Плохиш © (10.04.07 18:09) [69]
> Фигня, это круче:
> List.Delete(0);
да, прочитал и вспомнил, что так и делал :)))
> default © (10.04.07 18:16) [71]
> проще вообще List.Clear:)
кстати дляTObjectList
- самое оно
← →
StriderMan © (2007-04-10 18:27) [73]
> Бишоп (10.04.07 18:27) [72]
это я :)
← →
Юрий Зотов © (2007-04-10 19:03) [74]Познавшие ДАО очищают списки так:
procedure ClearList(List: TList);
begin
List.Clear;
end;
:o)
← →
pasha_golub © (2007-04-10 19:03) [75]
> ferr © (10.04.07 17:13) [45]
>
> > А почему бы 11-классникам не дать алгоритм сортировки
> пузырем
> > как основной?
>
> Потому что это глупо. Иногда возникают задачи где требуется
> отсортировать порядка 100 элементов, но даже в таких случаях
> рекомендуется использовать другие квадратичные алгоритмы,
> например SelectionSort, который программируется ничуть
> не сложнее пузырька. А вот как основной надо подавать что-
> то логрифмичесое, я бы предпочёл MergerSort, хотя она и
> не по месту, зато устойчивая и достаточно простая. В java
> например реализовано именно она.
Роман, Вы заканчивали пед. ВУЗ? Вы понимаете, что такое информатика в средней неспециализированной школе и ее задачи?
← →
Чапаев © (2007-04-10 19:13) [76]А мне сортировка выбором всегда представлялась проще пузырьковой... В том числе и в реализации.
← →
pasha_golub © (2007-04-10 19:20) [77]
> Чапаев © (10.04.07 19:13) [76]
>
> А мне сортировка выбором всегда представлялась проще пузырьковой.
> .. В том числе и в реализации.
Может быть. Это на рассмотрение преподавателя. Сам понимаешь, если у людей два часа (это в лучшем раскладе) в неделю, то тут не заборзеешь.
← →
ferr © (2007-04-10 19:22) [78]> А мне сортировка выбором всегда представлялась проще пузырьковой...
> В том числе и в реализации.
Selection = выбор. Это факт - она лучше.
> Роман, Вы заканчивали пед. ВУЗ? Вы понимаете, что такое
> информатика в средней неспециализированной школе и ее задачи?
Я учусь(!) в техническом, с натяжкой сказать вузе. Ну если так подходить тогда думаю лучше контр-страйк установить..
P.S. MergeSort, опечаточка.
← →
ferr © (2007-04-10 19:25) [79]С вашего позволения вставлю некоторые свои "выкройки". При сортировке целых чисел мною были получены следующие результаты(мс).
Кол-во 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536
Bubble 0.0025 0.0085 0.0323 0.1293 0.5214 2.0936 8.3018 32.793 130.88 532.87 2151.6 8685.4 47761
Shaker 0.0025 0.0080 0.0282 0.1092 0.4288 1.6955 6.7565 26.718 106.15 426.11 1716.6 6896.2 30936
Selection 0.0024 0.0070 0.0222 0.0772 0.2831 1.0826 4.1964 16.536 65.508 263.50 1054.2 4213.4 19436
Insertion 0.0012 0.0034 0.0114 0.0416 0.1588 0.6169 2.4413 9.7193 38.740 154.76 618.77 2474.2 13597
InsertionO 0.0013 0.0033 0.0099 0.0338 0.1238 0.4723 1.8481 7.3261 29.112 116.23 463.99 1855.5 11466
QuickSort 0.0027 0.0062 0.0137 0.0300 0.0650 0.1400 0.3000 0.6400 1.3600 2.9000 6.1400 13.000 28.100
QuickSortO 0.0016 0.0040 0.0092 0.0210 0.0468 0.1000 0.2250 0.4910 1.0600 2.2800 4.8700 10.410 23.270
HeapSort 0.0027 0.0061 0.0136 0.0305 0.0678 0.1493 0.3261 0.7000 1.5400 3.3800 7.4100 15.930 37.570
MergeSort 0.0015 0.0042 0.0104 0.0251 0.0571 0.1290 0.2871 0.6339 1.3996 3.0379 6.9225 15.633 35.464
← →
ferr © (2007-04-10 19:27) [80]Съехало, есть основания полагать что из-за DMClient"а, ибо в блокноте всё было замечательно.
Страницы: 1 2 3 4 5 вся ветка
Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.048 c