File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Jobs Discussion and the fly likes How to explain my project architecture. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "How to explain my project architecture." Watch "How to explain my project architecture." New topic

How to explain my project architecture.

Gopi Chand Maddula
Ranch Hand

Joined: May 11, 2010
Posts: 40

Hi Java Ranch,

I have attended some interview recently. i came across with a common question in both the interviews.

The Question is "Can you explain your current project architecture?"

i have answered that question by explaining the different layers used and the technologies used for that layers.

But i came to know that the interviewer is not satisfied with that answer.
So, someone please let me know what should i explain when i encounter that question.....!

Thanks in Advance.....
Mike Isano
Ranch Hand

Joined: Jan 19, 2007
Posts: 144

He may have been interested in the hardware architecture. How many servers were used. Did you dedicate any servers to a specific task? Load balancing?

Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
The term "project architecture" would need to defined, in my opinion. A "project" does not have an "architecture." An information system has an architecture. An "enterprise" software application has an architecture, not a project however.

A project has a schedule, a budget, a scope, quality requirements, etc.

As indicated, software architectures are typically described via hardware/systems integration perspective, e.g. firewalls, security, routers, message queues, relational database management systems, etc.

JSP pages, servlets, XML, etc., are technologies used to build an "application." They are not part of an architecture. If your interviewer does not know this, then you may have difficulty in answering the question.

Good luck!
Manikandan Swaminathan
Ranch Hand

Joined: Aug 10, 2008
Posts: 117
By project architecture, i guess the interviewer was referring to the application architecture which would be in most cases an MVC architecture if its a web application.

You started off well by explaining the different layer and the various technlogies used in every layer.You should have also explained little in-depth about the application functionality by mentioning the code flow.

For eg. Lets say your application requires user to login to access it.In that case, you can explain how the validation is being implemented in the application by explaining the code flow like from JSP/JSF --> managed bean --> service layer (Interface) --> Impl class --> then DAO layer --> Impl class and finally checking in your database and passing the result back to the presentation layer by wrapping the result in DTO.

Hope this helps !!
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
The "object-oriented design" of an application and the "architecture" of the hosting system typically are not the same. If you are working on a very small application, it may not have an "architecture" or may be trivial. Describing the OO design of the app then makes the most sense in this case. However, you should not try to disguise your response as an "architectural" design, but briefly explain that is a small application and this is how the app is structured.
arulk pillai
Ranch Hand

Joined: May 31, 2007
Posts: 3371
I think what the interviewer meant was, describe the architecture used in your current or last project? This is a very common question to see how well you understand the bigger picture. If the question was not clearer, get it clarified before you go on to answer it. While answering, you could also query the interviewers as to you were on the right track.

-- You could talk about both physical and logical architectures.

-- Physical architecture is all about how many servers, load balanced, clustered, active-active versus active-passive, disaster recovery, etc. This includes the application servers, database servers, integration servers, etc.

-- Logical architecture is all about:

-- application/component A invoking application/component B using protocol X
-- Various tiers/layers of your application and how they interact with each other. For example, model, view, controller, data,
and integration tiers. Within tiers, you may have multiple layers like service layer, data access layer, etc.
-- Any batch processes.
-- Any integration with other systems, etc

Use simple box diagrams to give a bigger picture. You may also earn some brownie points by discussing not only the "how"s but also the "why"s.

[] | [Java job hunting know how] | [Java resumes]
I agree. Here's the link:
subject: How to explain my project architecture.
It's not a secret anymore!