Microsoft Interview Question for Program Managers






Comment hidden because of low score. Click to expand.
0
of 0 vote

Designing middle ware has numerous things to be considered. The selection of a technology for developing this would depands on the User Interface that we are interfacing with and also the volumes of the data that gets posted from user interface to the back end server. It also depends on the kind of the client that you are dealing with is this with a thin client or with a thick client.

The middle ware that we may have to create should be light weight so that there should have minimum commercial angles when iam trying to use this product.

Better bet would be to create a middleware thorough which we can integrate with any of the client.


Also since we are talking about both the think and thick client, the middle ware that iam using should also have the flexability in terms of analyzing if the user interface that iam interacting with is thin or with Thick client.

Considering all the above said as the minimal requirement, we can look at the data transmission happening from the thick User Interface into the back end server by using the RMI protocol. This is one of the early protocols used by the Java before they churned out EJB architecture. This has been proved as a very good mechanism to interact woth the servers if the serves are remotely situated and this is the most relaible way of having the integration done with the back end server.

If this is a Thin user interface that we are trying to interact with then i suggest using light weight framework of Springs. Spring framework is a very light weight framewok that helps in providing the in built integration API with which we connect to any external system

In terms of load balancing, scalability, this midleware that we are developing should support both horizontal and vertical scalability. One of of the option that we can look at for this in terms os scalability and performance is to have some kind of caching algorthim to be implemented. Suggest using jTree Cache mechanism which is very pwoerful in terms of performance and this can also provide the relevant mechanism for keeping the cache re-freshed at all times to remove the stale entries.

This way even this can help in providing the load balancing by having the values retrieved from cache whenever a server failure occurs or if we are trying to distribute load in round robin mechanism

- Sreedhar July 11, 2012 | Flag Reply


Add a Comment
Name:

Writing Code? Surround your code with {{{ and }}} to preserve whitespace.

Books

is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.

Learn More

Videos

CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.

Learn More

Resume Review

Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying.

Learn More

Mock Interviews

Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.

Learn More