What Great. NET Developers Ought To Know (More. NET Interview Questions)
A while back, I posted a listASP. NET Interview Questions.Conventional wisdomWas split, with about half the folks saying I was nuts and that it was a list of trivia. the others said basically "Ya, those are good. I 'd probably have to look a few up. "To me, that's the right response.
Certainly I wasn' t trying to boil all. NET Software Development down to a few simple "trivia" questions. however, I WAS trying to get folks thinking. I believe that really good ASP. NET (and for that matter, WinForms) is a little [read: lot] more than just draging a control onto a designer and hoping for the best. A good race driver knows his car-what it can do and what it can't.
So, here's another list... a greatly expanded list, for your consumption (with attribution ). I wrote this on a plane last week on the way from Boise to Portland. I tried to take into consideration the concerns that my lists contain unreasonable trivia. I tried to make a list that was organized by section. if you 've never down ASP. NET, you obviously won't know all the ASP. NET section. if you're an indenpendant consultant, you may never come upon some of these concepts. however, ever question here has come up more than once in the last 4 years of my time at Corillian. so,
Knowing
Groking these questions may not make you a good or bad developer, but it WILL save you time when problems arise.
What Great. NET Developers Ought To Know
Everyone who writes code
- Describe the difference between a Thread and a Process?
- What is a Windows Service and how does its lifecycle differ from a "standard" EXE?
- What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How wocould this affect a system design?
- What is the difference between an EXE and a DLL?
- What is strong-typing versus weak-typing? Which is preferred? Why?
- Corillian's product is a "Component Container." Name at least 3 component containers that ship now with the Windows Server Family.
- What is a PID? How is it useful when troubleshooting a system?
- How many processes can listen on a single TCP/IP port?
- What is the GAC? What problem does it solve?
Mid-Level. NET Developer
- Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming.
- Describe what an Interface is and how it's different from a Class.
- What is Reflection?
- What is the difference between XML Web Services using ASMX and. NET Remoting using SOAP?
- Are the type system represented by XmlSchema and the CLS isomorphic?
- Conceptually, what is the difference between early-binding and late-binding?
- Is using Assembly. Load a static reference or dynamic reference?
- When wocould using Assembly. LoadFrom or Assembly. LoadFile be appropriate?
- What is an Asssembly Qualified Name? Is it a filename? How is it different?
- Is this valid? Assembly. Load ("foo. dll ");
- How is a stronugly-named assembly different from one that isn' t stronugly-named?
- Can DateTimes be null?
- What is the JIT? What is NGEN? What are limitations and benefits of each?
- How does the generational garbage collector in the. net clr manage object lifetime? What is non-deterministic finalization?
- What is the difference between Finalize () and Dispose ()?
- How is the using () pattern useful? What is IDisposable? How does it support deterministic finalization?
- What does this useful command line do? Tasklist/m "mscor *"
- What is the difference between in-proc and out-of-proc?
- What technology enables out-of-proc communication in. NET?
- When you're running a component within ASP. NET, what process is it running within on Windows XP? Windows 2000? Windows 2003?
Senior Developers/explorts
- What's wrong with a line like this? DateTime. Parse (myString );
- What are PDBs? Where must they be located for debugging to work?
- What is cyclomatic complexity and why is it important?
- Write a standard lock () plus "double check" to create a critical section around a variable access.
- What is FullTrust? Do GAC 'ed assemblies have FullTrust?
- What benefit does your code receive if you decorate it with attributes demanding specific Security permissions?
- What does this do? Gacutil/l | find/I "Corillian"
- What does this do? Sn-t foo. dll
- What ports must be open for DCOM over a firewall? What is the purpose of Port 135?
- Contrast OOP and SOA. What are tenets of each?
- How does the XmlSerializer work? What ACL permissions does a process using it require?
- Why is catch (Exception) almost always a bad idea?
- What is the difference between Debug. Write and Trace. Write? When should each be used?
- What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not?
- Does JITting occur per-assembly or per-method? How does this affect the working set?
- Contrast the use of an abstract base class against an interface?
- What is the difference between a. Equals (B) and a = B?
- In the context of a comparison, what is object identity versus object equivalence?
- How wocould one do a deep copy in. NET?
- Explain current thinking around IClonable.
- What is boxing?
- Is string a value type or a reference type?
- What is the significance of the "PropertySpecified" pattern used by the XmlSerializer? What problem does it attempt to solve?
- Why are out parameters a bad idea in. NET? Are they?
- Can attributes be placed on specific parameters to a method? Why is this useful?
C # Component Developers
- Juxtapose the use of override with new. What is shadowing?
- Explain the use of virtual, sealed, override, and abstract.
- Explain the importance and use of each component of this string: Foo. Bar, Version = 2.0.205.0, Culture = neutral, PublicKeyToken = 593777ae2d274679d
- Explain the differences between public, protected, private and internal.
- What benefit do you get from using a Primary Interop Assembly (PIA )?
- By what mechanic does NUnit know what methods to test?
- What is the difference between: catch (Exception e) {throw e;} and catch (Exception e) {throw ;}
- What is the difference between typeof (foo) and myFoo. GetType ()?
- Explain what's happening in the first constructor: public class c {public c (string a): this () {;}; public c (){;}} how is this construct useful?
- What isThis? Can this be used within a static method?
ASP. NET (UI) Developers
- Describe how a browser-based Form POST becomes a Server-Side event like Button1_OnClick.
- What is a PostBack?
- What is ViewState? How is it encoded? Is it encrypted? Who uses ViewState?
- What is the <machinekey> element and what two ASP. NET technologies is it used?
- What three Session State providers are available in ASP. NET 1.1? What are the pros and cons of each?
- What is Web Gardening? How wocould using it affect a design?
- Given one ASP. NET application, how many application objects does it have on a single proc box? A dual? A dual with Web Gardening enabled? How wocould this affect a design?
- Are threads reused in ASP. NET between reqeusts? Does every HttpRequest get its own thread? Shocould you use Thread Local storage with ASP. NET?
- Is the [ThreadStatic] attribute useful in ASP. NET? Are there side effects? Good or bad?
- Give an example of how using an HttpHandler cocould simplify an existing design that serves Check Images from an. aspx page.
- What kinds of events can an HttpModule subscribe? What influence can they have on an implementation? What can be done without recompiling the ASP. NET Application?
- Describe ways to present an arbitrary endpoint (URL) and route requests to that endpoint to ASP. NET.
- Explain how cookies work. Give an example of Cookie abuse.
- Explain the importance of HttpRequest. ValidateInput ()?
- What kind of data is passed via HTTP Headers?
- Juxtapose the HTTP verbs GET and POST. What is HEAD?
- Name and describe at least a half dozen HTTP Status Codes and what they express to the requesting client.
- How does if-not-modified-since work? How can it be programmatically implemented with ASP. NET?
Explain <@ OutputCache %> and the usage of VaryByParam, VaryByHeader.
- How does VaryByCustom work?
- How wocould one implement ASP. net html output caching, caching outgoing versions of pages generated via all values of q = tables t where q = 5 (as inHttp: // localhost/page. aspx? Q = 5)?
Developers using XML
- What is the purpose of XML Namespaces?
- When is the DOM appropriate for use? When is it not? Are there size limitations?
- What is the WS-I Basic Profile and why is it important?
- Write a small XML document that uses a default namespace and a qualified (prefixed) namespace. Include elements from both namespace.
- What is the one fundamental difference between Elements and Attributes?
- What is the difference between Well-Formed XML and Valid XML?
- How wocould you validate XML using. NET?
- Why is this almost always a bad idea? When is it a good idea? MyXmlDocument. SelectNodes ("// mynode ");
- Describe the difference between pull-style parsers (XmlReader) and eventing-readers (Sax)
- What is the difference between XPathDocument and XmlDocument? Describe situations where one shocould be used over the other.
- What is the difference between an XML "Fragment" and an XML "Document ."
- What does it meant to say "the canonical" form of XML?
- Why is the XML InfoSet specification different from the Xml DOM? What does the InfoSet attempt to solve?
- Contrast DTDs versus XSDs. What are their similarities and differences? Which is preferred and why?
- Does System. Xml support DTDs? How?
- Can any XML Schema be represented as an object graph? Vice versa?
What should. NET cool people know?
I sent a copy a few days ago.ASP. NET interview questionsList. Some visitors think that I have nothing to look for and there are some trivial issues. The rest of the people said, "It's pretty good. I have to take a look at some of these questions." I prefer the reply from the latter. I think the latter is the correct attitude.
Of course, I don't want to generalize. NET software development into some simple small problems. I just want to let everyone think more. I believe that a really good ASP. NET (and WinForm) developer should not only drag and drop controls into the designer, but also learn more. A good racing player knows his driving skills. What can he do? What cannot be done?
So I have prepared another list-an extended list for you to use. This was written on a board on my way from Boise to Portland last week, and I also considered the comments that thought my list was too trivial and tried to manage it by section. If you have never gone deep into ASP. NET, you certainly won't know the answers to all ASP. NET questions. If you are an independent consultant, you may never have encountered these concepts. But I have encountered these problems during my 4 years in Collins. Therefore, whether you fully understand these problems may have nothing to do with whether you are a good developer, but it can help you save a lot of time when you encounter problems.
What do. NET cool people know?
Anyone using. NET
- What is the difference between a thread and a process? (A process is an independent program, and the thread is attached to the process. The specific concept is unclear .)
- What is a Windows service, and what is the difference between its lifecycle and the standard EXE program (Windows Services are centrally managed by the Windows service management program without a running interface, windows Services generally run with the operating system without manual start. Standard EXE generally provides an interactive interface after the program runs, and generally starts manually rather than with the operating system .)
- What is the maximum memory size that a single process can access on Windows? Is it the same as the maximum virtual memory of the system? What is the impact on system design? (In 32-bit OS, a single process can access 2 GB memory. If the 3 GB switch is enabled, 3 GB memory can be accessed. If AWE is used, more memory can be accessed. Different from the maximum virtual memory, the system is designed to operate 2 GB memory for 32-bit systems and 2 GB memory for programs, the maximum memory size determines the performance of some programs, such as SQL Server .)
- What is the difference between EXE and DLL? (EXE is an executable program, DLL is a dynamic link library, and is called by EXE or other DLL, used to provide program interfaces)
- What is a strong type and what is a weak type? Which one is better? Why? (A strongly typed data type is clearly defined. A weak type is not explicitly defined or can be changed. There is no better saying, and each has its own advantages. The strong type makes it clear that the probability of an error is lower, and the weak type is more flexible .)
- What is PID? How to use the system in troubleshooting? (PID indicates the process identifier, which is a unique identifier during the process running. In troubleshooting, the PID is used to identify the faulty process .)
- How many processes can a single TCP/IP Port listen? (It should be one .)
- What is GAC? What problems does it solve? (Global Assembly Cache: Some assembly is cached in the entire operating system. Other programs that reference the Assembly do not need to copy the assembly to the directory where the EXE runs .)
Intermediate. NET developers
- This article describes the differences between APIs, object-oriented programming, and Object-Oriented Programming (APIs use interface types instead of classes when defining APIs, and object-oriented programming encapsulates data and methods into classes, programming through the class method, the aspect orientation is completely unknown)
- What is Interface? What is the difference between it and Class? (The interface defines the attributes and methods to be implemented. The Class has specific implementations, while the interface is just a definition. The Class can only be inherited separately, and one Class lacks the ability to implement multiple interfaces .)
- What is reflection? (The specific definition is unclear. I only know that through reflection, I can get the namespace, class, Attribute, method, and Attribute in an assembly)
- What is the difference between the XML Web Service using ASMX and the. NET Remoting using SOAP? (Web services are RPC for applications and the Internet, while Remoting is for lan. I only know this)
- Is the type system represented by XMLSchema? Is CLS represented by XMLSchema? (Do not understand)
- What is the difference between early-binding and late-binding? (I don't know what pre-binding and post-binding are here)
- Does calling Assembly. Load calculate static reference or dynamic reference? (Static)
- When to use Assembly. LoadFrom? When to use Assembly. LoadFile? (All files are loaded. I don't know the difference. I only read MSDN. It is estimated that one file can only Load files in the same folder, and the other can Load files in other folders .)
- What is Assembly Qualified Name? Is it a file name? What's the difference? (Do not understand)
- Assembly. Load ("foo. dll"); is this statement correct? (No error, do you have to use an absolute path ?)
- What is the difference between an assembly with strong signatures and an assembly without strong signatures? (After a strong signature, it cannot be modified and run. Without a strong signature, it can be decompiled and modified, and then compiled and run again .)
- Can DateTime be null? (Not Allowed)
- What is JIT? What is NGEN? What are their limitations and benefits? (Unknown)
- In. net clr, how does a generation of Garbage Collector manage the object lifecycle? What is the end of uncertainty? (Garbage is called when an object instance is not referenced anywhere. When the memory is not enough, GC clears the space occupied by the object instance .)
- What is the difference between Finalize () and Dispose? (Unknown)
- Is the using () syntax useful? What is IDisposable? How it achieves the final certainty. (Using () syntax can be used to automatically clear the objects in use immediately after the objects are used, which is quite useful. IDisposable is the interface of the Dispose method .)
- What is tasklist/m "mscor? (Not understand)
- Difference between in-proc and out-of-proc (I don't understand what the problem means)
- Which technology in. NET can implement out-of-proc communication? (Do not understand)
- When you run a component in ASP. NET, which process does it run on Windows XP, Windows 2000, and Windows 2003 respectively? (Win2000: Never touched, xp: forgot, win2003: w3wp.exe)
Senior developers/architects
- DateTime. Parse (myString); what is the problem with this line of code? (Exceptions may be thrown)
- What is PDB? Where should it be placed during debugging? (The debugging file, the PDB file and the corresponding EXE, DLL file are in the same folder)
- What is cyclomatic complexity )? Why is it important? (The number of times condition statements and loop statements appear in the Code. This shows the complexity of the function, which is relatively low .)
- Write a standard lock () to create a critical section before and after the access variable. There must be a "double check", (lock (this. textBox1) {this. textBox1.Text = "test";} double check will not)
- What is FullTrust? Is the assembly placed in GAC FullTrust? (Do not understand)
- What are the benefits of adding the features that require security permissions to the code? (......)
- What is the role of the gacutil/l | find/I "Corillian" command? (......)
- Why is the command sn-t foo. dll? (Calculate the public key or key of the Assembly)
- What ports does DCOM need to open through the firewall? What is port 135 used? (I don't know if I need Baidu)
- What are their purposes for comparing OOP and SOA? (OOP object-oriented programming is a programming idea and method based on objects. SOA is a service-oriented architecture that encapsulates APIs as services (such as Web Services ), then program these exposed services .)
- How does XmlSerializer work? What ACL permissions does a process using this class need? (Unknown)
- Why not advocate catch (Exception )? (Catch should capture the specific Exception type rather than general exceptions)
- What is the difference between Debug. Write and Trace. Write? Which one should I use? (Trace. Write is not used, so I don't know what the difference is)
- Is there a significant speed change between Debug Build and Release Build? Describe the reason. (In Debug mode, a lot of debugging information is added to the program, but not in Release mode. The speed varies and the order is not obvious .)
- Does JIT occur in the unit of assembly or in the unit of method? What is the impact on the workspace? (Unknown)
- Compare the use of abstract base classes and interfaces (abstract base classes define abstract methods and a next implementation method. interfaces only provide definitions, but do not provide any implementations)
- A. Is Equals (B) the same as a = B? (Different, Equals also requires the same type, while = only requires the same value)
- In object comparison, what are the meanings of the same object and the same object? (Object consistency includes the same object type and object value, and the same object means the same value)
- How to implement deep copy in. NET )? (. Net only provides the shortest COPY method, and deep copy only supports self-programming)
- Please explain IClonable (interface for implementing the object Clone () method)
- What is packing? (Convert objects to base objects)
- Is string a value type or a reference type? (All)
- What are the advantages of the attribute-oriented mode used by XmlSerializer? What problems have been solved? (Unknown)
- Why shouldn't the out parameter be used in. NET? Is it good? (The object should be used to pass the value. Is it good to use out)
- Can features be placed on parameters of a method? If yes, what is the purpose? (Yes, I forgot the usefulness. I have to go over MSDN)
C # component developers
- When to use override? When to use new? What is shadowing? (Override is used to override the method of the parent class to realize polymorphism. If the method in the parent class is neither virtual nor abstract, new is used. shadowing does not understand)
- Explain the differences between virtual, sealed, override, and abstract (virtual declarative virtual method keyword indicates that the method can be overwritten, sealed indicates that the class cannot be inherited, and override overrides the base class method, abstract declares the keywords of abstract classes and abstract methods. abstract methods are implemented by subclasses and cannot be instantiated .)
- Foo. bar, Version = 2.0.205.0, Culture = neutral, PublicKeyToken = 593777ae2d274679d explain the importance and role of each part of the string (the Assembly name, Version, and Culture are unknown, public key, these are used to declare a unique assembly in GAC)
- Explanation of the differences between public, protected, private, and internal (public can be accessed inside and outside, protected can only be accessed inside and like, private can only be accessed inside, internal can only be accessed in this set)
- What are the benefits of using Primary Interop Assembly (PIA? (Do not understand)
- What mechanisms does NUnit use to determine which methods to test? (Reflection, adding Attribute to the test method)
- Difference between catch (Exception e) {throw e;} and catch (Exception e) {throw, the original exception object is not thrown)
- What is the difference between typeof (foo) and myFoo. GetType? (Typeof (foo) does not cause exceptions. myFoo. GetType () may cause exceptions because myFoo is null)
- Public class c {public c (string a): this () {;}; public c () {;}} explains what happened in the first constructor? What is the use of this constructor? (The first constructor calls the second constructor, which constructs an instance of a c object .)
- Why is this used? Can be used in the static method? (This indicates the instance and cannot be used in static mode)
ASP. NET (UI) Developers (basically no, no answer)
- Describes how a browser-based Form POST becomes a server-side event, such as buttonemedionclick.
- What is PostBack?
- What is ViewState? Is it encoded? Encrypted? Who will use ViewState?
- <Machinekey> Why is the element used? Which two ASP. NET technologies does it use?
- What are the three Session State providers in ASP. NET 1.1 and their advantages and disadvantages?
- What is Web Gardening? How to use it in design?
- Suppose there is an ASP. NET application, how many application objects are allowed in a single process? What about the two processes? What if two Web Gardening processes are enabled? What is the impact on the design?
- Will ASP. NET reuse threads between multiple requests? Does each HttpRequest have its own thread? Should you use ASP. NET Thread Local Storage?
- [ThreadStatic] is the attribute useful in ASP. NET? Does it have any side effects? Is it good or bad?
- How to Use HttpHandler to simplify the existing design of providing verification images for. aspx pages
- What type of events does HttpModule subscribe? What is the impact on implementation? What should I do if I do not intend to re-compile the ASP. NE application?
- Specifies the way to express any terminal (URL) and the way to route requests to that end point in ASP. NET.
- Explains how cookies work. An example of Cookie abuse is provided.
- How important is HttpRequest. ValidateInput?
- What data is transmitted through HTTP Header?
- Compare http get and POST? What is HEAD?
- Give at least 6 HTTP status codes and their meanings
- What is the working principle of if-not-modified-since? How to Implement ASP. NET?
- <@ OutputCache %> and how to use VaryByParam and VaryByHeader.
- How does VaryByCustom work?
- How to Use q =? (Except q = 5) to implement ASP. net html output buffer and buffer expiration (for exampleHttp: // localhost/page. aspx? Q = 5)?
XML developers (I will not answer this question)
- What is the role of the XML namespace?
- When Will DOM be used? When is it not suitable? Is there a scaling limit?
- What is basic WS-I configuration? Where is it important?
- Write a small XML document, which uses the default namespace and a valid (prefix) namespace. The namespace must have the elements of the two namespaces respectively.
- What are the basic differences between elements and features?
- What is the difference between well-formed XML and valid XML?
- How to verify XML in. NET?
- MyXmlDocument. SelectNodes ("// mynode"); why is this code not good? When is it okay?
- Differences between XmlReader and event reader (Sax)
- What is the difference between XPathDocument and XmlDocument? Under what circumstances should I use?
- What is the difference between "XML fragments" and "XML documents "?
- What is a standard XML format?
- What is the difference between the XML InfoSet specification and the Xml DOM? What is the problem solved by InfoSet?
- Compare DTD and XSD. What are their similarities and differences? Which one is better? Why?
- Does System. Xml support DTD? If yes, how do I use it?
- Can XML Schema be represented as an object graph? Can an object chart be expressed as an XML Schema?