>  기사  >  백엔드 개발  >  ASP.NET 인터뷰 질문 모음

ASP.NET 인터뷰 질문 모음

怪我咯
怪我咯원래의
2017-03-30 14:02:121225검색

ASP.NET 면접 질문 모음

1. 개인, 보호, 공개 및 내부 수정자에 대한 액세스 권한을 간략하게 설명합니다.
답변: private 멤버는 클래스 내부에서만 접근할 수 있습니다.
protected: 클래스 및 상속된 클래스 내에서 액세스할 수 있는 보호된 멤버입니다.
public: 공개 회원, 완전 공개, 액세스 제한 없음.
내부: 동일한 네임스페이스 내에서 액세스 가능합니다.

2. ASP.NET 페이지 간에 값을 전송하는 여러 가지 방법을 나열합니다.
답변 1. QueryString을 사용하세요. 예: Redirect()....
2. 변수 3. Server.Transfer 사용
3. 숫자 열의 규칙은 다음과 같습니다: 1, 1, 2, 3, 5, 8, 13, 21 , 34.... .. 30번째 숫자가 무엇인지 알아보려면
재귀
알고리즘을 사용하여 구현해 보세요. 답변: public class MainClass {
public static void Main()
{
Console.WriteLine(Foo(30))
}
public static int Foo( int i)
{
if (i <= 0)
return 0
else if(i > 0 && i <= 2)
return 1; else return Foo(i -1) + Foo(i - 2);
}
}

4.
C#
에서 대리자가 무엇인가요?
이벤트도 일종의 위임인가요? 답변: 대리자는 한 메서드를 매개 변수로 다른 메서드로 대체할 수 있습니다. 델리게이트는
함수
를 가리키는
참조로 이해할 수 있습니다. 예, 특별한 종류의 위임입니다. 5. 재정의와
오버로딩

답변: 오버로딩의 차이입니다. 오버로딩(Overloading)은 같은 이름을 가진 메소드입니다. 매개변수 또는 매개변수 유형이 다른 경우 다양한 요구 사항을 충족하기 위해 다중 오버로드가 수행됩니다. override는 기본 클래스의 함수를 다시 작성하는 것입니다. 필요에 적응합니다.

6. B/S 구조 시스템에서 변수 값을 전달해야 하는데 Session,
Cookie
, Application을 사용할 수 없는 경우 몇 가지 방법으로 처리해야 합니까? 그것?
답변: this.Server.Transfer
7. 프로그래밍 방식으로 페이지의 모든 TextBox 컨트롤을 탐색하고 string.Empty 값을 할당하세요.
답변:
foreach(this.Controls의 System.Windows.Forms.Control 컨트롤)
{
if(컨트롤은 System.Windows.Forms.TextBox)
{
System .Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control;
tb.Text = String.Empty;
}
}

8.
버블 정렬
알고리즘이 하나인가요?
답변: int [] array = new int ;
int temp = 0
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (배열 [j] < 배열 [i])
{
temp = 배열 ​​[i] ;
배열 [i] = 배열 ​​[j] ;
배열 [j] = 임시
}
}

9. C#에서
index
구현자의 구현 프로세스를 설명하세요. 숫자를 기준으로만 색인을 생성할 수 있나요?
답변: 아니요. 모든 유형을 사용할 수 있습니다.
10. 다음 표현식
의 값을 찾아 생각나는 구현 방법을 하나 이상 적어보세요. 1-2+3-4+…+m
답변:
int Num = this.TextBox1.Text.ToString() ; int Sum = 0 for (int i = 0 ; i < Num + 1 ; i++)
{
if((i%2) == 1)
{
Sum += i ;
}
else
{
Sum = Sum - I
}
}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine()

