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

Вниз

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

 
Сатир   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.042 c
9-1138023806
rts111
2006-01-23 16:43
2006.10.29
OpenGL. Как сделать прозрачность?


3-1156829716
Orxan
2006-08-29 09:35
2006.10.29
Юникоды и компонент TOracleQuery


6-1149253097
kreyl
2006-06-02 16:58
2006.10.29
Как запустить функцию на сервере и получить ее результат?


15-1160295530
ArtemESC
2006-10-08 12:18
2006.10.29
C C++


2-1160982536
mva
2006-10-16 11:08
2006.10.29
Языковая панель





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский