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.....
A:
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!
B:
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 !!
C:
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.
<!-- Attachments -->