11. B/S 구조 시스템을 구축하세요. 여러 레이어의 구조를 사용하여 개발된 건가요? 각 레이어 간의 관계는 무엇이며 왜 이렇게 계층화되어 있나요?
답변: 일반적으로 3개의 계층이 있습니다.
데이터 액세스 계층, 비즈니스 계층, 프레젠테이션 계층.
데이터 액세스 계층은 데이터베이스에 대한 추가, 삭제, 확인 및 수정을 수행합니다.
비즈니스 계층은 일반적으로 프레젠테이션 계층과의 통신을 구현하는 비즈니스 모양 계층, 사용자 비밀번호의
보안
등을 구현하는 비즈니스 규칙 계층으로 구분됩니다.
프레젠테이션 레이어는 사용자가 양식을 추가하는 등 사용자와 상호 작용하기 위한 것입니다.
장점: 명확한 업무 분업, 명확한 조직, 디버깅이 용이하고 확장 가능합니다.
단점: 비용이 증가합니다.
12. 다음 예에서는 using System;
class A
{
public A()
{
PrintFields();
}
공용 가상 void PrintFields(){}
}
class B:A
{
int
int
public B()
{
y=-1;
}
공용 재정의 void PrintFields()
{
Console.WriteLine("x={0},y= {1}",x,y);
}
new B()를 사용하여 B의 인스턴스를 생성하면 어떤 출력이 생성되나요?
답변: X=1,Y=0;x= 1 y = -1

13. 애플리케이션 도메인이란 무엇인가요?
답변: 애플리케이션 도메인은 가벼운 프로세스로 이해될 수 있습니다. 안전 역할을 수행하십시오. 리소스를 거의 차지하지 않습니다.

14. CTS, CLS, CLR에 대한 설명은 무엇인가요?
정답: CTS: 공용 언어 시스템. CLS: 공용 언어 사양. CLR: 공용 언어 런타임.

15. 포장과 개봉이란?
답변: 값 유형 인터페이스 를 참조 유형 boxing으로 변환합니다. 참조에서 값 유형 unboxing으로 변환을 입력합니다.

16. 규제코드란 무엇인가요?
답변: 안전하지 않음: 관리되지 않는 코드입니다. CLR을 거치지 않고 실행합니다.

17. 강력한 타입 시스템이란 무엇인가요?
답변: RTTI: 유형 식별 시스템.

18.net에서 데이터베이스를 읽고 쓰려면 어떤 클래스가 필요합니까? 그들의 역할은?
답변: 데이터 세트: 데이터 저장.
DataCommand: 명령문 명령을 실행합니다.
DataAdapter: 단어로 채워진 데이터 모음입니다.

19.ASP.net 인증 방법은 무엇인가요? 차이점은 무엇입니까?
정답: 10. Windows(기본값)는 IIS를 사용합니다...From(양식)은 계정을 사용합니다...Passport(키)

20. Code-Behind 기술이란?
답변: 심기 후 코드입니다.

21. .net에서 액세서리란 무엇을 의미하나요?
답변: 어셈블리. (중간언어, 소스데이터, 리소스, 어셈블리 목록)

22. WebService를 호출할 때 주로 사용하는 방법은 무엇인가요?
답변: 1. WSDL.exe 명령줄 도구를 사용합니다.
2. VS.NET에서 웹 참조 추가 메뉴 옵션을 사용하세요.

23.. net Remoting은 어떻게 작동하나요?
답변: 서버는 객체의 위치를 ​​확인하기 위해 프로세스 번호와 프로그램 도메인 번호를 클라이언트에 보냅니다.

24. C#에서는 string str = null이고 string str = "" 차이점을 설명하려면 텍스트나 이미지를 사용해 보세요.
답변: string str = null은 메모리 공간을 할당하지 않지만 string str = ""는 빈 string 길이의 메모리 공간을 할당합니다.

25. 닷넷의 클래스와 구조 간의 유사점과 차이점에 대해 자세히 설명해 주세요.
답변: 클래스는 인스턴스화될 수 있으며 메모리 힙에 할당되는 참조 유형입니다. 구조체는 메모리 스택에 할당되는 값 유형입니다.
26. , 사용자 컨트롤에서 다음 코드 조각을 완성하십시오.
namespace test
{
publicelegate void OnDBOperate()
public class UserControlBase : System.Windows.Forms.UserControl
{
공개 이벤트 OnDBOperate OnNew
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
// OnDBPerate 대리자가 서명한 OnNew 이벤트를 호출하려면 아래 코드를 완성하세요.
}
}
}
답: if( OnNew != null )
OnNew( this, e )

27. 공백
string strTmp = "abcdefgXXXX";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length; 실행됨, i= j=
답변: i=13,j=10

28. SQLSERVER 서버에는 지정된 테이블 table1에 ID와 LastUpdateDate라는 두 개의 필드가 있습니다. , LastUpdateDate 업데이트 시 서버 시간을 나타냅니다. SQL 문을 사용하여 마지막으로 업데이트된 트랜잭션 번호를 확인하세요.
답변: Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

