Estou preparando uma seção LINQ nas perguntas da entrevista para programadores seniores. Quais são as perguntas mais interessantes do LINQ a serem incluídas? E porque?
16
Algumas das coisas que você pode perguntar seriam.
var
palavra-chave é usada e quando é a única maneira de obter o resultado da consulta?IQueryable
e IEnumerable
interfaces.let
e into
palavra - chave, e como eles ajudam a fazer consultas progressivas, mas ainda mantêm a execução adiadaPara obter respostas detalhadas, consulte este bom post de Oleksii
Peça a eles que dêem exemplos de momentos em que tenderiam a não usar o LINQ e por quê, mesmo que isso fosse possível (e o ReSharper o sugere com entusiasmo).
fonte
Você pode começar perguntando quais recursos de idioma introduzidos no C # 3 são necessários para dar suporte ao LINQ. O candidato entende como recursos como a palavra-chave var, bem como tipos anônimos, expressões lambda e métodos de extensão foram necessários para ativar o LINQ?
fonte
Que tal algumas perguntas sobre codificação, como:
As perguntas do livro de texto são boas (por exemplo, por que usar
var
), mas para realmente descobrir se elas entendem, basta fazê-las escrever código.fonte
Se você estiver procurando por uma pergunta para a qual obtenha respostas "interessantes", poderá perguntar-lhes por que eles acham que a maioria dos exemplos de linq atribui usando a palavra-chave "var" no LHS ... não há resposta certa e você provavelmente entenda o tipo de pessoa que é e o que diz.
fonte
Pergunte a eles sobre árvores de expressão. Como o linq se transforma em sql no servidor de banco de dados, a diferença entre os métodos de extensão linq e as consultas linq
Depende do que você está tentando tirar deles.
fonte
Quais são as situações em que você usaria o First e quando usar FirstOrDefault?
que problema o LINQ resolve?
o que acontece quando você quebra a consulta no .ToList?
fonte
Peça a eles para criar um pequeno mecanismo de regras, usando as regras Func [] {}. Cada regra deve ser verdadeira, o array substituindo as instruções case ou if.
Eu comecei no linq e lambdas, mas acho que esse é um bom teste de resolução de problemas e alfabetização em linq.
Além das sugestões mais qualificadas aqui.
fonte