Обекти влизат в програмата. Във всеки обект може да бъде посочен телефонен номер и/или вход (или едно от тези стойности, или и двете наведнъж), както и полезен товар под формата на двоични данни. Входящите обекти трябва да се съхраняват в оперативната памет спазвайки следните ограничения: Ако входящият обект има същия вход и/или телефонен номер като някой от вече съхранените, съхраненият обект трябва да бъде изтрит, а входящият да не се запазва. Ако обект остане в оперативната памет повече от 60 секунди, трябва да бъде изтрит. Предполага се, че обектите пристигат често. Освен това, обектите, които съвпадат по вход/телефон, са много по-редки от общия брой на пристигащите обекти. void process(Object o) { }
C/C++
[име] разкажи ми за себе си, продуктите, по които си работил, и задачите, които си изпълнявал.
При прегледа се вижда разлика, която изглежда като грубо копиране или странен хак: кодът изпълнява необходимото действие, но не е очевидно как работи или дали изобщо работи правилно. Какви са следващите ти стъпки?
Какви свойства трябва да притежава задачата, за да предизвика обратната реакция «о, не искам да го правя»?
А какво, напротив, отблъсква в такива събития?
Какви качества трябва да притежава един колега, за да ти е удобно да работиш с него?
Как да разберем, че промяната (например, преминаване от Boost към стандартната библиотека) наистина « работи »?
Как се отнасяш към дейностите извън работното време (форумите, корпоративните събития, спортът) и какво те привлича най-много в тях?
Имали ли сте някога участие в технически спорове/дискусии в екипа? Как протичаха и как бяха разрешени?
Имали ли сте опит с мащабно рефакториране на голяма legacy база данни? Ако не, как бихте постъпили, ако трябваше?
Какво те накара да търсиш ново място?
Защо напуснахте предишната си работа?
Има задача за преглед на код: колега е качил решение, което работи и е покрито с юнит тестове, но реализацията изобщо не е такава, каквато бих направил аз. Какво ще направиш?
Ситуация: двама мениджъри идват и дават две спешни задачи, а време няма. Какво би направил?
Какъв е планът за рефакторинг и какво трябва да има, за да го правиш уверено?
Как може да бъде реализирана оптимизацията RVO/NRVO в компилатор?
Как да избегнете ситуация, в която след три месеца всичко е "разглобено" и нищо не работи, ако лидерът е решил радикално да препише кода (например, да премахне Boost)?
Моля, разкажи ми за най-запомнящите се задачи или проекти от твоя опит — какво ти хареса и какво, напротив, не ти хареса.
auto lambda = []<typename>(){};
Имаше ли достатъчно информация за анализ при проектирането, или решението беше взето по-скоро на сляпо, но успешно?