29. 스레드 안전성 관련 지식에 따라 다음 코드를 분석하여 테스트 메서드 호출 시 i>10이 호출되면 교착 상태가 발생합니까? 그리고 그 이유를 간략하게 설명합니다.
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--; i);
}
}
}
답변: 교착 상태는 발생하지 않습니다. (하지만 int는 값으로 전달되므로 변경될 때마다 복사본이므로 A 교착 상태가 발생하지 않습니다. 그러나 int가 개체로 대체되면 교착 상태가 발생합니다.

30. Microsoft .NET 프레임워크 하의 원격 및 웹 서비스 기술에 대한 이해와 실제에 대해 간략하게 설명하십시오. 응용 프로그램.
답변: WS는 주로 HTTP를 사용하여 방화벽을 침투할 수 있습니다. 원격에서는 TCP/IP 및 바이너리 전송을 사용하여 효율성을 높일 수 있습니다.

31. 회사에서는 System.Windows.Forms.ListView 클래스를 상속하는 컴포넌트 개발을 요구하며 다음과 같은 특수 기능이 필요합니다. ListView의 각 열의 열 헤더를 클릭하면 해당 값에 따라 보기가 재정렬될 수 있습니다. 클릭한 열의 각 행보기 모든 행(DataGrid와 유사한 방식으로 정렬). 여러분의 지식을 바탕으로 여러분의 아이디어를 간략하게 이야기해 주세요
답변: 클릭한 컬럼 헤더에 따라 컬럼의 ID를 꺼내고, ID에 따라 정렬한 후 ListView에 바인딩합니다.

32. 다음 XML 파일이 주어지면 알고리즘 흐름도를 완성하세요.




<파일 FileName ="MSDOS.SYS" >
<파일 FileName ="IO.SYS" ;/DriverC>

모든 파일 이름(FileName)을 순회하는 흐름도를 그려주세요(재귀 알고리즘을 사용하세요).
답변:
void FindFile( Directory d )
{
FileOrFolders = d.GetFileOrFolders();
foreach( FileOrFolder fof in FileOrFolders )
{
if( fof는 File )
파일을 찾았습니다.
else if ( fof is Directory )
FindFile( fof )
}
}

33. 테이블 A의 31번째부터 40번째 레코드를 꺼냅니다(SQLServer, 자동으로 증가하는 ID를 기본 키로 사용합니다. 참고: ID는 연속적이지 않을 수 있습니다.
답변: 해결 방법 1: A에서 상위 10개 * 선택, ID가 없음(선택 A의 상위 30개 ID)
해결책 2: A에서 상위 10개 *를 선택합니다. 여기서 id > (max(id) from (A의 상위 30개 ID 선택)을 A로 선택)

34.
객체 지향 언어에는 속성, _ 속성, 속성이 있습니다 답: 캡슐화, 상속, 다형성
35. foreach 순회를 사용하여 액세스할 수 있는 객체는 인터페이스를 구현하거나
답변: IEnumerable, GetEnumerator.

36. GC란 무엇인가요?
답변: 프로그래머는 메모리 관리에 대해 걱정할 필요가 없습니다. 가비지 수집기를 자동으로 관리하려면 다음 메서드 중 하나를 호출하면 됩니다:
System.gc()
Runtime.getRuntime().gc()

37. String s = new String( "xyz"); 얼마나 많은 문자열 개체가 생성되었습니까?
답변: 두 개의 개체, 하나는 "xyx"이고 다른 하나는 "xyx"를 가리키는 참조 개체입니다.

38.추상 클래스와 인터페이스의 차이점은 무엇인가요?
답변:
메서드를 구현하지 않고 선언하는 클래스를
추상 클래스
(추상 클래스)라고 합니다. 특정 기본 동작을 구현하는 클래스를 만들고 해당 클래스에 대한 메서드를 선언하는 데 사용되지만 클래스에서 구현할 수는 없습니다. 그러나 추상 클래스를 만드는 것은 가능합니다. 유형이 추상 클래스이고 구체적인 하위 클래스 중 하나를 가리키는 변수입니다. 추상 생성자 또는 추상 정적 메서드를 가질 수 없습니다. Abstract 클래스의 하위 클래스는 상위 클래스의 모든 추상 메서드에 대한 구현을 제공합니다. 그렇지 않으면 추상 클래스이기도 합니다. 대신 하위 클래스에서 메서드를 구현하세요. 해당 동작을 인식하는 다른 클래스는 해당 클래스에서 이러한 메서드를 구현할 수 있습니다. 인터페이스는 추상 클래스의 변형입니다. 인터페이스에서 모든 메소드는 추상적입니다. 이러한 인터페이스를 구현하면 다중 상속을 얻을 수 있습니다. 인터페이스의 모든 메서드는 추상적이며 그 중 어느 것도 프로그램 본문을 갖고 있지 않습니다. 인터페이스는 정적 최종 멤버 변수만 정의할 수 있습니다. 인터페이스 구현은 구현 클래스가 인터페이스 정의에서 동작을 상속할 수 없다는 점을 제외하면 서브클래싱과 유사합니다. 클래스가 특정 인터페이스를 구현할 때 이 인터페이스의 모든 메서드를 정의(즉, 프로그램 본문 제공)합니다. 그런 다음 인터페이스를 구현하는 클래스의 모든 개체에서 인터페이스의 메서드를 호출할 수 있습니다. 추상 클래스가 있으므로 인터페이스 이름을 참조 변수의 유형으로 사용할 수 있습니다. 일반적인 동적 연결이 적용됩니다. 참조는 인터페이스 유형으로 또는 인터페이스 유형에서 변환될 수 있으며, 연산자
의 인스턴스를 사용하여 객체의 클래스가 인터페이스를 구현하는지 여부를 확인할 수 있습니다. 39. 스레드를 시작하려면 run() 또는 start()를 사용해야 합니까? 답변: 스레드를 시작하려면 start() 메서드를 호출하여 스레드가 나타내는 가상 프로세서를 실행 가능한 상태로 만드세요.

이는 JVM에 의해 예약되고 실행될 수 있음을 의미합니다. 이는 스레드가 즉시 실행된다는 의미는 아닙니다. run() 메서드는 스레드를 중지하기 위해 필수 exit 플래그를 생성할 수 있습니다. 40. 인터페이스가 인터페이스를 상속받을 수 있나요? 추상 클래스가 구체적인 클래스를 상속받을 수 있나요?답변: 인터페이스는 인터페이스를 상속할 수 있습니다. 추상 클래스는 인터페이스를 구현할 수 있고 추상 클래스가 엔터티 클래스를 상속할 수 있는지 여부를 알 수 있지만 전제는 엔터티 클래스에 명확한 생성자가 있어야 한다는 것입니다.

41. 생성자 Constructor를 재정의할 수 있나요?
답변: 생성자 Constructor는 상속할 수 없으므로 Overriding은 재정의할 수 있지만 Overloading은 재정의할 수 있습니다.

42. String 클래스는 상속될 수 있나요?
답변: String 클래스는 최종 클래스이므로 상속될 수 없습니다.

43. try {}에 return 문이 있는데, 이 try 직후에 최종적으로 {}의 코드가 언제 실행되나요?
답변: 그렇죠. 반환되기 전에 실행됩니다.

44. 두 개체의 값은 동일하지만(x.equals(y) == true) 서로 다른 해시 코드를 가질 수 있습니다.
답변: 아니요, 동일한 해시를 갖습니다. 암호.

45. swtich는 바이트에 대해 작동할 수 있나요?
답변: switch(expr1)에서 expr1은 정수입니다. 표현. 따라서 스위치 및 케이스 문에 전달되는 매개 변수는 int, short, char 또는 byte여야 합니다. 스위치에는 긴 문자열이나 문자열을 사용할 수 없습니다.

47. 스레드가 개체의 동기화 메서드에 들어갈 때 다른 스레드가 개체의 다른 메서드에 들어갈 수 있나요?
아니요, 개체의 동기화 메서드는 하나의 스레드에서만 액세스할 수 있습니다.

48. 추상 메소드는 정적, 기본 및 동기화를 동시에 수행할 수 있습니까?
답변: 없음.

49. List, Set 및 Map은 Collection 인터페이스에서 상속됩니까?
답변: List와 Set은 Map이 아니라 Map입니다.

50. 그렇다면 중복을 구별하려면 어떤 방법을 사용해야 합니까? == 또는 equals()를 사용해야 합니까?
답변: Set의 요소는 반복될 수 없으므로 iterator()를 사용하십시오. 중복을 구별하는 방법. equals()는 두 세트가 동일한지 여부를 결정합니다.
equals() 및 == 메소드는 참조 값이 동일한 객체를 가리키는지 여부를 결정합니다. 두 개의 개별 객체의 내용과 유형이 일치할 때 참 값을 반환하기 위해 클래스에서 equals()가 재정의됩니다.

51.Arraylength() 메소드가 있나요? String에 length() 메소드가 있나요?
답변: 배열에는 length() 메서드가 없지만 길이의 속성 이 있습니다. String에는 length() 메서드가 있습니다.

52. sleep()과 wait()의 차이점은 무엇입니까?
답변: sleep() 메서드는 일정 시간 동안 스레드를 중지하는 메서드입니다. 휴면 간격이 만료된 후 스레드가 반드시 즉시 실행을 재개하는 것은 아닙니다. 그 이유는 (a) "깨어나기" 스레드가 더 높은 우선순위
(b)가 실행되고 있지 않는 한 그 순간 다른 스레드가 실행 중일 수 있고 실행을 포기하도록 예약되지 않았기 때문입니다. 스레드가 다른 이유로 차단되었습니다.
wait()는 스레드가 상호 작용하는 경우입니다. 스레드가 동기화 개체 x에 대해 wait() 호출을 실행하면 스레드는 실행을 일시 중지하고 호출된 개체는 깨어나거나 대기 시간이 만료될 때까지 대기 상태로 들어갑니다.

53.short s1 = s1 + 1; 무엇이 문제입니까? short s1 = 1;
답: short s1 = 1; ; 오류가 있습니다. s1은 short 유형이고 s1+1은 int 유형이므로 명시적으로 short 유형으로 변환할 수 없습니다. s1 =(short)(s1 + 1)로 수정될 수 있습니다. 짧은 s1 = 1; s1 += 1이 맞습니다.

54. final, finally, finalize의 차이점에 대해 이야기해 주세요.
답변:
final-modifier(키워드) 클래스가 최종으로 선언되면 더 이상 새 하위 클래스를 파생할 수 없고 상위 클래스로 상속될 수 없음을 의미합니다. 따라서 클래스는 abstract 및 final로 선언될 수 없습니다. 사용 중에 변경되지 않도록 변수나 메서드를 final로 선언하세요. final로 선언된 변수는 선언 시 초기값을 주어야 하며, 후속 참조에서만 읽을 수 있고 수정할 수 없습니다. final로 선언된 메서드도 사용할 수만 있고 오버로드될 수 없습니다.
finally-예외 처리 중에 정리 작업을 수행할 수 있는 finally 블록을 제공하세요. 예외가 발생하면 일치하는 catch 절이 실행되고 제어는 finally 블록(있는 경우)으로 전달됩니다.
finalize-메소드 이름. Java 기술을 사용하면 가비지 수집기가 메모리에서 객체를 지우기 전에 finalize() 메서드를 사용하여 필요한 정리 작업을 수행할 수 있습니다. 이 메서드는 개체가 참조되지 않는다고 판단할 때 이 개체의 가비지 수집기에 의해 호출됩니다. Object 클래스에 정의되어 있으므로 모든 클래스가 이를 상속합니다. 서브클래스는 finalize() 메서드를 재정의하여 시스템 리소스를 구성하거나 기타 정리 작업을 수행합니다. finalize() 메서드는 가비지 수집기 개체를 삭제하기 전에 이 개체에 대해 호출됩니다.

55. 수십만 개의 동시 데이터를 처리하는 방법은 무엇입니까?
답변: 저장 프로시저 또는 트랜잭션을 사용하세요. 최대 식별자를 얻을 때 동시에 업데이트합니다. 이 방법은 동시에 사용될 때 기본 키를 복제하지 않습니다.

56. Session에 큰 버그가 있고, 이를 해결하기 위해 Microsoft에서는 어떤 방법을 제안했나요?
답변: IIS의 프로세스 재활용 메커니즘으로 인해 시스템 사용량이 많으면 세션이 손실됩니다. Sate 서버 또는 SQL Server 데이터베이스를 사용하여 세션을 저장할 수 있지만 이 방법은 속도가 느리고 END를 캡처할 수 없습니다. 세션의 이벤트.

57. 프로세스와 스레드의 차이점은 무엇인가요?
답변: 프로세스는 시스템의 리소스 할당 및 예약 단위이고, 스레드는 CPU 예약 및 발송 단위입니다. 프로세스는 여러 스레드를 가질 수 있으며 이러한 스레드는 이 프로세스의 리소스를 공유합니다.

58. 힙과 스택의 차이점은 무엇인가요?
정답:
스택: 컴파일러에 의해 자동으로 할당 및 해제됩니다. 함수 본문 내에 정의된 변수는 일반적으로 스택에 있습니다.
힙: 일반적으로 프로그래머가 할당하고 해제합니다. new, malloc 등의 메모리 할당 함수를 사용하여 할당한 것이 힙에 있습니다.

59. 멤버변수와 멤버함수 앞에 static을 추가하는 역할은 무엇인가요?
답변: 상수 멤버 변수 및 상수 멤버 함수라고 하며, 클래스 멤버 변수 및 클래스 멤버 함수라고도 합니다. 클래스의 상태를 각각 반영하는 데 사용됩니다. 예를 들어 클래스 멤버 변수를 사용하여 클래스 인스턴스 수를 계산할 수 있으며 클래스 멤버 함수는 이러한 통계 작업을 담당합니다.

60.ASP. NET을 ASP와 비교했을 때 주요 개선 사항은 무엇입니까?
답변: asp로 해석된 형식, aspx로 컴파일된 형식은 성능을 향상시키고 소스 코드를 보호하는 데 도움이 됩니다.

61. 길이가 100인 int 배열을 생성하고 1~100을 무작위로 삽입하면 반복될 수 없습니다.
int[] intArr=new int[100];
ArrayList myList=new ArrayList();
Random rnd=new Random()
while(myList.Count<100)
{
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num)
}
for(int i=0 ;i<100;i++)
intArr[i]=(int)myList[i];

62. .net에서 일반적으로 사용되는 페이지 간에 매개변수를 전달하는 몇 가지 방법을 설명하고 식별하십시오. 강점과 약점.
답변: 세션(viewstate)은 간단하지만 잃어버리기 쉽습니다
애플리케이션 전역
쿠키는 간단하지만 지원되지 않을 수 있으며 위조될 수 있습니다
입력 ttype="hidden"은 간단합니다. 위조될 수 있습니다
URL 매개변수가 단순하고 주소 표시줄에 표시되며 길이가 제한되어 있습니다
데이터베이스가 안정적이고 안전하지만 성능이 상대적으로 약합니다

63. GAC의?
답변: 전역 어셈블리 캐시.

64. 서버에 요청을 보내는 방법은 몇 가지가 있나요?
정답: 받기, 게시하기. Get은 일반적으로 링크 방식이고, Post는 일반적으로 버튼 방식입니다.

65. DataReader와 Dataset의 차이점은 무엇인가요?
답변: 하나는 앞으로만 이동할 수 있는 읽기 전용 커서이고, 다른 하나는 메모리에 있는 테이블입니다.

66. 소프트웨어 개발 프로세스는 일반적으로 몇 단계로 이루어지나요? 각 단계의 역할은 무엇인가요?
답변: 요구 사항 분석, 아키텍처디자인, 코드 작성, QA, 배포

67. C#에서 using과 new 두 키워드의 의미는 무엇입니까? 안다는 뜻인가요? using 지시문과 new 문은 기본 클래스의 메서드를 숨기는 인스턴스를 만듭니다.
대답: using은 네임스페이스를 도입하거나 관리되지 않는 리소스를 사용합니다.
new는 새 인스턴스를 생성하거나 상위 클래스 메서드를 숨깁니다.

68. 문자열을 처리하려면 먼저 문자열의 시작과 끝에서 공백을 제거하세요. 문자열 제거, 문자열 중간에 연속 공백이 있는 경우 공백 하나만 유지하십시오. 즉, 문자열 중간에 여러 공백이 허용되지만 연속 공백의 수는 1을 초과할 수 없습니다.
답변: 문자열. inputStr=" xx xx ";
inputStr=Regex.Replace(inputStr.Trim()," *"," ");

69. 왜?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine("Equal")
else
콘솔 .WriteLine("같지 않음");
답변: 비교되는 개체가

70이므로 같지 않습니다. SQL 삽입이란 무엇이며 이를 방지하는 방법은 무엇입니까? 예를 들어주세요.
답변: sql 키워드를 사용하여 웹사이트를 공격하세요. 필터 키워드 등

71. 반사란 무엇인가요?
답변: 어셈블리 정보를 동적으로 가져옵니다

72. 싱글톤을 사용하여 디자인 패턴
을 작성하는 방법 답: 정적 속성의 new, 생성자 private

73 .애플리케이션 풀이란 무엇입니까?
답변: 스레드 풀과 유사한 웹 애플리케이션은 동시성 성능을 향상시킵니다.

74.가상기능이란? 추상함수란 무엇인가?
답변: 가상 함수: 구현되지 않고 서브클래스에 의해 상속 및 재정의될 수 있는 함수입니다. 추상 함수: 가상이 아닌 하위 클래스를 구현하고 재정의해야 한다고 규정하는 함수입니다.

75.XML이란 무엇입니까?
답변: XML은 확장 가능한 마크업 언어입니다. eXtensible Markup Language. 마크는 컴퓨터가 이해할 수 있는 정보 기호를 의미합니다. 이러한 마크를 통해 컴퓨터는 다양한 정보를 포함하는 기사를 처리할 수 있습니다. 이러한 태그를 정의하는 방법은 HTML과 같이 국제적으로 통용되는 태그 언어를 선택할 수도 있고, 관련자가 자유롭게 결정하는 XML과 같은 태그 언어를 사용할 수도 있습니다. 이것이 바로 언어의 확장성입니다. XML은 SGML에서 단순화되고 수정되었습니다. 주로 XML, XSL, XPath 등을 사용합니다.

76. 웹서비스란? UDDI?
답변: 웹 서비스는 네트워크 기반의 분산 모듈형 구성 요소입니다. 이는 특정 작업을 수행하고 특정 기술 사양을 준수하므로 웹 서비스는 다른 호환 가능한 구성 요소와 상호 작용할 수 있습니다.
UDDI의 목적은 전자상거래 표준을 확립하는 것입니다. UDDI는 웹 서비스에 대한 웹 기반 분산 정보 등록 센터 구현 표준 세트이며 기업이 자신의 서비스를 제공할 수 있도록 하는 구현 표준 세트도 포함합니다. 다른 기업이 액세스 프로토콜의 구현 표준을 발견할 수 있도록 자체 웹 서비스 등록
 
77. ASP.net의 사용자 컨트롤이란 무엇입니까?
답변: 사용자 컨트롤은 일반적으로 콘텐츠가 대부분 정적이거나 약간 변경될 수 있는 경우에 사용됩니다. 이는 ASP에 포함하는 것과 유사하지만 훨씬 더 강력합니다.

78.
에 대해 알고 있는 XML 기술과 해당 응용 프로그램을 나열하십시오. xml은 구성 및 정적 데이터 유형 을 저장하는 데 사용됩니다. .and config

79.ADO.net에서 일반적으로 사용되는 개체는 무엇입니까? 각각 설명하세요.
답변: 연결 데이터베이스 연결 개체
명령 데이터베이스 명령
DataReader 데이터 리더
DataSet 데이터 세트

80. 코드 숨김 기술이란 무엇입니까?
답변: ASPX, RESX, CS의 세 가지 접미사가 있는 파일입니다. 이는 HTML 코드와 서버 코드의 분리를 실현합니다.

SOAP란 무엇입니까? 그리고 그것은 무엇입니까?
답변: 단순 개체 액세스 프로토콜, 단순 개체 수락 프로토콜입니다. xml을 기본 인코딩 구조로 사용하고 기존 통신 프로토콜(http 등)을 기반으로 구축되었지만 ms는 비누의 가장 낮은 아키텍처에서 작업하고 있다고 합니다. tcp/ip) 웹 서비스 사용을 표준화하는 프로토콜입니다.

