Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

Тестирование... на знание   Найти похожие ветки 

 
_Аноним   (2007-04-11 10:27) [120]


> IA  


> Разумеется. А потом ищи где у юзера AV выскочило.  Проверка
> аргументов должна быть во всех public & protected методах,
>  и в private зачастую.


не ввовдите людей в заблуждение, кто-то может и поверить.


> Что делать если аргумент пустой, кидать ошибку или молча
> обходить
зависит от конкретного случая.


А вот за это увольнять надо. И никакой Кнут не поможет


 
ferr ©   (2007-04-11 10:30) [121]

> Задача стояла в выборе структуры данных
> > для обработки уже считанных данных..

Т.е. имелось ввиду то что данные каким-то неведом нам образом поступают нам на вход.. И надо предложить эффективный способ отыскания наибольших чисел. Ответом к задачи является слово куча(Heap). А на каком языке это писать и что испольовать это дело десятое.


 
Чапаев ©   (2007-04-11 10:39) [122]

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


 
_Аноним   (2007-04-11 10:44) [123]


> Чапаев ©  

Я полагаю так.
Если нулевой аргумент - это штатная ситуация, то тогда проверять разумеется надо. Если это ситуация нештатная (ошибка программиста), то не надо.


 
REA   (2007-04-11 10:50) [124]

Мой патентованный тест для отсева новичков (старенький уже, пора обновить):

Контрольные вопросы (отвечать максимально полно; если имеется, указывать опыт работы)
Что такое Int21h?
Что такое IRQ3?
Что такое DMA?
Что такое EMS, UMB, XMS?
Что такое LBA?
Что такое IPX?
Что такое CMOS?
Что такое PCI, PCMCIA?
Что такое PCAD?
Что такое FIDO?
Что такое IDE?
Что такое FAT, HPFS, NTFS, WinFS?
Что такое GDI, GDI+?
Что такое DDE, IPC?
Что такое OLE?
Что такое MDI?
Что такое VxD?
Что такое DLL?
Что такое ADO, DAO, ODBC, BDE?
Что такое MAPI?
Что такое RTL?
Что такое USB?
Что такое TSR?
Что такое QNX?
Что такое SQL?
Что такое NNTP, SMTP, SOAP?
Что такое CGI, ISAPI, NSAPI?
Что такое API, SDK, DDK?
Что такое RTTI?
Что такое IDDQD, RTFM, LMD?
Что такое MSDN?
Что такое COM, RPC, DCOM, COM+?
Что такое WDM?
Что такое UML?
Что такое .Net, C#?
Что такое CHM?
Что такое XML, ASP, CDO?
Что такое RFC?


 
KSergey ©   (2007-04-11 10:52) [125]

> _Аноним   (11.04.07 10:44) [123]
> Я полагаю так.
> ... то тогда проверять разумеется надо.
> ... то не надо.

Да фиг с ним с проверкой.
Увольнять то будем или нет?


 
KSergey ©   (2007-04-11 10:55) [126]

> REA   (11.04.07 10:50) [124]
> Мой патентованный тест

Абалдеть!
А может поделитесь главным: как результаты интерпретируете?


 
tesseract ©   (2007-04-11 10:58) [127]


> Что такое IDDQD, RTFM, LMD?


+5


 
_Аноним   (2007-04-11 11:00) [128]


> KSergey ©  


> Увольнять то будем или нет?


нет :-). Но пригрозим.


 
Steep ©   (2007-04-11 11:18) [129]

>REA   (11.04.07 10:50) [124]
А где ответы на это можно почитать ?


 
evvcom ©   (2007-04-11 11:21) [130]

У нас на прошлой работе была анкета, в ней вопрос:
"Уровень владения компьютером" и варианты ответов "On/Off, C&C, <и что-то еще>". Обычно у народа на C&C взгляд даже не останавливался :)


 
homm ©   (2007-04-11 11:21) [131]

а что значит C&C ?


 
Думкин ©   (2007-04-11 11:22) [132]


> homm ©   (11.04.07 11:21) [131]

Команд энд конквэе


 
Чапаев ©   (2007-04-11 11:22) [133]

комманд энд конкур?


 
REA   (2007-04-11 11:23) [134]

Результаты на глаз интерпретируются, ответы все в интернете :)


 
homm ©   (2007-04-11 11:24) [135]

Я так и подумал :)


 
Ega23 ©   (2007-04-11 11:27) [136]


> Что такое IDDQD, RTFM, LMD?


Только вчера писал скрипт на начальное заполнение базы. Написал автоматом, потом задумался:

 Insert into AccessRoles (AccRoleID, AccRoleNam, AccRoleLab, AccRoleMsk, AccRoleOrd, AccRoleNot)
   Values (0, "Разработчег", "IDDQD", 1, 0, "God Mode");


 
KSergey ©   (2007-04-11 11:36) [137]

> REA   (11.04.07 11:23) [134]
> Результаты на глаз интерпретируются

