Eventually it did came.. the thing i was waiting for a long time… the point of interest here is an interview call from MS!!!…
I was nervous no doubt but as it was telephonic and the person from the other side did have a soothing voice helped me easing out a bit.
The questions were nevertheless the trickiest ones … here it goes (as far as i remember!!)
Q1. Tell me something about Evidences. (first question straight out of blue 🙂 ).
A1. Assemblies level of trust are evaluated during CAS (Code Access Security) using Evidences. Evidences provide info on what source the code originated and what zone it qualifes for. (interanet, internet, Mycomputer, etc). We can use CASPOL.exe utility for the same.
Q2. what is GC?
A2. Garbage Collector. It holds the responsiblity of collecting the unused object and the compacting the memory. (Q2a) does it compact memory also? . (A2a) Yes…
though we can request a call to it but it is undeterministic in nature.
How to u call it?
Does it takes some argument too?
yes. an integer argument representing the level. level 1 and level 2.
Q3. Why it is not advisable to call destructors. Why use dispose?
A3. Dispose() method should be explicitly called to free resources held. it is responsiblity of the programmer to call the method explicitly in code. IDisposable interface can be implemented on an object and the method can be overridden.
Objects using destructors can be savely assumed to be free only after Two passes of gc. In first pass it traverses the freachable queue and find out all the object not reachable and put those in finalizer queue. In second pass it really releases the objects in the finalizer queue.
As call to GC is costly and as GC is undeterministic, destructors are not advisable.
Q3. What is cloning?
A3. It is the process of making an copy of an object in memory.. (i know it is not the perfect way of defining the cloning… but i was @ loss of words :(. ) . Shallow and deep copy can be done by implementing IClonable and overriding Clone() method.
Q1. Differentiate between IIS 5.x and IIS 6.0 ?
A1. I went blank. (PASS) … expect the unexpected … its MS.. afterall… (well ans is IIS 6.0 uses config files and http.dll, etc)..
Q2. How do you make ur own server control?
A3. Inherit from Control. Override Render(). Implement INamingcontainer. Overide LoadChildControls()…
Q3. Explain HTTP Pipeline.
A3. Http request –> http modules –> HttpHandler.
What is role of Http Module and Http Handler?
HttpModule is basically like ISAPI filter which filters the incoming request.
Why have it? if we want to extend the pipleline for custome logging, security, etc…
HttpHandler. ASP.NET provides a low-level request/response API to service incoming HTTP requests. Implement IHttpHandler and overeride ProcessRequest() and IsReusable().
Q4. How authentication is provided in .Net?
Q4. 4 ways. Forms. Windows. Passport and Integrated.
Windows auth have are Simple, Digest, Integrated.
How is simple differnt from Digest.
In digest a cookie is maintained at client side which is again validated at server. also it is more secure than simple.
What is impersonation?
for Anonymonous access the ASP .Net provides the IDentity of I_User account.
Q5 What are Isolation levels?
A5. I wondered was is it. then it strucked. SQL Server!!!.
1. Read Uncommited.
2. Read Commited.
3. Repeatable Read.
Q6. what is a Transaction? How can you implement transcation?
A6. ACID properties. Implement SP or Call Command.GetTransaction() which returns a transaction object on which Rollback or commit can be called.
Q5. I have a requirement to Log data to both SQL server and Oracle simulataneously…
A5. We can use EnterpriseServices and decorate the class with attributes and use MTS.
Others were standard question normally asked in IV. like Reflection. AppDomain. Remoting.
I will also blog that later point of time. Now its time to get back to work… 🙂