Здравствуйте, Michaels1, Вы писали:
M>Например недавно вот попросили игру морской бой спроектировать. Нарисовал на доске два поля с кораблями и не знаю с какой стороны подойти, описал классы для некоторых сущностей (корабль, игровая доска, элемент корабля ) и затык.
а чего так? дальше просто смотришь на то, какие действия надо совершать и подправляешь шероховатости.
в итоге получится: корабль(список точек), доска, фабрика/валидатор для выставления на поле, игрок, интерфейс.
M>интервьювер все ждал ответа хмыкнул и на этом все закончилось. Ну не сталкивался я с такими задачами на практике.
M>Был вопрос про проектирование систему вроде гит-а. Но я понятия не имею как он работает и какие вопросы задавать тому кто предложил это спроектировать и с какой стороны подойти к решению.
M>Такое чувство что мои семь лет опыта мне дали столько же сколько сколько получают за два года работы другие.
это собеседование. никогда не знаешь, что за шаблон у человека в голове, с которым он сверяется.
M>Но как проходить такие собеседования с проектированием? Что почитать, по какой литературе учиться?
простой путь — это посмотреть, как оно сделано в существующих продуктах. там станет понятно, какие операции требуется совершать и какие есть требования по данным.
для этого годятся как книжки по архитектуре/проектированию, так и обычные статьи в интернете. последние, возможно, даже полезней.
вообще, за пару-тройку собеседований в одном направлении ты можешь узнать 95% вопросов, а потом это просто изучить дома