Re[12]: Как я завалил собеседование
От: superman  
Дата: 24.01.07 08:20
Оценка:
Здравствуйте, i-maverick, Вы писали:

IM>Здравствуйте, superman, Вы писали:


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


IM>"Создайте систему, которой сможет пользоваться каждый дурак, и только дурак захочет ей пользоваться". (с) Закон Мерфи.



Хм.. а вы этим, вордом пользуетесь? а виндовсом?
Re[13]: Как я завалил собеседование
От: i-maverick Россия  
Дата: 24.01.07 09:06
Оценка:
Здравствуйте, superman, Вы писали:

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


IM>>"Создайте систему, которой сможет пользоваться каждый дурак, и только дурак захочет ей пользоваться". (с) Закон Мерфи.


S>Хм.. а вы этим, вордом пользуетесь? а виндовсом?


Да, пользуюсь. А вы считаете, что ими может пользоваться каждый дурак?
Re[14]: Как я завалил собеседование
От: superman  
Дата: 24.01.07 09:16
Оценка:
Здравствуйте, i-maverick, Вы писали:

IM>Здравствуйте, superman, Вы писали:


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


IM>>>"Создайте систему, которой сможет пользоваться каждый дурак, и только дурак захочет ей пользоваться". (с) Закон Мерфи.


S>>Хм.. а вы этим, вордом пользуетесь? а виндовсом?


IM>Да, пользуюсь. А вы считаете, что ими может пользоваться каждый дурак?


ИМХО да.. именно в этом и заключалась идея, и получилось по моему действительно неплохо..
ещё когда-то я слышал про такой проэкт как "компьютер для безграмотных"
Re[11]: Как я завалил собеседование
От: Hottabych1  
Дата: 24.01.07 09:40
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>Здравствуйте, Hottabych1, Вы писали:


H>>Но я над ними долго и внимательно корпел, с компилятором и документацией, а также книжкой Кернигана.

H>>Вот, к примеру, мой ответ на второй вопрос (там, где галочки проставлять):

H>>2) Сортированный vector позволяет, при использовании бинарного поиска, на каждом шаге отсеивать половину элементов, т.е. его сложность будет O(log2(n)) -- логарифм по снованию 2 от n (а не O(ln(n))).


_>Что такое временная сложность ты очевидно тоже плохо понимаешь. Константным множителям там делать нечего, а основание логарифма это ничто иное как константный множитель.


За каждый раз алгоритм отсеивает половину вариантов при чем тут логарифм с основанием 2,7? Ясно, что будет просто двойка в основании. Если не прав — поправляйте.
Re[4]: Как я выгнал человека с собеседования
От: 0rc Украина  
Дата: 24.01.07 09:43
Оценка: +4
Здравствуйте, Hottabych1, Вы писали:

H>И еще хочу искренне поблагодарить за честность.


Пожалуйста не оверквотте!
Re[5]: Как я выгнал человека с собеседования
От: Hottabych1  
Дата: 24.01.07 09:52
Оценка: :))
Здравствуйте, 0rc, Вы писали:

0rc>Здравствуйте, Hottabych1, Вы писали:


H>>И еще хочу искренне поблагодарить за честность.


0rc>Пожалуйста не оверквотте!


Ладно, не буду .
Re[10]: Как я завалил собеседование
От: ettcat США  
Дата: 24.01.07 09:54
Оценка:

H>2) т.е. его сложность будет O(log2(n)) -- логарифм по снованию 2 от n (а не O(ln(n))).

log a (n) = log b (n)/log b (a) = ln(n)/ln(a) => O(log2(n)) = O(ln(n)), где log a (n) — логарифм по основанию a
Re[7]: Как я завалил собеседование
От: egaron http://127.0.0.1
Дата: 24.01.07 10:01
Оценка: -3
Здравствуйте, TMU, Вы писали:

S>>>Яндексу +1 раз он так быстро тебя забраковал. Я видел компании где за неимением лучьших брали и таких, но это совсем не "солидные компании"

H>>Напротив, очень зря меня Яндекс не взял . Да, многого не знаю, но главное, что голова есть на плечах и в сильной команде я, уверен, быстро дорасту до соответствующего уровня. А если не давать никому шанс, то скоро просто неоткуда будет брать хороших специалистов. Так как, чтобы стать таким надо пройти определенную школу, работая с сильными коллегами. А потом самому привлекать новичков, передавая им знания.


TMU>Молодой человек!(если такое обращение коробит — извиняюсь сразу)


TMU>Я за свою жизнь не написал ни строчки на плюсах (по работе, для себя кропал когда-то что-то).

TMU>В плюсах я не смыслю ни бельмеса. Я довольно слабо понимаю умные вещи, которые в этой ветке обсуждают умные люди.
TMU>Но! Мне и то понятно, что не взяли Вас правильно. Не обижайтесь, но мне кажется, что Вы делаете довольно типичную ошибку —
TMU>не усвоив и не осознав базовые концепции, видите проблему в частностях. Человек способен заучить огромный объем материала, но без понимания это мертвый груз. Практический совет — изучая что-то(собственно, неважно что именно) регулярно задавайте себе вопрос — а почему это именно так, а не иначе и что будет если сделать по другому. Помогает пониманию, знаю по опыту
TMU>В целом — удачи, уверенности в себе Вам, похоже, хватает

