Ich bereite einen LINQ-Abschnitt mit Interviewfragen für leitende Programmierer vor. Was sind die interessantesten Fragen in LINQ? Und warum?
16
Einige der Dinge, die Sie fragen können, wären wie.
var
Schlüsselwort verwendet und wann ist es die einzige Möglichkeit, ein Abfrageergebnis zu erhalten?IQueryable
und IEnumerable
Schnittstellen.let
und into
Schlüsselwort und wie sie dabei helfen, progressive Abfragen zu erstellen, aber die verzögerte Ausführung beizubehaltenDetaillierte Antworten finden Sie in diesem schönen Beitrag von Oleksii
Bitten Sie sie, Beispiele für Zeiten zu nennen, in denen LINQ in der Regel nicht verwendet wird, und warum, obwohl dies möglich wäre (und ReSharper schlägt dies aufgeregt vor).
quelle
Sie könnten anfangen, aber fragen, welche in C # 3 eingeführten Sprachfunktionen für die Unterstützung von LINQ erforderlich sind. Versteht der Kandidat, wie Funktionen wie das Schlüsselwort var sowie anonyme Typen, Lambda-Ausdrücke und Erweiterungsmethoden benötigt wurden, um LINQ zu aktivieren?
quelle
Wie wäre es mit einigen Codierungsfragen, wie:
Lehrbuchfragen sind in Ordnung (z. B. warum verwenden
var
), aber um wirklich herauszufinden, ob sie verstehen, müssen sie nur Code schreiben.quelle
Wenn Sie nach einer Frage suchen, auf die Sie "interessante" Antworten erhalten, könnten Sie sie fragen, warum sie glauben, dass die meisten Linq-Beispiele sie mit dem Schlüsselwort "var" auf der LHS zuordnen ... es gibt keine richtige Antwort und Sie könnten es wahrscheinlich Machen Sie sich anhand ihrer Aussagen ein Bild von der Art der Person, die sie sind.
quelle
Fragen Sie sie nach Ausdrucksbäumen. Wie das Linq auf dem Datenbankserver den Unterschied zwischen den Linq-Erweiterungsmethoden und den Linq-Abfragen in SQL umwandelt
Hängt davon ab, was Sie versuchen, aus ihnen herauszukommen.
quelle
In welchen Situationen würden Sie First verwenden und wann FirstOrDefault?
Welches Problem löst LINQ?
Was passiert, wenn Sie die Abfrage in .ToList einschließen?
quelle
Bitten Sie sie, eine kleine Regelengine mit Func [] rules {} zu erstellen. Jede Regel muss true sein, wobei das Array case- oder if-Anweisungen ersetzt.
Ich habe gerade mit Linq und Lambdas angefangen, aber ich glaube, dies ist ein guter Test für Problemlösung und Linq-Kenntnisse.
Neben den weiterführenden Vorschlägen hier.
quelle