top 20 net interview questions
다가오는 인터뷰를 준비하는 데 도움이되는 가장 자주 묻는 .Net 인터뷰 질문 및 답변 목록 :
.Net은 Windows에서 애플리케이션을 개발하는 데 가장 널리 사용되는 프레임 워크입니다. ASP .Net, C #, VB .Net, Cobol, Perl 등과 같은 언어를 포함합니다.
하나의 기사에서 .Net의 방대한 개념을 모두 다룰 수는 없습니다. 따라서 다음 섹션은 .Net 프레임 워크 및 핵심과 관련된 질문으로 만 구성됩니다. .Net C #에 대한 추가 질문은 다음을 참조하십시오. C # 인터뷰 질문 .
이 기사에서는 가장 인기있는 상위 20 개 .Net 인터뷰 질문과 답변을 쉽게 이해할 수있는 예제와 함께 간단한 용어로 나열합니다.
가장 인기있는 .Net 인터뷰 질문
여기 간다 !!
Q # 1) .Net 프레임 워크 란 무엇입니까?
대답: Windows에서 다양한 애플리케이션을 구축하기위한 플랫폼입니다. 웹 서비스 및 다양한 애플리케이션을 빌드, 배포 및 실행하는 데 사용되는 클래스, 라이브러리 및 API 형식의 내장 기능 목록이 있습니다. C #, VB .Net, Cobol, Perl 등과 같은 다양한 언어를 지원합니다.
이 프레임 워크는 객체 지향 프로그래밍 모델을 지원합니다.
Q # 2) .Net의 중요한 구성 요소는 무엇입니까?
대답: .Net의 구성 요소는 공용 언어 런타임, .Net 클래스 라이브러리, 응용 프로그램 도메인, 공용 유형 시스템, .Net 프레임 워크, 프로파일 링 등입니다. 그러나 두 가지 중요한 구성 요소는 클래스 라이브러리 및 공용 언어 런타임.
CLR은 다양한 애플리케이션을위한 빌딩 블록을 제공합니다. 클래스 라이브러리는 공통 기능에 액세스하는 데 사용되는 클래스 세트로 구성됩니다. 이 기능은 여러 응용 프로그램간에 공유 할 수 있습니다.
Q # 3) CTS 란 무엇입니까?
대답: CTS는 공통 유형 시스템 . 프로그램에서 데이터 유형을 선언, 정의 및 사용하는 방법을 설명하는 일련의 규칙이 있습니다. 애플리케이션에서 사용할 데이터 유형을 설명합니다.
CTS에있는 규칙에 따라 자체 클래스와 값을 디자인 할 수 있습니다. 프로그래밍 언어를 사용하여 선언 된 데이터 유형이 다른 언어를 사용하여 개발 된 응용 프로그램에서 호출 될 수 있도록 규칙이 만들어집니다.
펜을 어떻게 시험 해볼래
Q # 4) CLR이란 무엇입니까?
대답: CLR은 공용 언어 런타임 . .Net 프레임 워크의 가장 중요한 구성 요소 중 하나입니다. 많은 애플리케이션을위한 빌딩 블록을 제공합니다.
C #을 사용하여 빌드 된 응용 프로그램은 자체 컴파일러에 의해 컴파일되고 중간 언어로 변환됩니다. 그런 다음 CLR을 대상으로합니다. CLR은 메모리 관리, 보안 검사,로드 할 어셈블리 및 스레드 관리와 같은 다양한 작업을 수행합니다. 애플리케이션을위한 안전한 실행 환경을 제공합니다.
Q # 5) CLS 란 무엇입니까?
대답: CLS는 공통 언어 사양 . CLS에 언급 된 규칙에 따라 개발자는 언어 간 호환되는 구성 요소를 사용하도록되어 있습니다. 모든 .Net 호환 언어에서 재사용 할 수 있습니다.
Q # 6) JIT 란?
대답: JIT는 시간에 . JIT는 중간 언어를 네이티브 코드로 변환하는 컴파일러입니다.
코드는 실행 중에 네이티브 언어로 변환됩니다. 네이티브 코드는 CPU에서 읽을 수있는 하드웨어 사양 일뿐입니다. 후속 호출에 액세스 할 수 있도록 원시 코드를 저장할 수 있습니다.
Q # 7) MSIL이란 무엇입니까?
대답: MSIL은 Microsoft 중급 언어 .
MSIL은 메서드 호출, 값 초기화 및 저장, 메모리 처리, 예외 처리 등과 같은 작업에 대한 지침을 제공합니다. 모든 .Net 코드는 먼저 IL로 컴파일됩니다.
Q # 8) 관리 코드와 비 관리 코드는 무엇을 의미합니까?
대답: CLR에서 관리하는 코드가 호출됩니다. 관리 코드 . 이 코드는 CLR 내에서 실행됩니다. 따라서 관리 코드를 실행하려면 .Net 프레임 워크를 설치해야합니다. CLR은 가비지 수집을 통해 메모리를 관리하고 CAS 및 CTS와 같은 다른 기능을 사용하여 코드를 효율적으로 관리합니다.
비 관리 코드 실행을 위해 CLR에 의존하지 않는 코드입니다. 이는 .Net 프레임 워크와 독립적 인 다른 언어로 개발되었음을 의미합니다. 컴파일 및 실행을 위해 자체 런타임 환경을 사용합니다.
CLR 내에서 실행되지는 않지만 다른 모든 매개 변수를 올바르게 따르는 경우 관리되지 않는 코드가 제대로 작동합니다.
Q # 9) 매니지드 코드는 어떻게 실행 되나요?
대답: 관리 코드를 실행하는 동안 다음 단계를 따르십시오.
- 코드가 작성되는 언어에 따라 언어 컴파일러 선택.
- 자체 컴파일러에 의해 위의 코드를 중간 언어로 변환합니다.
- 그런 다음 IL은 JIT의 도움을 받아 코드를 네이티브 코드로 변환하는 CLR을 대상으로합니다.
- 네이티브 코드 실행.
Q # 10) ASP.Net이란 무엇입니까?
대답: ASP .Net은 .Net 기술의 일부이며 CLR로도 구성됩니다. 프로그래머가 강력한 웹 서비스, 웹 사이트 및 웹 응용 프로그램을 구축 할 수있게 해주는 오픈 소스 서버 측 기술입니다.
ASP는 활성 서버 페이지 .
Q # 11) ASP .Net의 상태 관리를 설명하십시오.
대답: 상태 관리는 개체의 상태를 유지하는 것을 의미합니다. 여기서 개체는 웹 페이지 / 컨트롤을 나타냅니다.
상태 관리에는 클라이언트 측과 서버 측의 두 가지 유형이 있습니다.
- 고객 입장에서 – 페이지 또는 고객의 시스템에 정보 저장. 재사용 가능하고 단순한 개체입니다.
- 서버 측 – 서버에 정보 저장. 상태를 보존하기 위해 클라이언트에 의존하는 것보다 서버에서 정보를 유지하는 것이 더 쉽습니다.
Q # 12) 어셈블리 란 무엇입니까? 어셈블리에는 어떤 유형이 있습니까?
대답: 어셈블리는 논리 단위의 모음입니다. 논리 단위는 애플리케이션을 빌드하고 .Net 프레임 워크를 사용하여 배포하는 데 필요한 유형과 리소스를 나타냅니다. CLR은이 정보를 형식 구현에 사용합니다. 기본적으로 Assembly는 Exe와 DLL의 모음입니다. 이식 가능하고 실행 가능합니다.
어셈블리에는 개인 및 공유의 두 가지 유형이 있습니다.
- 개인 회의 , 이름 자체에서 알 수 있듯이 응용 프로그램에서만 액세스 할 수 있습니다. 애플리케이션의 설치 디렉토리에 설치됩니다.
- 공유 어셈블리 여러 응용 프로그램에서 공유 할 수 있습니다. GAC에 설치됩니다.
Q # 13) 어셈블리의 다른 부분을 설명하십시오.
답변 : 어셈블리의 여러 부분에는 다음이 포함됩니다.
- 명백한 – 어셈블리 버전에 대한 정보를 포함합니다. 어셈블리 메타 데이터라고도합니다.
- 유형 메타 데이터 – 프로그램의 바이너리 정보.
- MSIL – Microsoft Intermediate Language 코드.
- 자원 – 관련 파일 목록.
Q # 14) EXE와 DLL은 무엇입니까?
대답: Exe 및 DLL은 어셈블리 실행 모듈입니다.
Exe 실행 파일입니다. 이것은 그것이 설계된 응용 프로그램을 실행합니다. 애플리케이션을 빌드 할 때 Exe가 생성됩니다. 따라서 어셈블리는 Exe를 실행할 때 직접로드됩니다. 그러나 Exe는 다른 응용 프로그램과 공유 할 수 없습니다.
기타 Dynamic Link Library를 의미합니다. 숨겨야하는 코드로 구성된 라이브러리입니다. 코드는이 라이브러리 내에 캡슐화됩니다. 응용 프로그램은 여러 DLL로 구성 될 수 있습니다. 다른 응용 프로그램과도 공유 할 수 있습니다.
이 DLL을 공유하는 다른 응용 프로그램은이 DLL에서 함수를 호출 할 수있는 한 코드 복잡성에 대해 걱정할 필요가 없습니다.
Q # 15) 캐싱이란 무엇입니까?
대답: 캐싱은 애플리케이션이 원래 위치를 찾는 대신 캐시에서 데이터에 액세스 할 수 있도록 데이터를 메모리에 임시로 저장하는 것을 의미합니다. 이것은 응용 프로그램의 성능과 속도를 증가시킵니다. System.Runtime.Caching 네임 스페이스는 .Net에서 정보를 캐싱하는 데 사용됩니다.
다음은 세 가지 유형의 캐싱입니다.
- 페이지 캐싱
- 데이터 캐싱
- 조각 캐싱
Q # 16) MVC 란 무엇입니까?
대답: MVC는 Model View Controller의 약자입니다. .Net 애플리케이션을 빌드하기위한 아키텍처 모델입니다.
모델 – 모델 개체는 응용 프로그램의 데이터베이스에서 데이터를 저장하고 검색합니다. 일반적으로 응용 프로그램의 데이터 도메인에 의해 구현되는 응용 프로그램의 논리적 부분입니다.
전망 – UI 형태로 응용 프로그램의보기를 표시하는 구성 요소입니다. 뷰는 디스플레이를 위해 모델 객체에서 정보를 가져옵니다. 버튼, 드롭 박스, 콤보 박스 등과 같은 구성 요소가 있습니다.
컨트롤러 – 사용자 상호 작용을 처리합니다. 그들은 사용자 입력에 응답하고, 모델 객체로 작업하고, 사용자에게 렌더링 할 뷰를 선택합니다.
Q # 17) 함수와 저장 프로 시저의 차이점은 무엇입니까?
대답:
저장 프로 시저 :
- 저장 프로시 저는 항상 특정 작업을 수행하는 데 사용됩니다.
- 0, 하나 이상의 값을 반환 할 수 있습니다.
- 입력 및 출력 매개 변수를 모두 가질 수 있습니다.
- 예외 처리는 try-catch 블록을 사용하여 수행 할 수 있습니다.
- 프로 시저에서 함수를 호출 할 수 있습니다.
기능 :
- 함수는 단일 값을 반환해야합니다.
- 입력 매개 변수 만 가질 수 있습니다.
- try-catch 블록을 사용하여 예외 처리를 수행 할 수 없습니다.
- 함수에서 저장 프로 시저를 호출 할 수 없습니다.
Q # 18) CAS (코드 액세스 보안)를 설명하십시오.
대답: .Net은 리소스에 대한 무단 액세스를 방지하는 보안 모델을 제공합니다. CAS는 해당 보안 모델의 일부입니다. CAS는 CLR에 있습니다. 이를 통해 사용자는 코드에 대해 세분화 된 수준에서 권한을 설정할 수 있습니다.
그런 다음 CLR은 사용 가능한 권한에 따라 코드를 실행합니다. CAS는 관리 코드에만 적용 할 수 있습니다. 비 관리 코드는 CAS없이 실행됩니다. CAS가 어셈블리에서 사용되는 경우 어셈블리는 부분적으로 신뢰할 수있는 것으로 처리됩니다. 이러한 어셈블리는 리소스에 액세스하려고 할 때마다 검사를 받아야합니다.
CAS의 다양한 구성 요소는 코드 그룹, 권한 및 증거입니다.
- 증거 – 권한을 결정하고 할당하기 위해 CAS 및 CLR은 어셈블리에서 지정한 증거에 의존합니다. 어셈블리 검사는 다양한 증거에 대한 세부 정보를 제공합니다. 몇 가지 일반적인 증거로는 영역, URL, 사이트, 해시 값, 게시자 및 응용 프로그램 디렉터리가 있습니다.
- 코드 그룹 – 증거에 따라 코드가 다른 그룹으로 분류됩니다. 각 그룹에는 특정 조건이 첨부되어 있습니다. 해당 조건과 일치하는 모든 어셈블리가 해당 그룹에 배치됩니다.
- 권한 – 각 코드 그룹은 특정 작업 만 수행 할 수 있습니다. 이를 권한이라고합니다. CLR은 어셈블리를로드 할 때이를 코드 그룹 중 하나와 일치시키고 해당 어셈블리가 수행 할 수있는 작업을 식별합니다. 일부 권한에는 완전 신뢰, 모든 것, 없음, 실행, 검증 건너 뛰기 및 인터넷이 포함됩니다.
Q # 19) GAC 란?
대답: GAC는 전역 어셈블리 캐시 . CLR이 시스템에 설치 될 때마다 GAC가 그 일부로 제공됩니다. GAC는 특히 많은 응용 프로그램에서 공유 할 어셈블리를 저장합니다. Gacutil.exe라는 개발자 도구는 GAC에 파일을 추가하는 데 사용됩니다.
Q # 20) 세계화와 현지화는 무엇을 의미합니까?
대답: 국제화는 여러 언어를 지원하는 응용 프로그램을 디자인하는 프로세스입니다. 이것은 현지화 및 세계화 .
세계화는 다른 언어를 지원하는 응용 프로그램을 개발하는 것입니다. 기존 응용 프로그램을 변환하여 여러 문화권을 지원할 수도 있습니다.
지역화는 특정 문화 또는 언어에 맞도록 이미 세계화 된 앱을 변경하는 것을 의미하지만 Microsoft.Extensions.Localization은 앱 콘텐츠를 지역화하는 데 사용됩니다. 지역화에 사용되는 다른 키워드로는 IHtmlLocalizer, IStringLocalizer, IViewLocalizer 등이 있습니다.
Q # 21) 가비지 콜렉터 란 무엇입니까?
대답: 가비지 수집은 메모리에서 사용되지 않는 코드 개체를 해제하는 .Net 기능입니다.
메모리 힙은 3 세대로 나뉩니다. 0 세대, 1 세대 및 2 세대
- 0 세대 – 수명이 짧은 개체를 저장하는 데 사용됩니다. 이 세대에서는 가비지 수집이 자주 발생합니다.
- 1 세대 – 이것은 중간 수명의 개체를위한 것입니다. 일반적으로 0 세대에서 이동 한 객체는 여기에 저장됩니다.
- 2 세대 – 이것은 수명이 긴 개체를위한 것입니다.
세대를 수집하는 것은 그 세대와 모든 젊은 세대의 물건을 수집하는 것을 말합니다. 2 세대의 가비지 수집은 전체 가비지 수집을 의미하며 2 세대와 1 세대 및 0 세대의 모든 개체를 수집합니다.
가비지 수집 프로세스 중에 첫 번째 단계로 라이브 개체 목록이 식별됩니다. 두 번째 단계에서는 압축 될 개체에 대한 참조가 업데이트됩니다. 그리고 마지막 단계에서 죽은 물체가 차지하는 공간을 되 찾습니다. 나머지 개체는 이전 세그먼트로 이동됩니다.
추천 읽기=> 인기있는 ADO.Net 인터뷰 질문
결론
우리 모두가 알고 있듯이 .Net은 매우 방대하며 모든 주제를 한꺼번에 다룰 수는 없습니다.
대부분 인터뷰 질문은 C #과 같은 특정 언어로 작성됩니다. 이 기사는 주로 .Net의 프레임 워크 개념에만 집중합니다. 인터뷰 중에 묻는 일반적인 질문에 대한 충분한 정보와 공정한 지식을 제공 할 것이라고 확신합니다.
STH 팀은 모든 성공을 기원합니다 !!!