Вы абсолютно правы. Но понимай ты или не понимай концепции, а экзаменатор возьми да и спроси "какого цвета левый задний бит в тридцать шестом байте MSIL-кода скомпилированной сборки ?" И пойдешь ты гадать со своими концепциями и пониманиями . И будешь изгнан прямым и честным Анатоликсом прямо с собеседования. Или тебе будет сказано "подождать две недели, пока мы подумаем" непрямым и нечестным Гугликсом.
Re[14]: Как я завалил собеседование
От: jazzer Россия Skype: enerjazzer
Дата: 24.01.07 10:12
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Я понимаю , но какое именно метафизическое свойство нам гарантирует что своп не выкинет исключения ? У кого считается ?

Ну вот, например:

23.1/10 (Container requirements)
— no swap() function throws an exception unless that exception is thrown by the copy constructor or assignment operator of the container’s Compare object (if any; see 23.1.2).

Соответственно все контейнеры стандартной библиотеки это гарантируют (если ты, конечно, не засунул в него невменяемый Compare), причем независимо от типа элементов.

M>Какой механизм нам позволит делать своп для произвольных мемберов ?

Механизм сознательного следования правилу написания функций swap не бросающими исключений.

P.S. К сожалению, алгоритм swap из стандартной библиотеки этому правилу в общем виде не удовлетворяет
Так что надо писать его специализации для всех классов, которые не могут быть созданы/скопированы с гарантией отсутствия исключений.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[7]: Как я завалил собеседование
От: ettcat США  
Дата: 24.01.07 10:26
Оценка: 1 (1)

S>раз уж вы так гордитесь своей головой-на-плечах постарайтесь обосновать полезность и принцыпы построенения такой структуры как несортированное (в общем случае неупорядоченное) дерево

Вот примеры несортированных деревьев, которые сразу в голову пришли:
  1. Выражение 2+2*2 можно выарзить в виде бинарного дерева: (+ 2 (* 2 2)). Это дерево можно уже редуцировать в конкретное значение.
  2. XML можно представить в виде дерева — оно упорядоченно, но не отсортированно.
Re[15]: Как я завалил собеседование
От: minorlogic Украина  
Дата: 24.01.07 10:41
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, minorlogic, Вы писали:


M>>Я понимаю , но какое именно метафизическое свойство нам гарантирует что своп не выкинет исключения ? У кого считается ?

J>Ну вот, например:
J>

23.1/10 (Container requirements)
J>— no swap() function throws an exception unless that exception is thrown by the copy constructor or assignment operator of the container’s Compare object (if any; see 23.1.2).

J>Соответственно все контейнеры стандартной библиотеки это гарантируют (если ты, конечно, не засунул в него невменяемый Compare), причем независимо от типа элементов.

M>>Какой механизм нам позволит делать своп для произвольных мемберов ?

J>Механизм сознательного следования правилу написания функций swap не бросающими исключений.

J>P.S. К сожалению, алгоритм swap из стандартной библиотеки этому правилу в общем виде не удовлетворяет

J>Так что надо писать его специализации для всех классов, которые не могут быть созданы/скопированы с гарантией отсутствия исключений.

Ну наконецто вы озвучили то что я пытался сказать , для применения описанного трюка , все участвующие классы должны нести соответствующую нагрузку. И данный трюк не подходит для general случая.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[8]: Как я завалил собеседование
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 24.01.07 10:50
Оценка: 15 (1) :))) :))) :)
Здравствуйте, egaron, Вы писали:

E>Вы абсолютно правы. Но понимай ты или не понимай концепции, а экзаменатор возьми да и спроси "какого цвета левый задний бит в тридцать шестом байте MSIL-кода скомпилированной сборки ?"


Четные левые задние байты всегда красные. Это знает каждый школьник.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[8]: Как я завалил собеседование
От: TMU Россия  
Дата: 24.01.07 10:59
Оценка:
E>Вы абсолютно правы. Но понимай ты или не понимай концепции, а экзаменатор возьми да и спроси "какого цвета левый задний бит в тридцать шестом байте MSIL-кода скомпилированной сборки ?" И пойдешь ты гадать со своими концепциями и пониманиями . И будешь изгнан прямым и честным Анатоликсом прямо с собеседования. Или тебе будет сказано "подождать две недели, пока мы подумаем" непрямым и нечестным Гугликсом.


У меня сложилось впечатление, что Анатоликс такого вопроса не задаст. А в места, где на основе ответов на такие вопросы, делают какие-то выводы, по-моему и ходить незачем.
Re[12]: Как я завалил собеседование
От: skeptik_  
Дата: 24.01.07 11:03
Оценка:
Здравствуйте, Hottabych1, Вы писали:

_>>Что такое временная сложность ты очевидно тоже плохо понимаешь. Константным множителям там делать нечего, а основание логарифма это ничто иное как константный множитель.


