Ein Interviewer argumentierte mich " Genrics sind nicht vollständig Genrics ",
Er lieferte das Beispiel (Parameter int k, int d sind nicht generisch)
%Vor%Er hat mich gefragt, ob ich noch beweisen kann, dass es Generika sind, ich darf die nächste Runde aufnehmen. Ich wusste nicht, was er von mir erwartet und was er wirklich meint, indem er ein solches Beispiel zeigt.
Hilf mir, wie ich mich einem so seltsamen Interview stellen kann?
Vielen Dank im Voraus.
Tag ... träumen ... bei ... Computer ....
"Haben Sie ihm die Frage gestellt?"
"Ja"
"Hat er dir gesagt, dass es BS war?"
"Nein"
"Hast du ihn auf StackOverflow gefunden und gefragt, wie man die Frage beantwortet?"
"Ja"
"Gut, jetzt wissen wir. Holen Sie den nächsten Kerl hier"
"Bwah ... ha ... ha ..." wiederhole ...
Unter der Annahme, dass die Interviewfrage eine echte Frage ist, googelte ich "Generics sind nicht" + c # und bekam diese:
Ich habe überhaupt keine Übereinstimmungen für "Generika sind nicht vollständig generisch" oder "Generika sind nicht immer generisch".
Also da. Viel Spaß.
All a generic is ist ein parametrisierter Typ. Ich weiß nicht, worauf sich Ihr Interviewer einlässt. Er behauptet, dass die Methode nicht vollständig generisch ist, weil nicht alle Methodenparameter einen generischen Typ haben?
Sie müssen nicht für alle Parameter den gleichen Parametertyp verwenden, noch müssen alle Parametertypen generisch sein.
Es klingt so, als ob dieser Interviewer nach den Antworten sucht, die hier gegeben werden - wenn Ihre Formulierung seiner Frage seine Absicht erfasst, dann argumentiert er nicht, dass Generika nicht generisch sind, er fragt, ob Sie die "Generizität" der angegebene Methode.Er hat mich gefragt, ob ich noch beweisen kann, dass es Generika sind, ich darf die nächste Runde aufnehmen. Ich wusste nicht, was er von mir erwartet und was er wirklich meint, indem er ein solches Beispiel zeigt.
Wie mehrere andere festgestellt haben, handelt es sich um eine generische Methode, da der Benutzer ein sichtbares Attribut der Funktion (in diesem Fall den Typ der ersten drei Parameter) zu einem späteren Zeitpunkt angeben kann. Die Tatsache, dass k und d nicht-generische Parameter sind, scheint einfach ein Ablenkungsmanöver zu sein.
Diese Aussage zu bestätigen, würde mehr oder weniger beweisen, dass Sie keine verzerrte Vorstellung davon haben, was "generisch" bedeutet - in diesem Fall eine Spezialisierung einer generischen Funktion auf den Anrufzeitpunkt.
Hmmm, spätes Posting, aber besser spät als nie! : -)
Angenommen, Ihr Interviewer kennt seine Sachen, ist das wirklich die Art von Frage, die ein Interviewer Sie stellt, um folgendes zu tun:
Ein guter Interviewer wird alle drei erreichen, während der nicht so gute Interviewer einfach nach Möglichkeiten sucht, Sie zu fangen, weil er gebeten wird, zu viele Kandidaten zu interviewen.
Wenn Sie am Ende des Tages die Antwort nicht wissen oder die Frage nicht verstehen, sagen Sie es besser im Interview, und wenn Sie mit einer Aussage nicht einverstanden sind, betrachten Sie sie als eine Gelegenheit, sich zu entspannen und Nehmen Sie an einer Diskussion teil, anstatt einfach Fragen während des Interviews zu beantworten.
Und was es wert ist, ist die Antwort, dass die beschriebene Methode eine generische Methode ist, unabhängig davon, ob einige Parameter einen festen Typ haben oder nicht. Der Beweis ist in der Deklaration selbst, wo die generische Syntax den Compiler effektiv anweist, die generischen Argumente zu berücksichtigen.
@Udana, könnte es sein, dass der Interviewer versucht hat, Ihre Antwort zu kontrollieren, indem er Ihnen eine Frage stellt, die keine Bedeutung hat?
Ich hatte einmal ein Interview, in dem die Testfrage gefragt wurde: "Was ist die Standardmargengröße einer Winform?". Ich antwortete: "Ich weiß es nicht und es ist mir egal, da ich jeden beliebigen Wert im Konstruktor einstellen kann"
Am Ende des Interviews sagte mir der Interviewer, dass die Frage ein Trick war, um zu sehen, wer raten würde und wer ehrlich wäre, wenn sie etwas nicht wüssten.
Die Frage wörtlich nehmen:
Ich wäre lieber daran interessiert, die Frage zu hören, die er gestellt hat, oder die Antwort, die Sie gegeben haben, BEVOR diese Frage auf Sie gefeuert wurde !!!.
Im Allgemeinen werden solche (seltsame / vage) Fragen vom Interviewer ausgelöst, wenn der Befragte in einem Thema Unbehagen zeigt oder eine unberechenbare Antwort gibt. Das zwingt den Interviewer, den Interviewpartner durch Befragung oder überraschende Dinge zu Fall zu bringen.
Hey, es ist eine gute Kopf Kitzeln Frage in Generika. Der Interviewer wollte nur Ihre Einarbeitung in Generika wissen. Der verwendete Methodenname dient lediglich dazu, den Typ anzugeben, wenn Sie die Methode aufrufen. Dies kann während des Anrufs angegeben werden oder nicht. wie
%Vor%Dies wird nur beim Kompilieren übernommen. Daher sind die 3 Parameter, die angegeben werden, nur vom selben Typ.
%Vor%also, wir geben nur an, dass es stark typisiert ist.