. Net programmers interview everyone should know (answer Scott hanselman's question)

Source: Internet
Author: User

Yesterday I answered Scott hanselman's question about C # In his list ,. net programmers interview C # Language (answer Scott hanselman's question). Today, I will answer the question "Every writeCodePeople should know some of the questions.

 

1.Describe the difference between a thread and a process(Describe the difference between a thread and a process ?)

A process is in the running status.ProgramFor example, you can see the program running in the current window by pressing CTRL + ALT + Delete in the windoe environment.

A thread is a possible path of a program in the running state.

Therefore, a process must have at least one thread, and multiple threads can be stored in one process (multi-threaded program ). When a process starts, it will be allocated its own memory address, but the thread can only own the memory address of the process. There is also direct access between threads of the same process. However, interprocess communication is required between processes to access each other (I have never used it, and I don't quite understand it, what I saw on Google ).

 

 

2.What is a Windows service? What is the life cycle of a common EXE?(What is a Windows service and how does its lifecycle differ from a "standard" EXE ?)

I have not written any program related to Windows service. I am not very clear. On msdn, Introduction to Windows service applications, I know that Windows service is a program written to the server. this type of program does not have a user interface. It can be set to automatically start or restart as the server is enabled, and does not depend on the login user.

 

As for the problem different from the EXE life cycle, it is not very clear, who knows? Please kindly advise.

 

3.What is the maximum memory that a single process can obtain on windows? Is the maximum virtual memory allowed by this system in this province the same? What is the impact of knowing the answers to these questions on system design?(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 ?)

I don't know the answer to this question, http://stackoverflow.com/questions/716798/maximum-net-achievable-memory on stackoverflow, read for 32 bit, is 2 GB, for 64 bit is 8 TB. msnd has a table, which provides an introduction to different versions of Windows systems, memory limits for Windows releases.

 

The maximum virtual memory of a system depends on many factors.ArticleThis is detailed. Dude, where's my 4 gigabytes of Ram? The basic formula for 32-bit systems is:

 
232 = 4,294,967,296
4,294,967,296/(1,024x1,024) = 4,096

Therefore, it is 4 GB. Therefore, the maximum virtual memory allowed by the system is not the same as the maximum memory available for the next single process on the windwo platform.

 

Knowing this affects system design is that when you deal with systems with relatively high memory requirements, such as databases, you must consider the memory.

 

4.What is the difference between EXE and DLL?(What is the difference between an EXE and a DLL ?)

EXE is an executable file, including the public static void main () in. net. a dll is a functional file that can be called by an EXE.

 

5.What are strong and weak types? Which one is better? Why?What is strong-typing versus weak-typing? Which is preferred? Why?

Strong-typing refers to checking the variable type as early as possible. It is usually checked during compilation. week-typing refers to checking the variable type as far back as possible, usually at runtime. which one is better? In fact, they all have their own advantages, such as Ruby and JavaScript, which belong to week-typing. The advantage is that code writing is faster. C # Belongs to strong-typing. The advantage is that if the variable type is incorrect, the compilation will not pass, and Visual Studio will prompt you. as for the speed of code writing, it is much easier to use VaR to define variables since C #3.0.

 

6. corillian's product is a "component container." name at least 3 component containers that ship now with the Windows Server family.

I don't understand who can answer this question.

 

7.What is PID? Is it useful in solving system problems?(What is a PID? How is it useful when troubleshooting a system ?)

PID stands for process identifier, which is a process number. Usually, when the system does not listen, it can be used to close the program and debug it.

 

8.How many processes can a TCP/IP Port be shared?(How many processes can listen on a single TCP/IP Port ?)

One

 

9.What is GAC and its usefulness?(What is the GAC? What problem does it solve ?)

GAC refers to Global Assembly Cache. It is useful that the Assembly here can be called by multiple programs, just as many Microsoft assemblies are here. the solution is to save hard disk space. but what's worse is why shoshould I not use the GAC? It is very troublesome to manage different versions of the Assembly. You can upgrade one version, not only destroying a lot of programs that reference it.

 

Today's problem is quite difficult. Although Scott classifies it into the type of problem that everyone should know about when writing code, many of them are just understood after Google. it seems that basic things need to be enhanced. you are welcome to add and discuss it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.