Estoy preparando una sección de LINQ en preguntas de entrevista para programadores senior. ¿Cuáles son las preguntas más interesantes en LINQ para incluir? ¿Y por qué?
16
Algunas de las cosas que puede preguntar serían.
var
se usa la palabra clave y cuándo es la única forma de obtener el resultado de la consulta?IQueryable
e IEnumerable
interfaces.let
y into
palabras clave, y cómo ayudan a hacer consultas progresivas pero aún mantienen la ejecución diferidaPara obtener respuestas detalladas, vea esta bonita publicación de Oleksii
Pídales que den ejemplos de momentos en que tenderían a no usar LINQ y por qué, a pesar de que sería posible (y ReSharper lo sugiere con entusiasmo).
fuente
Podría comenzar, pero preguntando qué características del lenguaje que se introdujeron en C # 3 son necesarias para admitir LINQ. ¿El candidato comprende cómo se necesitaban características como la palabra clave var, así como los tipos anónimos, las expresiones lambda y los métodos de extensión para habilitar LINQ?
fuente
¿Qué tal algunas preguntas de codificación, como:
Las preguntas de los libros de texto están bien (p. Ej., Por qué usarlas
var
), pero para saber realmente si entienden solo pídales que escriban código.fuente
Si está buscando una pregunta para la que obtenga respuestas "interesantes", puede preguntarles por qué creen que la mayoría de los ejemplos de linq se asignan usando la palabra clave "var" en el LHS ... no hay una respuesta correcta y probablemente podría Comprenda algo del tipo de persona que es a partir de lo que dice.
fuente
Pregúnteles sobre los árboles de expresión. Cómo se transforma linq en sql en el servidor de bases de datos, la diferencia entre los métodos de extensión de linq y las consultas de linq
Depende de lo que intentes sacar de ellos.
fuente
¿En qué situaciones usaría First y cuándo usar FirstOrDefault?
¿Qué problema resuelve LINQ?
¿Qué sucede cuando envuelve la consulta en .ToList?
fuente
Pídales que creen un pequeño motor de reglas, utilizando las reglas Func [] {}. Cada regla tiene que ser verdadera, la matriz reemplaza el caso o las declaraciones if.
Acabo de comenzar con linq y lambdas, pero creo que esta es una buena prueba de resolución de problemas y alfabetización de linq.
Además de las sugerencias más calificadas aquí.
fuente