82. C#의 속성과 속성의 차이점은 무엇이며, 이 메커니즘의 이점은 무엇입니까?
답변: 하나는 클래스의 필드에 액세스하는 데 사용되는 속성이고, 다른 하나는 클래스, 메서드 등의 추가 속성을 식별하는 데 사용되는 특성입니다.

83 XML의 주요 차이점은 다음과 같습니다. 그리고 HTML
답변: 1. XML은 대문자와 소문자를 구분하지만 HTML은 그렇지 않습니다.
2. HTML에서는 문맥에 단락이나 목록 키가 끝나는 위치가 명확하게 표시되는 경우

XML에서는 닫는 태그를 생략하면 안 됩니다.
3. XML에서 일치하는 닫는 태그가 없는 단일 태그가 있는 요소는 / 문자로 끝나야 합니다. 이런 식으로 파서는 닫는 태그를 찾지 않는다는 것을 알게 됩니다.
4. XML에서는 속성값을 따옴표로 묶어야 합니다. HTML에서 따옴표는 선택 사항입니다.
5. HTML에서는 값 없이 속성 이름을 가질 수 있습니다. XML에서는 모든 속성에 해당 값이 있어야 합니다.

84.c#의 삼항 연산자 연산자는 무엇인가요?
정답:? :.

