Re[4]: Я в шоке.
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.03.10 18:06
Оценка:
Здравствуйте, Denwer, Вы писали:

V>>А можно мне объяснить, в чем принципиальная разница между бинарным семафором и мьютексом с теорической точки зрения (учитывая, что в С++ нет ни тех, ни других, вопрос можно ставить только в теоретичской плоскости).


D>Разница как между синусом и косинусом, вроде как похожи, но не идентичны.


Интересно, вы приняли бы такой ответ на собеседовании?
Re: Я в шоке.
От: Stanislav V. Zudin Россия  
Дата: 08.03.10 18:07
Оценка:
Здравствуйте, Denwer, Вы писали:

D>bla-bla-bla Каково было мое удивление что 90% людей не знаю ДЛЯ ЧЕГО НУЖЕН ВИРТУАЛЬНЫЙ ДЕСТРУКТОР...

D>Куда делись настоящие программситы...

Ничего удивительного. Ну не все используют виртуальные деструкторы в повседневной практике. Без практики знания быстро забываются.

В моем текущем проекте, к примеру, нет ни одного места, где можно было бы применить виртуальные деструкторы (ну некуда их там приткнуть).

То же можно сказать и про остальные типовые вопросы на собеседованиях — про безопасность в ОС, синхронизация в многопоточном приложении...

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

Вот и получается, что добрый десяток С++ программистов с опытом работы в 5+ лет не пройдут твоего собеседования

А книжки читать, увы, хрен заставишь
_____________________
С уважением,
Stanislav V. Zudin
Re[6]: Я в шоке.
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.03.10 18:08
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Вообще то в моем предложении был просто симафор, а не бинарный.


По-русски он семафор. Через "е". JFYI
Re[8]: Я в шоке.
От: Vamp Россия  
Дата: 08.03.10 18:11
Оценка:
D>Это вообще то транскрипция на английское слово, какая тут может быть неграмотность. Тоже самое как спорить о написани слова: виндоуз или виндовз.
Нет, семафор — это русское слово. И пишется оно через "е". Собственно, лично я теперь знаю ответ на твой вопрос из начального сообщения.
Да здравствует мыло душистое и веревка пушистая.
Re[7]: Я в шоке.
От: alsemm Россия  
Дата: 08.03.10 18:12
Оценка:
Здравствуйте, elmal, Вы писали:

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


A>>Было у нас тут веселье осенью, правда там на java память отъедалась. Писатели супер-кэша не знала про weak reference-ы, а в кэш клали декодированные изображения... Проект на три команды в четырех разных часовых поясах и закртыми исходниками друг от друга. И каждый валит на другого.

E>А можно спросить, а зачем понадобилось писать свой кеш с нуля? Чем готовые решения не угодили? Тем что текущие разработчики не разовьются чтоль? А если уж понадобился суперкеш, то почему его не протестировали? Почему профайлер не запускали чтоб отследить источник проблем? Как оказалось, что это оказалось проблемой? Незнание weak referencов тут на последнем месте в причинах проблем. А на первом месте в причинах проблем — руководство, но отвечать, как всегда, разработчикам.
Вопросы не по адресу — кэш писали даже не в нашей конторе.

E>А то, мне тут недавно кешировать понадобилось, а я как последний быдлокодер ehCache использовал вместо велосипеда собственного, так и не развился в результате, хотя мог бы. Я неправ наверно был, и надо было обязательно свой писать? Я только за на самом деле, подтянул бы кое что редко используемое, которое на собеседованиях спрашивать любят, вот только это было не в интересах проекта.

