Re[29]: Домашнее задание перед интервью
От: aik Австралия  
Дата: 13.12.19 12:54
Оценка:
Здравствуйте, $$, Вы писали:

aik>>Но сам ты такой ответ не примешь. Я в тупике.

$>Не приписывай мне, что я не говорил.

wuuut? http://rsdn.org/forum/job/7610029.1
Автор: $$
Дата: 13.12.19

aik>Т.е. правильный ответ это когда напишет "double check locking", а не напишет — свободен?

Не засчитается.

Re[27]: Домашнее задание перед интервью
От: SkyDance Земля  
Дата: 13.12.19 16:11
Оценка: +1 :)
S>В том плане, что стратегически надо синглтонов избавляться?

Не только от синглтонов, но и в целом от "внезапно инициализирующихся данных". Как правильно заметил landerhigh, зависимости должны быть явными (explicit).
Re[30]: Домашнее задание перед интервью
От: $$ Австралия жж
Дата: 14.12.19 00:43
Оценка: :)
Здравствуйте, aik, Вы писали:

aik>>>Но сам ты такой ответ не примешь. Я в тупике.

aik>$>Не приписывай мне, что я не говорил.

aik>wuuut? http://rsdn.org/forum/job/7610029.1
Автор: $$
Дата: 13.12.19

aik>

aik>>Т.е. правильный ответ это когда напишет "double check locking", а не напишет — свободен?

aik>Не засчитается.


Я хз как ещё сказать. 1 незасчитанный ответ ещё не провал.
Re[28]: Домашнее задание перед интервью
От: $$ Австралия жж
Дата: 14.12.19 02:01
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Не только от синглтонов, но и в целом от "внезапно инициализирующихся данных". Как правильно заметил landerhigh, зависимости должны быть явными (explicit).


Наличие lazy loading зависит от требований.
Re[29]: Домашнее задание перед интервью
От: landerhigh Пират  
Дата: 14.12.19 14:03
Оценка: +1 :)
Здравствуйте, $$, Вы писали:

SD>>Не только от синглтонов, но и в целом от "внезапно инициализирующихся данных". Как правильно заметил landerhigh, зависимости должны быть явными (explicit).

$>Наличие lazy loading зависит от требований.

Lazy loading и явные зависимости — совершенно ортогональные понятия.
Re[30]: Домашнее задание перед интервью
От: $$ Австралия жж
Дата: 14.12.19 20:33
Оценка:
Здравствуйте, landerhigh, Вы писали:

SD>>>Не только от синглтонов, но и в целом от "внезапно инициализирующихся данных". Как правильно заметил landerhigh, зависимости должны быть явными (explicit).

L>$>Наличие lazy loading зависит от требований.

L>Lazy loading и явные зависимости — совершенно ортогональные понятия.


Зато double checked locking, "внезапно инициализирующихся данных" и lazy loading- связанные понятия.
Re[31]: Домашнее задание перед интервью
От: landerhigh Пират  
Дата: 14.12.19 21:29
Оценка:
Здравствуйте, $$, Вы писали:

L>>Lazy loading и явные зависимости — совершенно ортогональные понятия.

$>Зато double checked locking, "внезапно инициализирующихся данных" и lazy loading- связанные понятия.

Essence of govnokod...
Re[32]: Домашнее задание перед интервью
От: $$ Австралия жж
Дата: 14.12.19 21:59
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>Lazy loading и явные зависимости — совершенно ортогональные понятия.

L>$>Зато double checked locking, "внезапно инициализирующихся данных" и lazy loading- связанные понятия.

L>Essence of govnokod...


