Thursday, April 2, 2009

.Net Remoting Interview Questions Part I

1. What’s a Windows process?

Ans. It’s an application that’s running and had been allocated memory.

2. What’s typical about a Windows process in regards to memory allocation?

Ans. Each process is allocated its own block of available RAM space, no process can access another process’ code or data. If the process crashes, it dies alone without taking the entire OS or a bunch of other applications down.

3. Why do you call it a process? What’s different between process and application in .NET, not common computer usage, terminology?

Ans. A process is an instance of a running application. An application is an executable on the hard drive or network. There can be numerous processes launched of the same application (5 copies of Word running), but 1 process can run just 1 application.

4. What distributed process frameworks outside .NET do you know?

Ans. Distributed Computing Environment/Remote Procedure Calls (DEC/RPC), Microsoft Distributed Component Object Model (DCOM), Common Object Request Broker Architecture (CORBA), and Java Remote Method Invocation (RMI).

5. What are possible implementations of distributed applications in .NET?

Ans. .NET Remoting and ASP.NET Web Services. If we talk about the Framework Class Library, noteworthy classes are in System.Runtime.Remoting and System.Web.Services.

6. When would you use .NET Remoting and when Web services?

Ans. Use remoting for more efficient exchange of information when you control both ends of the application. Use Web services for open-protocol-based information exchange when you are just a client or a server with the other end belonging to someone else.

7. What’s a proxy of the server object in .NET Remoting?

Ans. It’s a fake copy of the server object that resides on the client side and behaves as if it was the server. It handles the communication between real server object and the client object. This process is also known as marshaling.

8. What are remotable objects in .NET Remoting?

Ans. Remotable objects are the objects that can be marshaled across the application domains. You can marshal by value, where a deep copy of the object is created and then passed to the receiver. You can also marshal by reference, where just a reference to an existing object is passed.

9. What are channels in .NET Remoting?

Ans. Channels represent the objects that transfer the other serialized objects from one application domain to another and from one computer to another, as well as one process to another on the same box. A channel must exist before an object can be transferred.

10. What security measures exist for .NET Remoting in System.Runtime.Remoting?

Ans. None. Security should be taken care of at the application level. Cryptography and other security techniques can be applied at application or server level.

1 comment:

emama said...


I read this post two times.

I like it so much, please try to keep posting.

Let me introduce other material that may be good for our community.

Source: Library aide interview questions

Best regards