Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Спрашивали на собеседовании...   Найти похожие ветки 

 
Сатир   (2006-10-04 19:00) [0]

Какая связь между published, TPersistent и RTTI?


 
Ketmar ©   (2006-10-04 19:03) [1]

* в каждом слове все буквы -- латинские;
* ни в одном из слов нет пробелов;
* о них упоминали на собеседовании.

могу и ещё придумать. %-)


 
Сатир   (2006-10-04 19:05) [2]


> могу и ещё придумать

давай ещё варианты%)


 
EvS ©   (2006-10-04 19:07) [3]

Во всех словах присутствует буква i


 
Ketmar ©   (2006-10-04 19:09) [4]

* все буквосочетания короче 12 символов;
* ни об одном спрашивающий не знает нихрена (иначе зачем спрашивать?);
* в VBA такого нет;
* зато вопрос о них появился на "мастаках".

%-)


 
Yegorchic ©   (2006-10-04 19:11) [5]


> * ни об одном спрашивающий не знает нихрена (иначе зачем
> спрашивать?);


Почему же? Может знать об одном..


 
Ketmar ©   (2006-10-04 19:12) [6]

>[5] Yegorchic(c) 4-Oct-2006, 19:11
>Почему же? Может знать об одном..
и этот вариант вполне возможен. или о двух.


 
Palladin ©   (2006-10-04 19:18) [7]

хм...

* TPersisten позволяет своим наследникам организовать хранение и назначение published свойств посредством доступа к ним через RTTI...

думаю необходимый и достаточный ответ :)
по крайней мере его бы мне на собеседовании хватило


 
Сатир   (2006-10-04 19:19) [8]

ладно, я ответил,  что
published свойства типа TPersistent отображаются в RTTI

и мне тут коллега подсказал, что
у типа ТПерсистент есть методы, позволяющие считывать и записывать целые объекты в рантайме, но позволяет оно это делать только с паблишед свойствами


 
Palladin ©   (2006-10-04 19:21) [9]

выразился правда не совсем точно, но спишем это на градус


 
Сатир   (2006-10-04 19:21) [10]


> Palladin ©   (04.10.06 19:18) [7]

ага, только я этого не знал, а предположил наугад)))
называется "сериализация"


 
Сатир   (2006-10-04 19:22) [11]


> выразился правда не совсем точно

а в чём неточность?


 
Palladin ©   (2006-10-04 19:22) [12]

а... точно... так оно и называется...


 
Джо ©   (2006-10-04 19:23) [13]

> [8] Сатир   (04.10.06 19:19)
> и мне тут коллега подсказал, что
> у типа ТПерсистент есть методы, позволяющие считывать и
> записывать целые объекты в рантайме, но позволяет оно это
> делать только с паблишед свойствами

У TPersistent нет таких методов.


 
Palladin ©   (2006-10-04 19:24) [14]


>  [11] Сатир   (04.10.06 19:22)

это я про себя сказал а не про тебя...


 
Джо ©   (2006-10-04 19:24) [15]

А всего-то то в этом классе и есть отличного от других классов, что он объявлен с {$M+}.


 
Сатир   (2006-10-04 19:25) [16]


> Джо ©   (04.10.06 19:23) [13]

ну тогда давай свой вариант ответа:-)


 
Джо ©   (2006-10-04 19:33) [17]

> [16] Сатир   (04.10.06 19:25)
>
> > Джо ©   (04.10.06 19:23) [13]
>
> ну тогда давай свой вариант ответа:-)


Класс TPersistent объявлен с директивой {$M+}, следовательно, при компиляции для него и всех его наследников будет генерироваться информация времени исполнения (Runtime type info, RTTI) для его полей, свойств и методов, находящихся в секции published. Вот, пожалуй, и всё :)


 
Сатир   (2006-10-04 19:34) [18]


> Джо ©   (04.10.06 19:33) [17]

супер!:)


 
Palladin ©   (2006-10-04 19:47) [19]