По каким критериям?
Ну положим, кандидат будет с упоением рассказывать обо всех граблях, на которые он наступил при юзании интерфейса Int21h? и даже сможет перечислить половину комадн из этого интерфейса на память? А так же подробно расскажет о том, как он выпивал с Васлием Иванычем лично из именной кружки. (Ибо сказано: "указывать опыт работы".) и что? В вашей конторе есть отделы под все эти ключевые слова?


 
Чапаев ©   (2007-04-11 11:41) [138]

> [137] KSergey ©   (11.04.07 11:36)
Сидим, бывало, о преимуществах file handles над FCB кумекаем...


 
MBo ©   (2007-04-11 11:54) [139]

>Loginov Dmitry
Если в данном случае неправильно организовать обработку данных, то время на чтение файла будет ничтожно мало, и метод не будет иметь значения.

>KSergey
Ну автор поста в самом начале еще говорил
>Ясное дело, что у всех интересы/специализация разная(кто работает напр. с БД, а кто-то с графикой),

Вот и я подкинул то, что мне ближе


 
homm ©   (2007-04-11 11:57) [140]

> Если в данном случае неправильно организовать обработку
> данных, то время на чтение файла будет ничтожно мало, и
> метод не будет иметь значения.

Речь о 16 гигабайтах же вроде? :) Время на чтенее в любом случае не может быть ничтожно малым.


 
tesseract ©   (2007-04-11 12:05) [141]


> на которые он наступил при юзании интерфейса Int21h?


Гм вроде это не интерфейс, а функция bios для работы с фс.


 
KSergey ©   (2007-04-11 12:12) [142]

> tesseract ©   (11.04.07 12:05) [141]
> > на которые он наступил при юзании интерфейса Int21h?
> Гм вроде это не интерфейс, а функция bios для работы с фс.

"Ти как хочишь эта назави!" :)
Вопрос терминологии, по-моему.


 
homm ©   (2007-04-11 12:16) [143]

> Гм вроде это не интерфейс, а функция bios для работы с фс.

А я бы назвал «сервис».


 
Чапаев ©   (2007-04-11 12:18) [144]

> функция bios для работы с фс.
Уууууу, совсем низачот... ;-) Биос к int 21h никакого отношения не имеет, да и работа с фс -- только малая часть функций.


 
MBo ©   (2007-04-11 12:31) [145]

>KSergey
>А мне вот - нафиг такое ни раз не понадобилось.

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

>SlymRO ©   (11.04.07 09:54) [112]
>А про "Битовый массив" поподробней?
Заводим массив байтов длиной Число кластеров/8, вначале обнуляем.
Проходим цепочки каждого файла, для каждого номера кластера выставляем соответствующий бит (бит номер (i mod 8) в байте [i div 8] в 1, если он нулевой. Если он уже был единичным - нашли пересечение.
C числом кластеров я наврал, максимум получается 2^22, но для доса хватит ;)


 
tesseract ©   (2007-04-11 12:34) [146]


> Уууууу, совсем низачот... ;-) Биос к int 21h никакого отношения
> не имеет, да и работа с фс -- только малая часть функций.
>


Я  на экзамен по асм под  ДОС и не записывался :-)


 
KSergey ©   (2007-04-11 12:35) [147]

> MBo ©   (11.04.07 12:31) [145]
> может, я ошибаюсь, но мне кажется, что несколько лет назад
> ты сталкивался с задачей размещения текстовых кусков на
> газетном листе.


А ведь и правда... вот ведь как оно: из конторы ушел - и все начисто позабыл...


 
MBo ©   (2007-04-11 12:38) [148]

>homm ©   (11.04.07 11:57) [140]
>Речь о 16 гигабайтах же вроде? :) Время на чтенее в любом случае не может быть ничтожно малым.

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


 
homm ©   (2007-04-11 12:43) [149]

> любая из быстрых сортировок такого массива займет не меньше  времени

Дак нам же вроде не требуется именно его сортировать нужно сортировать только милин значений, но правда 16 миллиардов раз :)


 
@!!ex ©   (2007-04-11 12:46) [150]

Хм. Везде куда я приходил или меня приглашали, вопрос собеседования был один:
покажи что писал. Реже еще код спрашивали...
Этого не достаточно, чтобы определить профессионализм программера?

P.S.
Только одно собеседование в жизни было нормальным, на тестера и то там задавали вопросы по программированию...
Имел глупость сказать, что писал сетевые приложения... И на вопросе под 1 или 2 завалился? Вылетело напрочь из головы, что винсоков две версии...


 
MBo ©   (2007-04-11 13:02) [151]

homm ©   (11.04.07 12:43) [149]
>Дак нам же вроде не требуется именно его сортировать нужно сортировать только милин значений, но правда 16 миллиардов раз :)

Вот в том-то и дело, что применив подходящую структуру данных - очередь по приоритетам на основе Heap в массиве, как ferr написал, мы радикально сократим время обработки. Подробнее:
1. Заводим массив длиной миллион, читаем в него первый миллион чисел.
2. Выполняем его упорядочение кучей с минимумом на вершине
3. Читаем очередное число (для скорости, конечно, блоками, например, по мегабайту), сравниваем его с текущим минимумом, и если оно больше, удаляем старый минимум, вставляем новое число, восстанавливаем пирамидальность кучи.

