>백엔드 개발 >C#.Net 튜토리얼 >C# 인터뷰 질문 및 답변

C# 인터뷰 질문 및 답변

PHPz
PHPz원래의
2024-09-03 15:35:37549검색

유형이 안전하고 관리되는 언어입니다. 많은 운영 체제에서 이를 사용하므로 이 언어를 잘 이해해야 합니다. 수요가 많고 다양성으로 인해 다양한 운영 체제를 지원할 수 있습니다.

드디어 C#에서 꿈의 직업을 찾았지만 2023년 C# 면접을 통과하는 방법과 예상되는 C# 면접 질문이 무엇인지 궁금합니다. 면접마다 다르고, 업무 범위도 다릅니다. 이를 염두에 두고 성공적인 인터뷰에 도움이 되도록 가장 일반적인 C# 인터뷰 질문 및 답변을 설계했습니다.

1부 – C# 면접 질문(기본)

첫 번째 부분에서는 기본적인 C# 인터뷰 질문과 답변을 다룹니다.

Q1. 관리 코드와 비관리 코드란 무엇인가요?

정답:

관리 코드는 .Net 플랫폼에서 실행됩니다. 해당 플랫폼을 기반으로 하는 모든 애플리케이션 코드에 CLR(Common Language Runtime)을 사용합니다. 애플리케이션이 실행되면 메모리, 보안, 성능 등의 요소를 관리하는 역할을 담당합니다. 이는 인터뷰에서 기대할 수 있는 주요 C# 인터뷰 질문 중 하나입니다.

Q2. C#의 다양한 클래스 유형은 무엇입니까? 각 수업을 간략하게 설명해주세요.

정답:

C#에는 네 가지 유형의 클래스가 있습니다. 그 내용은 다음과 같습니다.

1) 정적 클래스: 이 클래스는 상속을 허용하지 않습니다. 이 클래스 내의 멤버는 정적이며 "static"이라는 키워드로 식별됩니다.

2) 추상 클래스: 이 클래스는 키워드 abstract로 표시됩니다. 이러한 클래스의 개체는 인스턴스화할 수 없습니다. 이 클래스는 상속만 가능하며 적어도 하나의 메소드를 포함해야 합니다.

3) 봉인된 클래스: 이 클래스는 상속될 수 없습니다. 접근하려면 이 클래스의 객체를 생성해야 합니다. Sealed라는 키워드를 사용하여 제작되었습니다.

4) 부분 클래스: "partial" 키워드를 사용하면 클래스를 "partial"로 지정하여 해당 멤버를 여러 .cs 파일로 나누거나 공유할 수 있습니다.

다음 C# 인터뷰 질문으로 넘어가겠습니다.

Q3. C# I/O 클래스란 무엇입니까?

정답:

C#은 생성, 삭제, 열기, 닫기 등과 같은 다양한 작업을 수행하는 클래스로 구성된 System.IO 네임스페이스를 사용합니다. 일반적으로 사용되는 I/O 클래스는 다음과 같습니다.

  • 파일: 파일에 대해 여러 작업을 수행하는 데 도움이 됩니다. 파일 생성 및 조작에 도움이 됩니다.
  • StreamWriter: 스트림에 문자를 쓰는 데 사용됩니다.
  • StreamReader: 스트림에서 문자를 읽는 데 사용됩니다.
  • StringWriter: 버퍼에 문자열을 쓰는 데 사용됩니다.
  • StringReader: 패드에서 한 줄을 읽는 데 사용됩니다.
  • 경로: 강좌와 관련된 작업을 수행하고자 할 때 사용됩니다.

Q4. StreamReader/ StreamWriter 클래스에 대해 설명해주세요.

정답:

이 두 클래스는 모두 System.IO 네임스페이스에 속합니다. StreamReader 클래스에는 close(), read(), Readline()과 같은 멤버가 포함됩니다. StreamWrier 클래스에는 close(), write(), writeline()과 같은 멤버가 포함됩니다.

class Program1
{
using(StreamReader sr = new StreamReader("C:\ReadMe.txt")
{
//----------------code to read-------------------//
}
using(StreamWriter sw = new StreamWriter("C:\ReadMe.txt"))
{
//-------------code to write-------------------//
}
}

Q5. Boxing과 Unboxing의 개념을 설명해주세요.

정답:

Boxing은 값을 참조 유형으로 변환하는 것입니다.

예:

int value -= 20;
//-----------Boxing------------//
Object boxValue= value;

여기서 boxValue는 '값'을 참조합니다.
언박싱은 참조 유형을 다시 값 유형으로 명시적으로 변환하는 프로세스입니다.

예:

//————UnBoxing——————//
int UnBoxing = int (boxedValue);

Unboxing은 원래 값으로 되돌아가는 것을 참조합니다.

2부 – C# 면접 질문(고급)

이제 고급 C# 면접 질문을 살펴보겠습니다.

Q6. 정규 표현식이란 무엇입니까? 다음을 사용하여 문자열을 찾는 정규식을 작성하세요.

정답:

주어진 입력 집합과 일치하는 정규식 패턴을 템플릿으로 변환합니다. 이러한 패턴에는 연산자, 문자 리터럴, 기호 등이 포함될 수 있습니다. 개발자는 일반적으로 정규식(regex)을 사용하여 문자열을 구문 분석하거나 문자열 내의 특정 문자를 바꿉니다. 정규식을 사용하면 개발자는 주어진 입력 파일이나 문자열에서 모든 패턴을 검색할 수 있으므로 텍스트 기반 데이터를 처리하는 강력한 도구가 됩니다.
예:

static void Main(string[] args)
{
string[] lang = { "C#", "Python", "Java" };
foreach(string s in lang)
{
if(System.Text.RegularExpressions.Regex.IsMatch(s,"Python"))
{
Console.WriteLine("Match found");
}
}
}

이 코드 예제는 Python을 활용하여 배열 내에서 특정 언어를 검색합니다. 이 방법을 사용하면 개발자는 정규식을 사용하여 입력 내에서 특정 일치 항목을 찾을 수 있습니다.

Q7. 대표단에는 어떤 유형이 있나요?

정답:

다양한 유형의 대표자는 다음과 같습니다.

  • 단일 대리자: 대리자가 단일 메서드를 호출하면 단일 대리자가 됩니다.
    • 멀티캐스트 대리인: 대리자가 여러 메서드를 호출하는 경우 이는 멀티캐스트 대리인입니다. 사용자는 + 및 – 연산자를 사용하여 구독 및 구독 취소를 할 수 있습니다.
    • 일반 대리인: 일반 대리인은 세 가지 유형이 있습니다. 이는 Action, Funcs 및 Predicates입니다.

Q8.  C#의 람다 표현식이란 무엇인가요?

답변: 람다 식은 C#에서 무명 메서드를 정의하는 간결한 방법입니다. LINQ 쿼리와 대리자 또는 이벤트 처리기를 정의하는 데 자주 사용됩니다. 람다 표현식은 코드를 더욱 읽기 쉽고 표현력 있게 만듭니다.

Q9. C#의 대리자는 무엇인가요?

답변: 대리자는 특정 매개변수 목록과 반환 유형이 있는 메서드에 대한 참조를 나타내는 유형입니다. 대리자는 콜백 메서드를 정의하고 이벤트 처리를 구현하는 데 사용되며 C# 이벤트 및 콜백의 기본 부분입니다.

Q10. C#의 박싱(boxing)과 언박싱(unboxing) 개념을 설명하세요.

답변: 박싱은 값 유형을 참조 유형으로 변환하는 프로세스이고, 언박싱은 박싱된 값을 다시 값 유형으로 변환하는 역과정입니다. 박싱 및 언박싱은 성능에 영향을 미칠 수 있으므로 신중하게 사용해야 합니다.

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

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