> [17] Джо ©

ага :) тут то тебя буквоедом и назначат :))


> Спрашивали на собеседовании

если честно подобных вопросов никогда на собеседованиях не задаю

только:
три теоретических
1. Какой ЯВУ Вы предпочитаете для решения (задача придумывается)?
2. Почему?

и три практических
1. поменять две целочисленных переменных местами без использования третьей
2. найти дыры в наборе целых чисел
3. определить вхождение точки в n-угольник (опционально)

по поводу теории разговор идет незамедлительно, а по поводу практики даю неограниченное время, бо самое интересное начинается потом :) когда ко мне приходят с ответами...


 
Palladin ©   (2006-10-04 19:49) [20]


> три теоретических

фу блин... почти три...
третий тоже опционален и выглядит как: "а почему не Делфи?"


 
Джо ©   (2006-10-04 19:51) [21]

> [19] Palladin ©   (04.10.06 19:47)
>
> > [17] Джо ©
>
> ага :) тут то тебя буквоедом и назначат :))

Нее... Буквоедом я и сам не согласен у них работать :) Пусть с такими вопросами остаются без работников :)


 
Ketmar ©   (2006-10-04 19:54) [22]

>[19] Palladin(c) 4-Oct-2006, 19:47
>1. Какой ЯВУ Вы предпочитаете для решения (
>задача придумывается)?
тот, на котором пишут в данной конторе.

>2. Почему?
потому что на нём пишут в данной конторе. %-)

>3. определить вхождение точки в n-угольник (
>опционально)
а вот это с ходу не решу. потому что лениво формулы вспоминать. когда-то решал оригинальным методом: для каждого ребра: поворачивал его, чтобы было вертикальным, направлено снизу вверх, потом смотрел, с какой стороны точка. %-)


 
Иксик ©   (2006-10-04 19:56) [23]

RTTI это MetaData в .NET?


 
Джо ©   (2006-10-04 19:57) [24]

Да ну, трассировка луча — самое простое, что можно реализовать за разумное время "в полевых условиях". И всех-то формул, что пересечение прямой с отрезком :)


 
Джо ©   (2006-10-04 19:58) [25]

> [23] Иксик ©   (04.10.06 19:56)
> RTTI это MetaData в .NET?

Нет, MetaData в .NET — это RTTI :)


 
Ketmar ©   (2006-10-04 19:58) [26]

>[24] Джо(c) 4-Oct-2006, 19:57
>условиях". И всех-то формул, что пересечение
>прямой с отрезком :)
проблема была в том, что как раз этого я и не помнил. т.е. универсальной формулы. а ещё тогда активно занимался 3д-движками. отсюда и повороты. %-)


 
Palladin ©   (2006-10-04 19:59) [27]


> [22] Ketmar ©



> тот, на котором пишут в данной конторе.

неа, чел понятия не имеет на чем пишут в нашей конторе


> потому что на нём пишут в данной конторе.

неуд! :)


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

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


 
Ketmar ©   (2006-10-04 20:02) [28]

>[27] Palladin(c) 4-Oct-2006, 19:59
>неа, чел понятия не имеет на чем пишут в нашей
>конторе
а пофигу. на чём пишут -- на том и я буду. %-) потому что конторские правила. %-)

>> потому что на нём пишут в данной конторе.
>неуд! :)
обоснуй. %-))

>ага... меня формулы не устраивают и мне они не
>интересны, мне интересен подход человека к этой
>проблемме, а формулы идут лесом... если сможет
ну вот я тебе описал подход. самое интересное, что это работало. и было написано с учётом ограничений (не было ни книжек, ни математика рядом, ни -- в то время -- никакого инета). %-)

>хоть чуть чуть мне обьяснить алгоритм и добиться
>того что бы я вник в решение... я даже
долго бить по голове, пока ты не согласишься, что вник. %-)


 
MeF Dei Corvi ©   (2006-10-04 20:11) [29]


> 3. определить вхождение точки в n-угольник (опционально)