Судя по описанию ehCache (http://ehcache.org/) вкрячить его в мобилу — тот еще оверкил.
Re[8]: Я в шоке.
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.03.10 18:13
Оценка: +1
Здравствуйте, Denwer, Вы писали:

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


Да, и более того, возможность захватить семафор из одного потока а освободить из другого может иметь смысл, даже если семафор используется для организации исключительного доступа к разделяемому ресурсу (т.е., в качестве "мутекса"). Например, таким образом ресурсом может владеть группа взаимодействующих потоков, а внутри себя они могут синхронизироваться каким-нибудь другим методом. Скажем, с помощью message passing'а.
Re[5]: Я в шоке.
От: olegkr  
Дата: 08.03.10 18:16
Оценка: 7 (2) +1
Здравствуйте, shrecher, Вы писали:

S>Не зазнайствуй, как говориться: "не боги гошки обжигают"

Да я как бы наоборот говорю, что я тупой. Где-то полгода-год плотной работы уходит у меня до уровня "могу решать основные задачи без постоянных wtf-ков и копания в инете/доках". За две недели разве-что книжку у меня получается прочитать, прототип поковырять и получить весьма хлипкую базу для начала работы.
Re[7]: Я в шоке.
От: Mr.Cat  
Дата: 08.03.10 18:18
Оценка:
Здравствуйте, Vamp, Вы писали:
V>Это принципиально очень похожие сущности.
Вроде получается, что под "мьютексом" обычно понимают разновидность семафора, которая:
— Бинарная
— Отпускать ее должен тот поток, который захватил
— Захватив мьютекс, можно захватывать его повторно, не блокируясь
Т.е. если семафор — это "отсыпьте мне, пожалуйста N единиц вашего замечательного ресурса, верну в среду", то мьютекс — "я сейчас немного попользуюсь вашим ресурсом и отдам". Но да, прямо-таки принципиальной разницы нет.
Re[9]: Я в шоке.
От: alsemm Россия  
Дата: 08.03.10 18:21
Оценка:
Здравствуйте, shrecher, Вы писали:

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


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

A>>В этом конкретном случае — команды из разных компаний.

S>Но ведь кто-то это организовал?

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

A>>И никакое супер знание не помогает, когда достаточно высокопоставленные инженеры ген. подрядчика просто не отвечают на письма в которых есть намек на проблемы в их коде или переводят баги в Closed без комментариев.


S>И ты наивно надеишься, что знание "виртуального деструктора" им поможет?!

Да. Вменяемость испольнителей здорого облегчает жизнь всех вовлеченных в процесс.
Re[8]: Я в шоке.
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.03.10 18:25
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>- Захватив мьютекс, можно захватывать его повторно, не блокируясь


Это уже дополнительное удобство, которое может в базовую версию и не входить. Называется "рекурсивный мутекс"
Re[4]: Я в шоке.
От: shrecher  
Дата: 08.03.10 18:29
Оценка:
Здравствуйте, IT, Вы писали:

S>>Большинство же знаний приходит "в работе", с практичным опытом.


IT>"В работе" приходят навыки, а не знания. Опыт же вообще штука странная. Он отвечает только на один вопрос — как НЕ надо делать. Как можно сделать наилучшим образом опыт тебе не подскажет. Здесь как раз более важны знания и кругозор.


Знания они специфичны в каждой области. К примеру, алгоритмы поиска аномалий. Сколько угодно читай книжки, но пока не сталкнешься этой проблемой, но все знания будут пассивные, да и не нужные. Так общие понятия — масса теории, за что ухватиться непонятно. Если работаешь с предметной областью, то читаешь и кругозор расширяешь, и все становится на свои места. Вывод: продуктивно развиться можно через работу.

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


Спорно. За последнии десятко лет в прикладном программировании ничего нового не придумали. Все отличия только "в рюшечках".
Re[5]: Я в шоке.
От: Denwer Россия  
Дата: 08.03.10 18:32
Оценка:
Здравствуйте, Pzz, Вы писали:

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


V>>>А можно мне объяснить, в чем принципиальная разница между бинарным семафором и мьютексом с теорической точки зрения (учитывая, что в С++ нет ни тех, ни других, вопрос можно ставить только в теоретичской плоскости).


D>>Разница как между синусом и косинусом, вроде как похожи, но не идентичны.


Pzz>Интересно, вы приняли бы такой ответ на собеседовании?


А я такие вопросы кстати и не спрашиваю, т.к. человек дейтсвительно может не знать тонкости каких то объектов синхронизации, я всего лишь даю простой пример, и прошу сделать потокобезопасный код из моего. Не знает человек мьютекс или семафор, пусть критической секцией сделает. Не знает критическую секцию, пусть через интерлокед функции и слипы делает, даже если не эффективно, но главное что бы было верно.
Re[5]: Я в шоке.
От: IT Россия linq2db.com
Дата: 08.03.10 18:40
Оценка:
Здравствуйте, shrecher, Вы писали:

IT>>"В работе" приходят навыки, а не знания. Опыт же вообще штука странная. Он отвечает только на один вопрос — как НЕ надо делать. Как можно сделать наилучшим образом опыт тебе не подскажет. Здесь как раз более важны знания и кругозор.


S>Знания они специфичны в каждой области. К примеру, алгоритмы поиска аномалий. Сколько угодно читай книжки, но пока не сталкнешься этой проблемой, но все знания будут пассивные, да и не нужные. Так общие понятия — масса теории, за что ухватиться непонятно. Если работаешь с предметной областью, то читаешь и кругозор расширяешь, и все становится на свои места. Вывод: продуктивно развиться можно через работу.


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

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


S>Спорно. За последнии десятко лет в прикладном программировании ничего нового не придумали. Все отличия только "в рюшечках".


Когда что придумали не важно. Ты десятко лет назад знал всё, что сегодня знаешь? А две недели хватило бы?
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Я в шоке.
От: alsemm Россия  
Дата: 08.03.10 19:11
Оценка: +3
Здравствуйте, Denwer, Вы писали:

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



D>>>Вообще то в моем предложении был просто симафор, а не бинарный.


D>>вообще-то, я уже второй раз увидел написание "сИмафор".

D>>Может подобное к подобному тянется?
D>>Не хотят грамотные люди идти к неграмотному руководителю, да еще и зарплата наверно меньше 100 тыс.

D>Это вообще то транскрипция на английское слово, какая тут может быть неграмотность.

Она самая, еще и в комплекте с излишней самоувереностью

С.И.Ожегов, Н.Ю.Шведова — Толковый словарь русского языка:

СЕМАФОР -а, м. 1. Сигнальное устройство в виде подвижных крыльев или (у морских, речных семафоров) рея на столбе, мачте. Железнодорожный с. Речной с. С. открыт (путь свободен). 2. Во флоте: способ зрительной сигнализации (флажками, руками или при помощи специального аппарата). Дать с. встречному кораблю. || прил. семафорный, -ая, -ое.


Вложу ибуксы в куки — интересная статья про IT-термины и русский язык.
Re: Я в шоке.
От: 31415926 Россия  
Дата: 08.03.10 19:23
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Последние два месяца прорезюмировал просто толпу соискателей на программистов по с++. Каково было мое удивление что 90% людей не знаю ДЛЯ ЧЕГО НУЖЕН ВИРТУАЛЬНЫЙ ДЕСТРУКТОР. Как такое может быть? Куда делись настоящие программситы, а не оходники за деньгами? Что творится с людьми?


Ну — года полтора назад на sql.ru один персонаж возмущался, что некий "старый дурак" спросил его на собеседовании (на позицию Senior Java developer), как объявить массив. Пациент это "забыл", но сам вопрос счел наглым наездом, т.к. "в его работе это не нужно". Мне тоже приходится собеседовать кандидатов по Java — результаты примерно похожие. Но что меня удивляет больше всего, это то, что подавляющее большинство соискателей не имеют даже приблизительного понятия о TCP/IP. Подчеркну, что речь идет не о студентах, а о людях с 5-10 летним опытом, в том числе и в области разработки Интернет — приложений.
Мое личное объяснение — это то, что подавляющее большинства разрабатываемых сегодня приложений настолько тривиальны, что реально потребная квалификация весьма невысока, а "переход на UTF-8" воспринимается как "почти невозможное". У нас в стране это усугубляется тем, что реальная работоспособность приложения никого не интересует, т.к. реальной целью разработки является просто маскировка откатов. Все это было бы ничего, но, к сожалению, подобная ситуация размывает критерии профессионализма, и становится трудно найти квалифицированных людей даже когда это в самом деле необходимо.
Re[10]: Я в шоке.
От: carpenter СССР  
Дата: 08.03.10 19:26
Оценка:
Здравствуйте, Denwer, Вы писали:

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


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

V>>Не уверен, что я понял, что ты имеешь в виду. Понял только, что это что-то системно-специфичное (полагаю, что речь о Windows) и к С++ отношения не имеет никакого.
V>>Не исключено, что твой кандидат тебя не понял точно так же.

D>Ну разумеется это был вопрос не по С++, я заранее его предупредил что спрошу по всем пунктам его резюме, где значился и Вин АПИ, хотя это был не профилирующий вопрос разумеется. Ты меня не понял, потому что я стараюсь как можно больше вырезать из разговоров, тк это все же не очнь хорошо выкладывать логи или даже близкую их копию.


Не стоит оправдываться — вас просто задирают
вопросы вполне нормальные , без придирок .
а то некоторые любят и триграфы в собеседование всунуть
... заодно и я освежил свои знания — раньше думал что семафор — только для межпотокового взаимодействия
... семафоры на практике не разу не пользовал .
Re[9]: Я в шоке.
От: Denwer Россия  
Дата: 08.03.10 19:30
Оценка: -4
Здравствуйте, alsemm, Вы писали:

A>Она самая, еще и в комплекте с излишней самоувереностью


A>С.И.Ожегов, Н.Ю.Шведова — Толковый словарь русского языка:

A>

A>СЕМАФОР -а, м. 1. Сигнальное устройство в виде подвижных крыльев или (у морских, речных семафоров) рея на столбе, мачте. Железнодорожный с. Речной с. С. открыт (путь свободен). 2. Во флоте: способ зрительной сигнализации (флажками, руками или при помощи специального аппарата). Дать с. встречному кораблю. || прил. семафорный, -ая, -ое.


Ну разумеется я знаю что есть такое русское слово как семафор, который с огоньками. Но в данном случае это была простая транскрипция, так же как и слово мьютекс, которое вообще отсутсвует в русском языке. Слово Семафор — это перевод слова semaphore, тоже самое если я напишу слово виндовс, а мне скажут что я не верно написал, нужно написать слово окно. Это транскрипция, а не перевод !!! Просто в данном случае они совпали почти. Но в английском слове там слышится звук И а не Е.

A>Вложу ибуксы в куки — интересная статья про IT-термины и русский язык.
Re: тоже в шоке
От: vb-develop  
Дата: 08.03.10 19:33
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Последние два месяца прорезюмировал просто толпу соискателей на программистов по с++. Каково было мое удивление что 90% людей не знают ДЛЯ ЧЕГО НУЖЕН ВИРТУАЛЬНЫЙ ДЕСТРУКТОР. Как такое может быть? Куда делись настоящие программситы, а не оходники за деньгами? Что творится с людьми?


Лучше напиши, сколько уже времени ищешь "программиста". Это дополнение скажет об очень многом.

Еще можно начать собеседовать людей, приходивших к тебе 2-3 года назад. Наверняка за пару лет они уже выяснили зачем нужны эти самые.
Re[10]: Я в шоке.
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.03.10 19:34
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Ну разумеется я знаю что есть такое русское слово как семафор, который с огоньками. Но в данном случае это была простая транскрипция, так же как и слово мьютекс, которое вообще отсутсвует в русском языке. Слово Семафор — это перевод слова semaphore, тоже самое если я напишу слово виндовс, а мне скажут что я не верно написал, нужно написать слово окно. Это транскрипция, а не перевод !!! Просто в данном случае они совпали почти. Но в английском слове там слышится звук И а не Е.


Тем не менее, в русском языке для семафора (того, который в компьютере, а не на железной дороге) существует общепринятое написание.
Re[2]: тоже в шоке
От: Denwer Россия  
Дата: 08.03.10 19:42
Оценка:
Здравствуйте, vb-develop, Вы писали:

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


D>>Последние два месяца прорезюмировал просто толпу соискателей на программистов по с++. Каково было мое удивление что 90% людей не знают ДЛЯ ЧЕГО НУЖЕН ВИРТУАЛЬНЫЙ ДЕСТРУКТОР. Как такое может быть? Куда делись настоящие программситы, а не оходники за деньгами? Что творится с людьми?


VD>Лучше напиши, сколько уже времени ищешь "программиста". Это дополнение скажет об очень многом.


VD>Еще можно начать собеседовать людей, приходивших к тебе 2-3 года назад. Наверняка за пару лет они уже выяснили зачем нужны эти самые.


Хорошие программситы нужны всегда, недели 2 назад все же попался хороший и адекватный кандидат. Из питера. Кстати за 3-4 месяца поисков нашолся. Но просто последний год у нас проектов гораздо больше чем людей, и получается что постоянно в поиске. Вот по сути и можно сделать выводы о статистике, 3-4 месяца посиков — 1 адекватный человек. Но сколько я потратил время на собесеования за эти 3-4 мес !!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.