H>За каждый раз алгоритм отсеивает половину вариантов при чем тут логарифм с основанием 2,7? Ясно, что будет просто двойка в основании. Если не прав — поправляйте.


f(n)=O(log(n)) означает, что существует число С, такое, что для каждого N f(N) <= C*log(N) + C. Или попросту, что наша функция при больших N растёт не быстрее, чем логафмическая функция, если не принимать во внимание константные множители. Поэтому основание логарифма не указывается в большом О вообще.

Кроме того, кто сказал, что дерево бинарное? Кто сказал, что это вообще дерево? Хотя все известные мне имплементации STL и используют red-black tree, но стандарт требует только логарифмического поиска и вставки, предоставляя имплементаторам самим решать, как они этого добьются.
Re[15]: Как я завалил собеседование
От: AndrewJD США  
Дата: 24.01.07 11:29
Оценка:
Здравствуйте, i-maverick, Вы писали:

IM>>>3. Ф-ия main — void -> несоответствие стандарту.

IM>Да, забыл добавить. В задаче же не указан компилятор. Вот VC++ нормально скушает void main(), а g++ подавится.

CodeWarrior тоже скушает. И вообще, имхо, это дефект в стандарте. Зачем спрашивается было вводить в язык как special case возможность для функции main не возвращать явно результат, вместо того чтобы узаконить void main?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[16]: Как я завалил собеседование
От: i-maverick Россия  
Дата: 24.01.07 11:37
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>CodeWarrior тоже скушает. И вообще, имхо, это дефект в стандарте. Зачем спрашивается было вводить в язык как special case возможность для функции main не возвращать явно результат, вместо того чтобы узаконить void main?


Затем, что у многих программ (например, консольных) должен быть код возврата.
Тогда уж надо было запретить void.
Re[17]: Как я завалил собеседование
От: AndrewJD США  
Дата: 24.01.07 11:54
Оценка:
Здравствуйте, i-maverick, Вы писали:

AJD>>И вообще, имхо, это дефект в стандарте. Зачем спрашивается было вводить в язык как special case возможность для функции main не возвращать явно результат, вместо того чтобы узаконить void main?


IM>Затем, что у многих программ (например, консольных) должен быть код возврата.

IM>Тогда уж надо было запретить void.
Зачем? Было бы два варианта, в чем проблема?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[9]: Как я завалил собеседование
От: egaron http://127.0.0.1
Дата: 24.01.07 12:36
Оценка:
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Здравствуйте, egaron, Вы писали:


E>>Вы абсолютно правы. Но понимай ты или не понимай концепции, а экзаменатор возьми да и спроси "какого цвета левый задний бит в тридцать шестом байте MSIL-кода скомпилированной сборки ?"


КД>Четные левые задние байты всегда красные. Это знает каждый школьник.


Да, а вдруг экзаменатор думает что они зеленые. Дальтоник может он....



КД>У меня сложилось впечатление, что Анатоликс такого вопроса не задаст. А в места, где на основе ответов на такие вопросы, делают какие-то выводы, по-моему и ходить незачем.


Это пример не для ув. Анатоликса, а для коллеги (забыл, проситие, ник), который "на сях писал только для себя и лабы" (как и Ваш покорный слуга), утверждающему, что главное — понимание концепции.
Re[18]: Как я завалил собеседование
От: i-maverick Россия  
Дата: 24.01.07 12:36
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>>>И вообще, имхо, это дефект в стандарте. Зачем спрашивается было вводить в язык как special case возможность для функции main не возвращать явно результат, вместо того чтобы узаконить void main?


IM>>Затем, что у многих программ (например, консольных) должен быть код возврата.

IM>>Тогда уж надо было запретить void.
AJD>Зачем? Было бы два варианта, в чем проблема?

Тогда к чему вообще твое предложение? Сейчас и есть два варианта. А можно и три сделать, т.к. "its type is implementation-defined".
Re[3]: Как я выгнал человека с собеседования
От: THESERG  
Дата: 24.01.07 12:43
Оценка: -14 :))) :))) :)))
Теперь ясно, чем занимаются в Яндексе! Концепцией константных классов и корректным вложением классов в STL-контейнеры!

Вы действительно даже не успели подойти к программированию

Вывод: в каждой компании свои заморочки...

Но не это главное!
Главное: а что Вы будете делать, Анатоликс, когда выйдет следующий стандарт C++? Переписывать весь код Яндекса?
Что, Вы будете спрашивать на собеседованиях устаревшие знания (когда STL и ссылки (&) окончательно устареют)? А если нет — то кто будет саппортить всё то, что Вы уже накодили?

Впрочем, думаю, к тому времени Вы или уволитесь, или пойдёте в большой менеджмент

А пока сообщаю: большинству компаний ни то что концепция констанных классов не нужна, им даже STL не нужен! Во как! А где-то и на ANSI C пишут! Так что нет ничего удивительного, что приходящие к Вам программисты не знают как написать конструктор копирования. И эту фигню даже не стоит спрашивать на собеседовании, ага

Здравствуйте, Anatolix, Вы писали:

<skipped>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.