85. 객체객체에 정수 a를 대입하면 정수 a가 될까요?
답변: 포장.

86. _접근 가능한 반원 형태는 무엇인가요?
답변: this.;new Class().Method;

87.public static const int A=1; 그것은 무엇입니까?
답변: const는 static으로 수정할 수 없습니다.

88.float f=-123.567F; int i=(int)f;i의 값은 이제_입니다.
답변: -123.

89. 델리게이트 선언의 키워드는 무엇인가요?
답변: 델리게이트.

90.
답변: 봉인되어 상속될 수 없습니다.

91. Asp.net의 모든 사용자 지정 사용자 컨트롤은
답변: Control에서 상속되어야 합니다.

92. .Net에서는 모든 직렬화 가능 클래스가 _?로 표시됩니다.
답변: [직렬화 가능]

93. .Net 관리 코드에서는 메모리 취약점에 대해 걱정할 필요가 없습니다. , 그것 때문인가요?
답변: GC.

94. 아래 코드에 오류가 있나요? _
시스템 사용;
클래스 A
{
public virtual void F(){
Console.WriteLine("A.F")
}
}
abstract class B:A
{
public abstract override void F(); 정답: abstract override는 함께 수정할 수 없습니다.
} // new public abstract void F(); T가 T의 프로그램 텍스트 외부에서 전용 인스턴스 생성자만 선언하는 경우 T에서 새 클래스가 파생될 수 있으며(할 수 있거나 할 수 없음) T의 모든 인스턴스를 직접 만들 수 없습니다(할 수 있거나 만들 수 없음).
답변: 아니요, 아니요.

