ВопросMiddleКриптонит
Что делает для тебя задачу интересной? Какими свойствами она должна обладать, чтобы захотелось за неё браться?
→ВопросMiddleКриптонит
Был ли опыт создания чего-то прямо с нуля — приложения или сервиса?
→ВопросMiddleКриптонит
В программу приходят объекты. В каждом объекте может быть указан номер телефона и/или логин (либо одно из этих значений, либо оба сразу), а так же полезная нагрузка в виде бинарных данных. Приходящие объекты необходимо сохранять в оперативной памяти соблюдая следующие ограничения: Если у пришедшего объекта логин и/или телефон такие же, как у одного из сохраненных ранее объектов, то сохраненный объект нужно удалить, пришедший не сохранять. Если объект хранится в оперативной памяти более 60 секунд, то его необходимо удалить. Считается, что объекты приходят часто. При этом совпадающих по логину/телефону - кратно меньше от общего количества приходящих объектов. void process(Object o) { }
→ВопросMiddleКриптонит
Как можно было бы реализовать оптимизацию RVO/NRVO в компиляторе?
→ВопросMiddleКриптонит
Что будет выведено на экран? (Вопрос 6: конструкторы/деструкторы, исключения в конструкторе)
→ВопросMiddleКриптонит
А с каким коллегой тебе будет некомфортно работать?
→ВопросMiddleГаскар
Какие бывают файловые дескрипторы и для чего они нужны?
→ВопросMiddleКриптонит
Приходилось ли участвовать в технических спорах/дискуссиях внутри команды? Как они проходили и как разрешались?
→ВопросMiddleКриптонит
Что тебя сподвигло к поиску нового места?
→ВопросMiddleКриптонит
А что, наоборот, отталкивает в таких мероприятиях?
→ВопросMiddleКриптонит
Ситуация: ты взялся за задачу, но не укладываешься в установленный/обговоренный срок. Как поступишь?
→ВопросMiddleГаскар
Какие системные вызовы вы использовали и с чем сталкивались (файловые/сетевые)?
→ВопросMiddleГаскар
Какие проблемы могут быть при частых вызовах динамической памяти (new/delete)?
→ВопросMiddleКриптонит
Было ли достаточно информации для анализа при проектировании, или решение принималось скорее вслепую, но удачно?
→ВопросMiddleКриптонит
Какой план для рефакторинга и что должно быть, чтобы делать его уверенно?
→ВопросMiddleКриптонит
Как не оказаться в ситуации, что через три месяца всё «разворочено» и ничего не работает, если лид решил радикально переписать код (например, выкинуть Boost)?
→ВопросMiddleКриптонит
<data> - источник данных, непрерывно отправляющий объекты в "наш компонент" - данные равномерно распределяются (не дублируются) по серверам "нашего компонента" ["наш компонент"] - N независимых серверов - накапливает данные; при достижении лимита: POST запрос на вставку в БД - IP-адрес сервера БД прописан в конфиге [БД] - кластер из N серверов - писать можно в любой сервер Процедура установки: - знает про все сервера "нашего компонента" и все сервера БД - назначает сервера БД "нашему компоненту" +/- равномерно --> [ ] -> 1 |(1) | --> [ ] -> 2 |----| <data> --> [ ] -> 3 |(2) | \--> [ ] -> 1 |----| --> [ ] -> 2 |(3) |
→ВопросMiddleКриптонит
На ревью виден диф, который выглядит как грубый копипаст/странный хак — код выполняет нужное действие, но неочевидно как и работает ли вообще правильно. Какие твои дальнейшие действия?
→ВопросMiddleYadro
Есть ли у вас опыт работы с C++20?
→ВопросMiddleКриптонит
Как понять, что изменение (например, переход с Boost на стандартную библиотеку) действительно «работает»?
→