Если в файле N чисел, а нужно выбрать M, то затраты:
на чтение: O(N)
на первоначальное упорядочение: O(M)
на обработку последующих чисел:
Лучший случай - O(N) - для убывающего файла
Худший случай - O(N Log M) - для возрастающего файла

Общее асимптотическое время, т.о., O(N Log M)


 
homm ©   (2007-04-11 13:09) [152]

> 2. Выполняем его упорядочение кучей с минимумом на вершине

Что имеется ввиду под упорядоченностью? Если сортировка, то это имхо избыточно. Нужно только что-бы минимальный элемент всегда был сверху (либо был известен его номер, что одно и то-же) А отсортировать мы можем и в конце. Так не оптимальнее?


 
KSergey ©   (2007-04-11 13:16) [153]

> @!!ex ©   (11.04.07 12:46) [150]
> покажи что писал. Реже еще код спрашивали...

О, к слову:
Как-то в переписке с одной конторой меня попросили привести куски имеющихся текстов на ASP.NET (моего исполнения, в смысле).
На что я ответил, что своих у меня нет, т.к. дома от нефиг делать уже давно этим не занимаюсь, а присылать куски корпоративного кода даже и писанные мною - считаю не этичным и, кроме того, явно противоречащим взятым на себя обязательствам. Но могу сделать тестовое задание какое предложите".
На что ответа не последовало вовсе (хотя до этого переписка была, по другим технологиям).
Может я чего не того сказал? Мне просто любопытно.
(Впрочем, вполне вероятно, что проблема была совсем не в том :) .)


 
Romkin ©   (2007-04-11 13:19) [154]

Вообще, корректный ответ - очередь с приоритетами. То, что она построена на куче - это уже частный случай ;)


 
MBo ©   (2007-04-11 13:33) [155]

>Что имеется ввиду под упорядоченностью?
Свойство кучи (бинарной пирамиды) - полное двоичное дерево, каждый элемент меньше обоих дочерних элементов, но дочерние элементы между собой неупорядочены (в отличие от бинарного дерева поиска, в котором левый элемент меньше родителя, а правый больше). При нумерации массива с единицы детками I-го будут 2*I и 2*I+1
Вот пример такого упорядочения: 1 2 4 5 3 7 5  
Все это позволяет хранить данные в массиве без дополнительного расхода памяти (в отличие от деревьев с узлами-указателями) и быстро восстанавливать Heap-порядок за LogM операций

>только что-бы минимальный элемент всегда был сверху (либо был известен его номер, что одно и то-же)
Пусть мы используем обычный массив, вначале отсортировали массив, первый элемент - наименьший.
Если очередной элемент больше минимума - куда вставлять его? Если на положенное место и сдвигать часть массива влево - затраты большие, в среднем порядка M/2 операций ,что для M=1000000 в десять тысяч раз хуже кучи. Если заменять минимум, а указатель минимума сдвигать на второй элемент - то после нескольких вставок весь порядок нарушится


 
homm ©   (2007-04-11 13:42) [156]

> Если заменять минимум, а указатель минимума сдвигать на
> второй элемент - то после нескольких вставок весь порядок
> нарушится

Зачем нам упорядоченность никак не пойму :) Вставили этот элемен на место минимума, нашли номер теперешнего минимума (самая долгая операция), сравниваем следующий элемент с теперешним минимумом.

Впрочем по [155] видно, что мое знание матчасти в этом вопросе ... увы :)


 
MBo ©   (2007-04-11 13:45) [157]

>нашли номер теперешнего минимума (самая долгая операция),
Вот именно! этот поиск потребует порядка M операций, а нехитрое упорядочение кучей сокращает это время офигенно.


 
db2admin   (2007-04-11 13:58) [158]

int 21 это прирывание


 
evvcom ©   (2007-04-11 14:12) [159]

> Думкин ©   (11.04.07 11:22) [132]
> Чапаев ©   (11.04.07 11:22) [133]
Угу, оно. Анкету ребята составляли, которые в то время всеми вечерами по сети баталии устраивали. Ну и типа пошутили :)


 
tesseract ©   (2007-04-11 14:25) [160]


> Угу, оно. Анкету ребята составляли, которые в то время всеми
> вечерами по сети баталии устраивали. Ну и типа пошутили
> :)


тест на совместимость с коллективом :-)



Страницы: 1 2 3 4 5 вся ветка

Форум: "Прочее";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.81 MB
Время: 0.051 c
2-1178288335
Inna_Z
2007-05-04 18:18
2007.05.20
Как узнать версию Oracle к которой подключились?


15-1177331169
NewUser2
2007-04-23 16:26
2007.05.20
Найти....


15-1176820561
ANB
2007-04-17 18:36
2007.05.20
Чего с зарплатой будет ?


6-1163677053
dima_shapkin
2006-11-16 14:37
2007.05.20
IP


15-1176436333
MBo
2007-04-13 07:52
2007.05.20
Пятничные задачки. Вася Пупкин returns...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский