선임 인터뷰 LINQ 질문 [닫기]


16

상급 프로그래머를위한 인터뷰 질문에서 LINQ 섹션을 준비하고 있습니다. LINQ에서 가장 흥미로운 질문은 무엇입니까? 그리고 왜?

답변:


28

당신이 요청할 수있는 것 중 일부는 같습니다.

  • var키워드가 사용되는 이유 와 쿼리 결과를 얻는 유일한 방법은 언제입니까?
  • 지연된 실행이란 무엇입니까?
  • Query Expression 구문, Fluent Syntax, Mixed Queries를 설명하십시오.
  • 해석 된 쿼리 란 무엇입니까?
  • 사용 IQueryableIEnumerable인터페이스.
  • 사용 letinto키워드, 점진적 쿼리를 만드는 데 도움이되지만 여전히 지연된 실행은 유지하는 방법
  • 식 트리 란 무엇입니까?


최신 정보:

자세한 답변은 Oleksii 의이 멋진 게시물 을 참조하십시오


8
좋은 질문입니다. 코드 예제를 제공하고 "이 기능은 무엇입니까?" Fluent Syntax라는 용어가 무엇인지 이해하고 이해해야한다는 것을 완전히 확신하지는 못합니다.

흠, 그리고 만약 구글이 미리 그 주제들을 기억하고 암기한다면,이 접근법은 그들이 실제로 어떤 실제 LINQ를 할 수 있다는 것을 어떻게 알려줍니까?
Darknight

BTyler가 위에서 말했듯이 코드 샘플로 위의 질문을 보완 할 수 있습니다.
Shekhar_Pro

1
이 사람은이 모든 질문에 대한 해결책에 대해 블로그를 올렸습니다 : blog4work.com/?tag=/LINQ
Nick Larsen

그냥 게시물, 좋은 작품을 보았다 :)
Shekhar_Pro

13

LINQ를 사용 하지 않는 경향이있는시기 와 가능한 이유는 무엇인지 예를 들어달라고 요청 하십시오 (그리고 ReSharper가 흥분하게 제안합니다).


6

LINQ를 지원하기 위해 C # 3에 도입 된 언어 기능이 무엇인지 물어볼 수는 있습니다. 후보자는 var 키워드와 같은 기능과 익명 유형, 람다 식 및 확장 방법이 LINQ를 활성화하는 데 어떻게 필요한지 이해합니까?


내 자신의 호기심 때문에 익명 유형이 필요한 이유는 무엇입니까? 그것들은 편의상 선택 결과에 사용될 수 있지만 명명 된 속성으로 자신의 클래스를 똑같이 잘 정의 할 수 있습니까?
Rup

@Rup | 그것은 편의성과 구문 설탕 문제 일뿐입니다. 물론 잘 정의 된 클래스를 만들 수 있습니다 (어쨌든 컴파일러는 무대 뒤에서 당신을 위해 그것을합니다). 그러나 LINQ 쿼리를 사용하는 동안 결과를 포함 할 유형이 즉시 필요합니다. 이제는 각 유형에 대한 클래스를 계속 생성하는 것이 생산적으로 보이지 않으므로 나중에 결과 집합이 변경되면 더 많은 코드가 생성되고 유지하기가 어려울 수 있습니다.
Shekhar_Pro

맞지 않습니다. linq-to-Sql 투영에는 익명 유형이 필요합니다 (예 : 테이블 / 엔터티에서 특정 열만 선택).
joniba

6

다음과 같은 코딩 문제는 어떻습니까?

  • 그런 다음 LINQ에서 더 잘 수행 할 비 LINQ 코드를 제공하고 번역하도록하십시오.
  • 그들에게 LINQ를 제공하고 일반 C #으로 풀고 다시 쓰도록하십시오.
  • 그들에게 문제를 해결하고 LINQ를 사용하거나 사용하지 않고 보여줄 것을 요청하고 더 나은 이유와 이유를 설명하도록하십시오.

교과서 질문은 훌륭 var하지만 (예를 들어 왜 사용 하는가 ) 이해하기 위해서는 코드를 작성하도록하십시오.


4

"흥미로운"답변을 얻을 수있는 질문을 찾고 있다면, 대부분의 linq 예제가 LHS에서 "var"키워드를 사용하여 할당한다고 생각하는 이유를 물어볼 수 있습니다. 정답이없고 아마도 자신이 말한 사람의 유형을 이해합니다.


3

표현 나무에 대해 물어보십시오. linq가 데이터베이스 서버에서 SQL로 변환하여 linq 확장 메소드와 linq 쿼리의 차이점

당신이 그들로부터 벗어나려고하는 것에 달려 있습니다.


1
  • First를 사용할 때와 FirstOrDefault를 언제 사용해야합니까?

  • LINQ는 어떤 문제를 해결합니까?

  • .ToList에서 쿼리를 래핑하면 어떻게됩니까?


지연된 실행을 허용합니다.
linquize 2016 년

가독성 향상을 위해 for / foreach 루프를 사용할 가능성 감소
linquize

0

Func [] rules {}를 사용하여 작은 규칙 엔진을 작성하도록 요청하십시오. 각 규칙은 true이거나 배열이 대 / 소문자를 대체해야합니다.

나는 linq와 lambdas에서 시작했지만 이것이 문제 해결과 linq 문해력에 대한 훌륭한 테스트라고 생각합니다.

여기에 더 많은 자격을 갖춘 제안이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.