Сходил в компанию, знаменитую своими сложными собеседованиями.
надеюсь вопросы не могут являться тайной, иначе грош цена таким вопросам,
если знание ответов заранее дает 100% прохождение собеседования
итак, вопросы:
C++ и STL:
-чем отличаются list и vector
-как отсортировать vector по убыванию
написал код с функтором переопределяющим сравнение.
дальше было вопрос
-чем функтор лучше функции (в частности, эффективнее ли)
-в каких случаях функцтор или функция не инлайнится?
-как отсортировать список?
-почему алгоритм sort не примениним к контейнеру list?
Design patterns:
-что такое синглтон (попросили написать код)
-как избежать рейс кондишена при инициализации синглтона
пришлось объяснять про double-checked locking,
попутно возникли вопросы про блокировку и мьютексы
-чем отличается критическая секция от мьютекса
(это их любимый вопрос -я до сих пор НЕ ЗНАЮ, как внутри работает критическая секция,
знаю только что она быстрее и ее нельзя шарить между процессами)
-абстрактная фабрика, когда применять? попросили нарисовать UML диаграмму,
и придумать пример из жизни.
придумал кодогенератор генерирующий одни и те же конструкции на разных языках программирования :
JavaFactory, CSharpFactory, CPlusFactory
-паттерн композит, нарисуйте диаграмму
-как реализовать глубокое копирование вышеуказанного паттерна, с помощью виртуального конструктора.
здесь суть в том что возникает проблема с возможными циклическими ссылками на объекты,
и нужно копировать все объекты только один раз. эту задачу я не решил за приемлимое время

по моему тут нужно придумать что-то типа раскраски графа, чтоб отмечать вершины которые мы уже посетили.
далее были вопросы по менеджерским качествам:
-как организовать работу удаленных друг от друга команд
-какое взаимодействие когда использовать (почта, телефон, IM)
-как организовывать митинги, сколько времени тратить на обсуждения
немного поговорили по английски (с этим у меня все ок, на программерские темы могу трындеть сколько угодно,
да и просто "о жизни" тоже)
итог — я похоже не очень удовлетворил их ожидания. а мне в свою очередь не очень понравилось содержание работы.
на том мы и расстались.