96. 다음 코드에 오류가 있나요?
스위치(i){
case(): 답변: //case() 조건은 비어 있을 수 없습니다.
break
case 1:
CaseOne()
break; :
dufault; //잘못된 형식
CaseTwo();
break
}

97. 페이지가 상속되나요?
답변: 그렇습니다.

98..net의
오류 처리
메커니즘은 무엇인가요? 답변: .net 오류 처리 메커니즘은 try->catch->finally 구조를 채택합니다. 오류가 발생하면 일치하는 Catch를 찾을 때까지 계층별로 발생합니다.
99. 연산자 선언을 사용하는 데 오류가 있고 ==만 선언됩니까?
답변: Equale과 GetHash()를 동시에 수정하고 싶으십니까? mustoverload "! ="

100. .net(C# 또는 vb.net)에서 사용자 정의 메시지를 작성하고 이러한 메시지를 양식에서 처리하는 방법.
답변: 양식에서 DefWndProc 함수를 오버로드하여 메시지를 처리합니다.
protected override void DefWndProc( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton:
///string의 Format 함수 사용법은 MFC의 CString 함수와 다릅니다.
string message = string.Format("메시지 수신됨! 매개변수는: {0}, {1 }",m.wParam,m.lParam);
MessageBox.Show(message); ///
메시지 상자 표시
break; case USER:
처리 코드
기본값:
base.DefWndProc(ref m);///비사용자 지정 메시지를 처리하려면 기본 클래스 함수를 호출하세요.
break;
}
}

101. .net(C# 또는 vb.net)에서 양식 닫기를 취소하는 방법.
답변: private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true;
}

102. vb.net), Appplication.Exit 또는 Form.Close의 차이점은 무엇입니까?
답변: 하나는 전체 애플리케이션을 종료하는 것이고, 다른 하나는 양식 중 하나를 닫는 것입니다.

103. C#에는 10321.5, 122235401.21644 등의 이중변수가 있는데, 어떻게 하면 나라별 습관에 따라 통화가치가 출력될 수 있을까요? 예를 들어, 미국에서는 $10,321.50 및 $122,235,401.22를 사용하는 반면 영국에서는 £10 321.50 및 £122 235 401.22
답변: System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US" );//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB")는 영국 통화 유형입니다.
decimal y = 999999999999999m; (MyCulture," My amount = {0:c}",y)