Я бы попытался как-нибудь хитро найти :) Ну не знаю. Соединять две точки каждого ребра с этой точки -> получаем треугольник. Считаем площади таких треугольников. Считаем площадь n-угольника. Сравниваем. Хотя в таком случае возможна неточность из-за того, что числа в памяти представляются, увы, не с бесконечной точностью. Впрочем, если n-угольник невыпуклый, то этот способ не катит. Хм...
Не найдя хитрый способ, начал бы писать тупую проверку на пересечения.


 
Palladin ©   (2006-10-04 20:11) [30]


> [28] Ketmar ©  



> а пофигу. на чём пишут -- на том и я буду. %-) потому что
> конторские правила. %-)

может я и не прав, но писать у меня могут на том на чем лучше получается и что лучше подходит для задачи. проектировка позволяет (сам себя не похвалишь, нокто не похвалит :) )


> обоснуй. %-))

дык... вроде как обосновал выше... :)


> долго бить по голове, пока ты не согласишься, что вник.
> %-)

нююю... при таком подходе я у тебя заказ сделаю на очередную поставку мётел... :)


 
Palladin ©   (2006-10-04 20:13) [31]


> [29] MeF Dei Corvi ©

n-угольник любой... хоть выпуклый хоть впуклый...


 
MeF Dei Corvi ©   (2006-10-04 20:13) [32]


> хоть выпуклый хоть впуклый...

самопересечения не допускаются?


 
Ketmar ©   (2006-10-04 20:15) [33]

>[30] Palladin(c) 4-Oct-2006, 20:11
>может я и не прав, но писать у меня могут на том
>на чем лучше получается и что лучше подходит для
>задачи.
ой. а потом это состыковывать? бр-р-р... common lisp, например, prolog, php и assembler. %-)

>проектировка позволяет (сам себя не
>похвалишь, нокто не похвалит :) )
%-)

>нююю... при таком подходе я у тебя заказ сделаю
>на очередную поставку мётел... :)
тоже вариант. %-)


 
Сатир   (2006-10-04 20:15) [34]

о, вспомнил другой вопрос с другого собеседования...
что такое "агрегирование" и чем оно отличается от обычного наследования?


 
Palladin ©   (2006-10-04 20:15) [35]

допускаются...


 
Джо ©   (2006-10-04 20:16) [36]

> [34] Сатир   (04.10.06 20:15)
> о, вспомнил другой вопрос с другого собеседования...
> что такое "агрегирование" и чем оно отличается от обычного
> наследования?

Это простой вопрос, вообще-то.


 
Ketmar ©   (2006-10-04 20:19) [37]

>[34] Сатир 4-Oct-2006, 20:15
>что такое "агрегирование" и чем оно отличается
>от обычного наследования?
неинтересно. %-)


 
Сатир   (2006-10-04 20:19) [38]


> Это простой вопрос, вообще-то.

не спорю. но читал об этом только в одной книжке и потому не особо запомнилось.
напомни, плиз:)


 
Иксик ©   (2006-10-04 20:21) [39]


> Джо ©   (04.10.06 19:58) [25]

Ну да :))) Я не так выразился :)


 
Ketmar ©   (2006-10-04 20:21) [40]

"агрегирование" -- это включение объекта в другой объект. обычно при помощи поля-переменной. %-) остальное додумай сам. %-))



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

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.322 c
15-1160470659
Cash
2006-10-10 12:57
2006.10.29
Новое слово в креплении кулеров!


15-1160034074
kyn66
2006-10-05 11:41
2006.10.29
Поиск дубликатов файлов


15-1159942031
Курдль
2006-10-04 10:07
2006.10.29
Совсем не в тему Delphi, но такие строки больно берут за душу...


2-1160629003
Unknone
2006-10-12 08:56
2006.10.29
Компонент OpenDialog


6-1149065520
tyo
2006-05-31 12:52
2006.10.29
Траблы с Веб-сервисом