Об этом нужно говорить в философии.
Пока что у меня получается такая картина:
И: перечислите паттерны проектирования, какие вспомните
L: ....
через 30 секунд
L: ...... нууууу
L: Фабрика?
И: хорошо, хорошо. Ещё вспомните? (думает про Builder)
L: Синглтон?
И: Ай молодец!
L: Но я слышал, что Синглтон это такое страшное зло. Антипаттерн. сам SkyDance писал (думая про лок в БД)
И: (думая про DI)- ок, вот вы работали с многопоточкой.
L: о дааа, я работал с многопоточкой
И: А напишите ка, голубчик, синглтон для многопоточки, на доске
L: (берет маркер, сразу пишет лок)
И: Ок, это будет работать. Какие проблемы здесь видите?
L: ....... (слышно скрежет заржавевших шестеренок и видно мучительное напряжение на лице)
И: цена захода в лок велика. Как модно оптимизировать?
L: ....... проходит 5 минут
И: Поставьте переменную, проверяйте
L: поставил переменную, проверяет под локом
И: вы всё ещё под локом, а хотете избежать ненужного входа в лок. И кроме того, пометьте volatile
L: (лампочка тускло загорелась) проверяет не под локом, сохраняет под локом.
И: (смотрит на часы- за отведенный бюджет ни одного годного ответа, 2 вопроса не дождались очереди), — есть у вас вопросы?
L: ..... нет
И: Хорошо. Наша офис менеджер проводит вас до выхода.
Re[33]: Домашнее задание перед интервью
От: landerhigh Пират  
Дата: 14.12.19 22:04
Оценка:
Здравствуйте, $$, Вы писали:

L>>Essence of govnokod...


$>Об этом нужно говорить в философии.
$>Пока что у меня получается такая картина:
$>И: перечислите паттерны проектирования, какие вспомните
$>L: ....

Влажные мечты. В общем, ты доказал, что собеседовать специалистов тебе еще рано.
Ну и то, что дела в IT в Австралии уже идут так себе, тоже.
Ну ничего, лет через пять, может, вернусь на 400-500 в час. Приводить в чувство то, что наворотили специалисты по перевороту строк под руководством Артемки, у которого "Зато double checked locking, "внезапно инициализирующихся данных" и lazy loading- связанные понятия"
Re[10]: Домашнее задание перед интервью
От: Lexey Россия  
Дата: 14.12.19 22:52
Оценка: 5 (1)
Здравствуйте, Sharov, Вы писали:

S>Не все так однозначно -- https://habr.com/ru/post/122639/


Все вполне однозначно, если не заниматься софистикой. Деструкторов в привычном понимании в .net'е нет. Финализатор деструктором можно назвать только с огромным натягом.

S>Если не ошибаюсь, то финализатор вызывет Dispose, если он есть, есть ли нет -- то деструктор ~MyClass{}


Ошибаешься. Финализатор может вызвать Dispose только если этот вызов явно прописан в коде финализатора. При правильном дизайне подобный вызов нужен крайне редко — только если ты пишешь обертку вокруг какого-то нового неуправляемого ресурса, для которого нет готовой управляемой обертки. А ~MyClass() в шарпе — это всего лишь синтаксис для описания финализатора.
Re[10]: Домашнее задание перед интервью
От: Lexey Россия  
Дата: 14.12.19 22:58
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Да и DI ваше тоже говно, зависимости надо передавать явно.


Внезапно, явная передача зависимостей — это тоже вариант DI. А говно — это DI через сервис-локаторы и подобную хрень.
Re[11]: Домашнее задание перед интервью
От: Lexey Россия  
Дата: 14.12.19 23:13
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

KP>Насколько помню, в C++11 и выше можно ограничиться обычной статической переменной так как гарантируется её атомарная инициализация. Компилятор барьеры напихает в код всё будет пучком.


Маловато будет, увы. Для глобальных статических переменных не гарантируется порядок инициализации. Так что, если тебе из одной статической переменной нужен доступ к другой, то может быть упс...
Можно засунуть статическую переменную в функцию, но тогда мы по факту получаем реализацию синглетона стандартными средствами языка.
Re[12]: Домашнее задание перед интервью
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 15.12.19 00:27
Оценка: +1
Здравствуйте, Lexey, Вы писали:

KP>>Насколько помню, в C++11 и выше можно ограничиться обычной статической переменной так как гарантируется её атомарная инициализация. Компилятор барьеры напихает в код всё будет пучком.


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


