in reply to (OT) Interview questions -- your response?
I agree these are fair questions. Answers follow.
1. a.
The problem is that there are roughly a_array_size * b_array_size operations happening here. Bad big o.
1. b.
I'd sort the one array, running through the
other as an unordered list and using a binary search
on the first.
2.
sub reverse_array { my $ar = shift; my ( $head, $tail) = ( 0, $#$ar); while ( $head < $tail) { ($ar->[$head], $ar->[$tail]) = ( $ar->[$tail],$ar->[$head]); $head++; $tail--; } }
3.
This one is pretty open ended.
It is not clear whether or not the requestors are
under our authorship.
Assuming not.
The requestor initially generates some request.
This is put to a connector which will attempt to identify
the input "language", choose a translator, identify the
default or requested output style, choose
a formatter, and create a unique dialog with these
components.
There will be translators defined for each input "language",
formatters for each output style.
The translators
will convert requests to one "language".
The dialogs
will contain a hopefully much simplified
dialog, a backend,
to talk to the actual datasources.
This is generalized to ease expansion beyond the initial
request. Early implementations should stub out some of
these components.
|
---|