104. 특정 비밀번호는 총 5글자 K, L, M, N, O만 사용합니다. 비밀번호는 왼쪽에서 오른쪽으로 배열됩니다. 비밀번호 단어는 다음 규칙을 따라야 합니다.
(1) 비밀번호 단어의 최소 길이는 두 글자이며 같거나 다를 수 있습니다.
(2) K는 다음과 같을 수 없습니다. 단어의 첫 글자
(3 ) L이 나타나면 두 번 이상 나타납니다
(4) M은 마지막 문자나 두 번째 문자일 수 없습니다
(5) K가 나타나면 N이 나타나야 합니다
(6) O 마지막 글자인 경우 L이 반드시 나와야 합니다
질문 1: 다음 중 LO에서 O 뒤에 위치하여 3글자 비밀번호 단어를 구성할 수 있는 문자는 무엇입니까?
A) K B)L C) M D) N
정답: B

질문 2: 얻을 수 있는 문자가 K, L, M이라면 얻을 수 있는 두 글자 비밀번호 단어 결성될 총 인원은 몇 명입니까?
A) 1 B) 3 C) 6 D) 9
정답: A

질문 3: 다음 중 단어 비밀번호는 무엇인가요?
A) KLLN B) LOML C) MLLO D)NMKO
답: C

8.62-63=1 방정식이 성립하지 않습니다. 숫자를 이동하십시오(빼기 기호와 등호는 사용할 수 없습니다). 이동) ) 방정식이 유지되도록 이동하는 방법은 무엇입니까?
답: 62는 2의 6제곱

105입니다. 이러한 열거형의 경우:
enum Color:byte
{
Red,
Green,
파란색,
주황색
}
답변: string[] ss=Enum.GetNames(typeof(Color))
byte[] bb=Enum.GetValues(typeof(Color)) ; 🎜>
106. C#에서 속성과 속성의 차이점은 무엇이며, 용도는 무엇이며, 이 메커니즘의 이점은 무엇입니까?
답변: 속성: 사용자 정의 속성의 기본 클래스, 속성: 클래스의 속성

107. C#에서는 메모리에 대한 직접 작업을 수행할 수 있나요?
답변: .net에서 .net은 프로그래머를 대체하는 GC(가비지 수집) 기능을 의미합니다. 그러나 C#에서는 Finalize 메서드를 직접 구현할 수 없지만
소멸자
에서 기본 클래스

108.ADO의 Finalize() 메서드. ADO 등에 비해 NET의 주요 개선 사항은 무엇입니까?
답변: 1: Ado.net은 ole db 공급자에 의존하지 않지만 .net 호스팅에서 제공하는 프로그램을 사용합니다. 2: com3을 사용하지 않습니다: 더 이상 동적 커서와 서버측 게임을 지원하지 않습니다. 연결을 끊을 수 있습니다. 5: 강력한 유형 변환 6: XML 지원 109. 페이지를 마우스 왼쪽 버튼으로 클릭하면 "Hello"라는 기능을 구현하는 HTML 페이지를 작성합니다. 가 표시되고, 마우스 오른쪽 버튼을 클릭하면 "오른쪽 클릭이 금지됩니다"가 표시됩니다. 그리고 2분 후에 자동으로 페이지를 닫습니다.
답변:

110. NET 서버 컨트롤의
수명 주기 답변: 초기화 로드 뷰 상태 처리 포스트백 데이터 로드 포스트백 변경 알림 보내기 포스트백 이벤트 사전 렌더링 저장 상태 렌더링 삭제 언로드

111. 클래스가 다른 클래스를 확장(상속)하고 인터페이스(인터페이스)를 구현합니까?
답변: 아니요, 인터페이스를 구현할 수 있습니다.

112.Static Nested Class와 Inner Class의 차이점은 더 많이 말할 수 있습니다. 더 좋습니다
답변: 정적 중첩 클래스는 정적으로 선언된 내부 클래스로, 외부 클래스 인스턴스에 의존하지 않고 인스턴스화할 수 있습니다. 일반적으로 내부 클래스는 외부 클래스가 인스턴스화된 후에 인스턴스화되어야 합니다.

113., &와 &&의 차이.
&는
비트 AND 연산을 의미하는 비트 연산자이고, &&는 논리 AND(and)를 의미하는 논리 연산자입니다. 114.HashMap과 Hashtable의 차이점.
답변: HashMap은 Hashtable의 경량 구현입니다(스레드 안전이 아닌 구현). 둘 다 Map 인터페이스를 완성합니다. 주요 차이점은 HashMap이 빈(null) 키 값을 허용한다는 것입니다. >). 스레드로부터 안전하지 않으며 Hashtable보다 더 효율적일 수 있습니다.

115.short s1 = s1 + 1; 무엇이 문제인가요? 무엇이 잘못되었나요? 답변: short s1 = 1; s1 = s1 + 1; (s1+1 연산의 결과는 int 유형이고 강제로
유형을 지정해야 합니다.)
short s1 = 1; s1 += 1; (올바르게 컴파일할 수 있음)
116. Overloaded 메서드가 반환 값의 유형을 변경할 수 있습니까? 답변: Overloaded 메서드는 반환 값의 유형을 변경할 수 있습니다.

117. 오류와
예외
의 차이점은 무엇인가요?
답변: 오류는 복구가 불가능하지는 않지만 어려울 때 심각한 문제를 나타냅니다. 예를 들어 메모리 오버플로입니다. 프로그램이 그러한 상황을 처리할 것이라고 기대하는 것은 불가능합니다.
예외는 설계 또는 구현 문제를 나타냅니다. 즉, 프로그램이 정상적으로 실행되고 있었다면 결코 발생하지 않았을 상황을 의미한다. 118. <%# %>의 차이점은 무엇인가요?
답변: <%# %>는 바인딩된 데이터 소스를 나타냅니다.
<% %>는 서버 측 코드 블록입니다.

