Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a project on my resume in which we had used MVC Architecture and Java, JSP and MySQL. Hence during the interviews if the position requires experience about MVC Architecture, I have to face the question like "Explain this project." What exactly is the interviewer is expecting? I know that they want to know how we implemented the MVC. But what "exact" details should I tell them in the short time span of 2-3 minutes? Which key features/parts I am supposed to explain? Can someone experienced give some idea about it?

The project is about Leave Management System.

share|improve this question
2  
If you really have experience in MVC, it will be apparent to the interviewer within the first few minutes of you explaining the project. The interviewer is trying to find out if you are being truthful on your resume. The specific details of that explanation are not important, other than demonstrating to the interviewer that you know how to effectively communicate ideas. Did you really participate deeply in the project, or is it just something you have on your resume because you were there? ;) –  Robert Harvey Jul 13 '11 at 23:34
    
Your explanation should demonstrate that you understood the project and the important points about why it was designed and implemented the way it was. –  Robert Harvey Jul 13 '11 at 23:37
2  
Sounds like the interviewer wants to hear you explain the MVC pattern to make clear you understand it and aren't just throwing around TLA:s. –  chris Jul 13 '11 at 23:39
1  
Why don't you explain it to us the way you would to the interviewer and we then tell if it's ok? I know how I implemented MVC, but how did you? –  SF. Jul 14 '11 at 0:14
add comment

4 Answers

up vote 6 down vote accepted

It's a little easier to explain what we don't want to hear as an answer to that sort of question. Don't recite the Wikipedia definition of MVC. Don't talk about what "they" did to implement the architecture. Talking about what "we" did is better, but I'm really looking for what "I" did. What was your personal contribution? Did you have any insights that made the implementation easier? Did you successfully resolve a disagreement with a colleague that didn't "get" MVC? Did you tend to get assignments in one particular layer due to attributes that made you better suited for it than your colleagues? Did you feel your group adhered to MVC principles too strongly or not strongly enough? Did you feel another pattern might have been better suited in some instances? Give specific examples of past situations.

In other words, we already know what MVC is and how to implement it. We want to know if you understand the underlying reasons behind it.

share|improve this answer
    
personally I would like to know what your answer to the question would be. :) –  James P. Wright Jul 14 '11 at 6:13
add comment

From my personal experience, I think they just want to hear:

Our JSP pages were observers of our business model. The model would communicate the changes to the view this way (observer pattern) and the view would also call the model when appropriate. When we saw it fit or requirements demanded the possibility to change the way the view called the model, we introduced a controller as a strategy for the view to communicate and interact with the model.

This would've been my answer. If they're asking a technical question, they get a technical answer. Please note: My description may or may not fit the technical details of your platform.

share|improve this answer
add comment

MVC is, by now, a very battered and often abused TLA. I hear lots of people talking about it, but when I dig deeper then it shows that they actually don't understand what it really means, and even if they do understand it on an abstract level, looking at the code shows that there is a breakdown somewhere between the architecture and the implementation.

If you get asked this question in an interview, the first thing to figure out is what they want to hear.

You could start by drawing a few simple diagrams and explaining how your implementation fits into the MVC pattern. If your interviewer understands MVC, he will be able to follow and ask follow-up questions that demonstrate his understanding. If your interviewer doesn't understand MVC, then there won't be any follow-up questions. If that happens, you know that now it's time to dig out that memorized wikipedia definition.

share|improve this answer
    
Ho god yes, people know what is MVC but then, totally fail at applying it. I see way too often. –  deadalnix Jul 14 '11 at 11:55
add comment

Tell them, with confidence. First describe it completely but in general, no technical details. Then ask the interviewer if they are programmers themselves and if they have something concrete they want you to explain.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.