Да в самый раз будет для штуки, которой в коде быть не должно И, кстати, если еще зависимости между синглтонами делать это вообще ад будет. Типа такого
Автор: kaa.python
Дата: 12.12.19
.
Re[11]: Домашнее задание перед интервью
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 15.12.19 00:28
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Внезапно, явная передача зависимостей — это тоже вариант DI. А говно — это DI через сервис-локаторы и подобную хрень.


Да, с этой точки зрения я что-то не подумал, ты прав.
Re[3]: Домашнее задание перед интервью
От: elmal  
Дата: 16.12.19 08:57
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>святой человек, а теперь представте у вас 200 кагдидатов а вам нуужен 1-2 сотрудника

Из этих 200 кандидатов сразу по резюме видно, что кандидат ни черта из себя не представляет вообще. Из 200 резюме, которые кинут HR на одобрение, реально имеет смысл приглашать максимум 10 человек. Из этих 10 человек оффер будет выдан двум. Если предложение будет хорошим, оффер примет один из них. Соответственно никаких проблем нет.
Re: Домашнее задание перед интервью
От: sergey2b ЮАР  
Дата: 16.12.19 17:35
Оценка:
Здравствуйте, $$, Вы писали:

$>Дискас.

последнее я делал вчера, реализовал класс который реализует специальное число (не комплексное но +- похожее)
мне было интерстно сможет ли собеседуюший найти, что я не продумал
Re[2]: Домашнее задание перед интервью
От: $$ Австралия жж
Дата: 16.12.19 22:24
Оценка:
Здравствуйте, sergey2b, Вы писали:

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

S>мне было интерстно сможет ли собеседуюший найти, что я не продумал

Выглядит просто. Imho такие задания- самые опасные: они не составляют труда.

Будет докапываться к комментариям, к названиям переменных, наличию юнит тестов, но не проверять наличие мозга.
Re[3]: Домашнее задание перед интервью
От: sergey2b ЮАР  
Дата: 16.12.19 22:50
Оценка:
Здравствуйте, $$, Вы писали:

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

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

S>>мне было интерстно сможет ли собеседуюший найти, что я не продумал

$>Выглядит просто. Imho такие задания- самые опасные: они не составляют труда.

$>Будет докапываться к комментариям, к названиям переменных, наличию юнит тестов, но не проверять наличие мозга.

Например надо было детектировать переполнение
И по возможности исправить ситуацию
Ещё репу пришлось почесать при реализации template

Но многопоточный синглатон всеравно лучше
Re[4]: Домашнее задание перед интервью
От: $$ Австралия жж
Дата: 16.12.19 23:18
Оценка:
Здравствуйте, sergey2b, Вы писали:

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

S>>>мне было интерстно сможет ли собеседуюший найти, что я не продумал

S>$>Выглядит просто. Imho такие задания- самые опасные: они не составляют труда.


S>$>Будет докапываться к комментариям, к названиям переменных, наличию юнит тестов, но не проверять наличие мозга.


S>Например надо было детектировать переполнение

Про это я не подумал Вот видишь, насколько опасны такие домашние задания. Ну и по UT можно пройтись, проверить что ты покрыл все corner case.

S>Ещё репу пришлось почесать при реализации template

В этом часть фана C++: создать себе сложности на простой задаче и мужественно преодолеть.

S>Но многопоточный синглатон всеравно лучше

Хватит троллить. Я уже понял, что для C++ до 11 это нетривиальная задача. А для некоторых так вообще неприличный вопрос. Причём, это вопрос на собеседовании- нет смысла его давать на дом.
Отредактировано 16.12.2019 23:21 Артём . Предыдущая версия .
Re[2]: Домашнее задание перед интервью
От: SkyDance Земля  
Дата: 16.12.19 23:56
Оценка:
S>мне было интерстно сможет ли собеседуюший найти, что я не продумал

Поработаю интервьюером.
Какие тесты ты написал к этому классу? Какие свойства эти тесты проверяют?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.