ASP.NET 2.0에 대해 어떻게 생각하시나요? (VS2005) 이전에 사용했던 개발 도구(.Net 1.0 또는 기타)의 가장 큰 차이점은 무엇입니까? 이전 플랫폼에서 사용했던 개발 아이디어(패턴/아키텍처)는 ASP.NET 2.0에 이식할 수 있습니다(또는 ASP.NET 2.0에 포함되었습니다).
답변: 1 ASP.NET 2.0 일부 코드를 캡슐화하고 패키지화하여, 따라서 동일한 기능에 대해 1.0에 비해 코드가 많이 줄어듭니다.
2 서버측 코드의 코드 분리와 페이지 삽입을 모두 지원합니다. 이전 1.0 버전에서는 분리된 코드 파일에서만 .NET 프롬프트 도움말이 가능했습니다. 별도의 코드 파일에서는 사용할 수 없습니다. 페이지에는 도움말 팁을 얻기 위한 서버측 코드가 포함되어 있습니다.
3 코드와 디자인 인터페이스 사이를 전환할 때 2.0에서는 커서 위치 지정을 지원합니다.
4 바인딩할 때. 데이터, 테이블 페이징, 업데이트, 삭제 등 모든 작업을 시각적으로 조작할 수 있어 초보자에게 편리합니다
5 ASP.NET에 40개 이상의 새로운 컨트롤이 추가되어 작업 부하가 줄어듭니다

120. 오버로딩과 덮어쓰기의 차이점은 무엇입니까?
답변: 1. 메소드 오버라이딩은 하위 클래스와 상위 클래스 간의 관계인 수직적 관계이고, 메소드 오버로딩은 동일한 클래스에 있는 메소드 간의 관계인 수평적 ​​관계입니다.
2. 오버라이딩만 관계 하나의 메소드 또는 한 쌍의 메소드에 의해서만 생성될 수 있습니다. 메소드의 오버로딩은 여러 메소드 간의 관계입니다.
3. 덮어쓰기에는 동일한 매개변수 목록이 필요합니다. 오버로드에는 다른 매개변수 목록이 필요합니다.
4. 덮어쓰기 관계에서는 호출할 메소드 본문이 객체의 유형(객체에 해당하는 저장 공간 유형)에 따라 결정되며, 오버로딩 관계에서는 실제 객체에 따라 메소드 본문이 선택됩니다. 호출 시 매개변수 목록 및 형식 매개변수 목록.

121. C#에서 인덱서 구현 과정을 설명하세요. 숫자로만 인덱싱할 수 있나요?
답변: 아니요. 모든 유형을 사용할 수 있습니다.

122. C#에서는 문자열 str = null이고 문자열 str = " " 차이점을 설명하려면 텍스트나 이미지를 사용해 보세요.
답변: null에는 공백 참조가 없습니다.
" "는 공백이 0인 문자열입니다.

123. 다음 코드를 분석하여 공백을 채우세요.
string strTmp = "abcdefgXXXX ";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
위 코드가 실행되면 i= j=
답 : i=13.j=10

124. SQLSERVER 서버에는 주어진 테이블 table1에 ID와 LastUpdateDate 두 개의 필드가 있습니다. ID는 업데이트된 트랜잭션 번호를 나타내고 LastUpdateDate는 업데이트 당시의 서버 시간을 나타냅니다. 마지막으로 업데이트된 트랜잭션을 얻으려면 SQL 문을 사용하십시오. number
정답: Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

125.
공개 정적 무효 테스트(string ConnectString)

{

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection()
conn.ConnectionString = ConnectString;

{
conn.Open()
…….
}
catch(Exception Ex)
{
MessageBox. Show(Ex.ToString());
}
마침내
{

if (!conn.State.Equals(ConnectionState.Closed))
conn.Close();
}
}
실례합니다

1) 위 코드는 Connection Pool을 올바르게 사용할 수 있나요?

정답: 답변: 들어오는 연결 문자열이 정확히 동일하면 연결 풀을 올바르게 사용할 수 있습니다. 그러나 정확히 동일한 의미는 하이픈 안의 공백 수가 정확히 동일한 순서로 되어 있음을 의미합니다.

2) 위 코드에서 사용한 예외 처리 방법에 대해, 테스트 방법에서 발생한 예외를 모두 잡아서 표시할 수 있나요?

답변: 데이터베이스 연결에서만 예외를 catch할 수 있습니다. (finally 및 catch에서 예외를 일으킬 수 있는 다른 작업이 있는 경우 try 및 catch도 사용해야 합니다. 따라서 이론적으로 모든 예외가 발생하는 것은 아닙니다. Capture.)

126. 회사에서는 System.Windows.Forms.ListView 클래스를 상속하는 구성 요소를 개발해야 하며 다음과 같은 특수 기능이 필요합니다. ListView의 열 헤더를 클릭하면 값이 클릭한 열의 각 행은 뷰의 모든 행을 다시 정렬할 수 있습니다(DataGrid와 유사하게 정렬). 귀하의 지식을 바탕으로 귀하의 아이디어에 대해 간략하게 이야기해 주십시오.
답변: 클릭한 열 헤더에 따라 열의 ID를 추출하고 ID에 따라 정렬한 후 ListView에 바인딩합니다.

127 .WSE란 무엇입니까? 최신 버전은 무엇입니까?
답변: WSE(Web Service Extension) 패키지는 최신 WEB 서비스 보안을 보장합니다. 최신 버전은 2.0입니다.

128 다음 예에서는
using System;
class A
{
public A(){
PrintFields()
public virtual void PrintFields(){}
}
class B:A
{
int x=1
int y
public B(){
y= - 1;
}
공개 재정의 void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y)
}

ASP.NET 인터뷰 질문 모음

위 내용은 ASP.NET 인터뷰 질문 모음의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.