Re[32]: Собеседования в Яндекс++
От: so5team https://stiffstream.com
Дата: 05.06.19 05:24
Оценка: +2
Здравствуйте, smeeld, Вы писали:

L>>То есть, у тебя set/get имеют какие-то сайдэффекты, которые никак не видны из их названий?


S>Это приватные функции, выполняющие определённую роль. Тот кусок кода-это из интерфейсной юзерспайсовой оболочки, предоставляющей доступ к функционалу высокопроизводительной системы стораджа через демон, функционирующий в юзерспайсе. Сама система-это система организации хранения данных, оптимизированная с учётом особенностей реализации драйверов шин блочных устройств в linux, а также особенностей взаимодействия кеша CPU, с областями памяти, которые выделены под зоны для DMA, в которых отображаются данные с диска. Она работает в обход подсистемы блочного IO ядра и слоя файловых систем в ядре. Основная функциональная часть реализации функционирует в kernel space. В юзерспайсе многопоточный демон, общающийся с кернел левелом через модифицированную подсистему epoll. Похожую вещь чуваки пропихивают в майнстрим. Сейчас в процессе превращения стораджа в распределённую систему хранения. Пока данные синхронизируются через упомянутый демон, организующий кластерный кворум в режиме мастер-мастер. Но есть планы реализовать обмен данными посредством RDMA. Требование к системе всегда было одно-производительность. Ради этой цели приходится идти на самые разные трюки. Порой код выглядит нечитабельным или малопонятным, но иначе никак. К тому куску выше это не относится, там тестовый набросок.


Это же нужно суметь так важно надуть щеки и наговорить кучу типа страшных слов вместо того, чтобы просто ответить на вопрос: имеют ли set/get функции какие-то побочные эффекты.

Вот за это решпект. Чувствуется многолетний опыт набивания себе завышенной цены.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.