Address: http://www.hanselman.com/blog/WhatGreatNETDevelopersOughtToKnowMoreNETInterviewQuestions.aspx
By Scott hanselman
Original article title: What great. NET developers ought to know
Translator: Tony Qu
A few days ago, I sent a list of ASP. NET interview questions. Some visitors thought I was okay, and there were 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? What is Windows service, what is the difference between its lifecycle and the standard EXE Program ? What is the maximum memory size that a single process on Windows can access? Is it the same as the maximum virtual memory of the system? What is the impact on system design? What is the difference between EXE and DLL? What is a strong type and what is a weak type? Which one is better? Why? What is PID? How to use the system in troubleshooting? How many processes can a single TCP/IP Port listen? What is GAC? What problems does it solve?
intermediate. Net developer
what is the difference between interface-oriented, object-oriented, and Aspect-oriented programming? What is the difference between it and class? What is reflection? What is the difference between the XML Web Service using asmx and the. NET remoting using soap? Is the type system represented by XMLSCHEMA? Is CLS represented by XMLSCHEMA? What is the difference between early-binding and late-binding? Does calling assembly. Load calculate static reference or dynamic reference? When to use assembly. loadfrom? When to use assembly. LoadFile? What is Assembly qualified name? Is it a file name? What's the difference? Assembly. Load ("foo. dll"); is this statement correct? What is the difference between an assembly with strong signatures and an assembly without strong signatures? Can datetime be null? What is JIT? What is ngen? What are their limitations and benefits? In. Net CLR, how does a generation of Garbage Collector manage the object lifecycle? What is the end of uncertainty? What is the difference between finalize () and dispose? Is the using () syntax useful? What is idisposable? How it achieves the final certainty. What is tasklist/M "mscor? What is the difference between in-Proc and out-of-proc? Which technology in. Net can implement out-of-Proc communication? When you run a component in ASP. NET, which process does it run on Windows XP, Windows 2000, and Windows 2003 respectively?
Senior developer/Architect
datetime. parse (mystring); what is the problem with the Code line? What is PDB? Where should it be placed during debugging? What is cyclomatic complexity )? Why is it important? Write a standard lock () and create a critical section before and after the access variable. There must be a "double check". What is fulltrust? Is the Assembly placed in GAC fulltrust? What are the benefits of adding the features that require security permissions to the code? What is the role of the gacutil/l sort find/I "corillian" command? Why is the command Sn-T Foo. dll? What ports does DCOM need to open through the firewall? What is port 135 used? What are their purposes for comparing OOP and SOA? How does xmlserializer work? What ACL permissions does a process using this class need? Why not advocate catch (exception )? What is the difference between Debug. Write and trace. Write? Which one should I use? Is there a significant speed change between debug build and release build? Describe the reason. Does JIT occur in the unit of assembly or in the unit of method? What is the impact on the workspace? Is the use of a. Equals (B) and a = B of abstract base classes and interfaces the same? In object comparison, what are the meanings of the same object and the same object? How to implement deep copy in. Net )? What is iclonable packing? Is string a value type or a reference type? What are the advantages of the attribute-oriented mode used by xmlserializer? What problems have been solved? Why shouldn't the out parameter be used in. Net? Is it good? Can features be placed on parameters of a method? If yes, what is the purpose?
C # component developer
when to use override? When to use new? What is shadowing? Explain the differences between virtual, sealed, override, and Abstract: Foo. bar, version = 2.0.205.0, culture = neutral, publickeytoken = 593777ae2d274679d explain the importance and role of each part of this string. The differences between public, protected, private, and internal use primary InterOP assembly (PIA) what are the benefits? What mechanisms does nunit use to determine which methods to test? What are the differences between catch (exception e) {Throw E;} and catch (exception e) {Throw;} In typeof (FOO) and myfoo. GetType? Public class c {public C (string a): this () {;}; public C () {;}} explains what happened in the first constructor? What is the use of this constructor? Why is this used? Can be used in the static method?
ASP. NET (UI) Developer
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? 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 can I use httphandler to simplify the existing design of providing verification images for the. ASPX page? What type of events does the httpmodule subscribe? What is the impact on implementation? What should I do if I do not intend to re-compile the ASP. Ne application? Express the way to express any terminal (URL), and the way ASP. NET routes requests to that end to explain how cookie works. 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? What is the working principle of IF-not-modified-since to say at least six HTTP status codes and their meanings? How to Implement ASP. NET? <@ Outputcache %> and how does varybyparam and varybyheader. varybycustom work? How to Use Q =? (Except q = 5) to implement ASP. net html output buffer and buffer expiration (such as http: // localhost/page. aspx? Q = 5 )?
XML developer
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 using the default namespace and a valid (prefix) namespace, what are the basic differences between the element elements and features of the two namespaces? 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? What is the difference between XML reader 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 standardized 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?
Bytes ------------------------------------------------------------------------------------------------
Anyone using. net
1) What is the difference between a thread and a process?
Both threads and processes define some boundary. The difference is that processes define the boundary between applications, different processes cannot share code and data space, while threads define the boundary of code execution stack and execution context. A process can contain several threads and create multiple threads to complete a task at the same time, that is, multithreading. Different threads in the same process share code and data space. In a metaphor, if a family represents a process, each member in the family is a thread, and every member in the family is obligated to accumulate wealth in the family, at the same time, the family has the right to consume family wealth. when facing a task, the family can also send several members to complete the work together, people outside the family cannot directly consume the property of their own families.
2) What is a Windows service? What is its lifecycle different from that of a standard exe program?
Windows Service is an application running under the specified user (default system) in the Windows background. It does not have a standard UI interface and is similar to a standard exe program, A Windows service is created at the beginning of the service and destroyed at the end of the service. You can also set whether the service is started with the operating system and disabled together. It supports three methods: 1) automatic mode 2) manual mode 3) disabled. When the automatic mode is enabled, the Windows service starts automatically after the OS is started, and the manual mode must start the service manually. If the disabled mode is disabled, the service cannot be started. In addition, standard EXE uses the currently logged-on user by default, while Windows uses the System user by default, which requires special attention when accessing system resources.
3) What is the maximum memory size that a single windows process can access? Is it the same as the maximum virtual memory of the system? What is the impact on system design?
For the hardware platform, the formula is as follows: the maximum memory size that a single process can access = 2 to the power of the number of processor digits/2. For example, under a 32-bit processor, the maximum memory size that a single process can access is 232/2 = 2G. The maximum amount of memory that a single process can access is 1/2 of the maximum virtual memory, because half of the virtual memory is allocated to the operating system.
4) What is a strong type and a weak type? Which one is better? Why?
A strong type determines the type of data during compilation. The type cannot be changed during execution, but the weak type determines the type during execution. No, either of them has its own advantages. Strong type security, because it has been determined in advance, and the efficiency is high. It is generally used for compilationProgramming LanguageSuch as C ++, Java, C #, Pascal, etc. The weak type is not safe in comparison and may cause errors during running. However, it is flexible and mostly used in interpreted programming languages, such as JavaScript and VB
5) What is PID? How to use the system in troubleshooting?
PID is the process number. When the system discovers a fault, you can find the specific process of the fault based on it, you can also use visual studio.net and other ides to attach the faulty process to the process for debugging (Debug)
6) How many processes can listen on a single TCP/IP Port?
Multiple containers can be used and multiple containers can be used for port multiplexing (thanks for the frog pond Reminder)