Heim  >  Artikel  >  Backend-Entwicklung  >  Sammlung von ASP.NET-Interviewfragen

Sammlung von ASP.NET-Interviewfragen

怪我咯
怪我咯Original
2017-03-30 14:02:121225Durchsuche

Sammlung von ASP.NET-Interviewfragen

1. Beschreiben Sie kurz die Zugriffsrechte privater, geschützter, öffentlicher und interner Modifikatoren.
Antwort: Auf private Mitglieder kann nur innerhalb der Klasse zugegriffen werden.
geschützt: geschützte Mitglieder, zugänglich innerhalb der Klasse und in geerbten Klassen.
Öffentlich: Öffentliche Mitglieder, vollständig öffentlich, keine Zugriffsbeschränkungen.
intern: Zugänglich innerhalb desselben Namespace .

2. Listen Sie verschiedene Möglichkeiten auf, Werte zwischen ASP.NET-Seiten zu übertragen.
Antwort. 1. Verwenden Sie QueryString, z
Variable 3. Verwenden Sie Server.Transfer 3. Die Regeln für eine Zahlenspalte lauten wie folgt: 1, 1, 2, 3, 5, 8, 13, 21 , 34.... .. Um herauszufinden, was die 30. Ziffer ist, verwenden Sie den
rekursiven
-Algorithmus, um sie zu implementieren.
Antwort: public class MainClass { public static void Main()
{
Console.WriteLine(Foo(30)}
public static int Foo( int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1; else return Foo(i -1) + Foo(i - 2);
}
}

4.
Was ist ein Delegate in C#
? Ist
Event
eine Art Delegation?
Antwort: Ein Delegat kann eine Methode als Parameter in einer anderen Methode ersetzen. Ein Delegat kann als Referenz verstanden werden, der auf eine
Funktion
verweist.
Ja, es ist eine besondere Art der Delegation 5. Der Unterschied zwischen Override und Overloading
Antwort: Der Unterschied zwischen
Override und Overloading. Überladen ist eine gleichnamige Methode. Wenn die Parameter oder Parametertypen unterschiedlich sind, wird eine mehrfache Überladung durchgeführt, um sie an unterschiedliche Anforderungen anzupassen.
Override ist das Umschreiben von Funktionen in der Basisklasse. Sich den Bedürfnissen anpassen. 6. Wenn Sie Variablenwerte in einem B/S-Struktursystem übergeben müssen, aber Sitzung,
Cookie
und Anwendung nicht verwendet werden können, wie viele Methoden müssen Sie verarbeiten? Es?
Antwort:
this.Server.Transfer
7. Bitte durchlaufen Sie alle TextBox-Steuerelemente auf der Seite und weisen Sie ihr den Wert string.Empty zu? Antwort:
foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.TextBox)
{
System .Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control;
tb.Text = String.Empty;
}

8 ein
Bubble Sort
Algorithmus?
Antwort:
int [] array = new int
;
int temp = 0; for (int i = 0; i < array.Length - 1; i++) {
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array [j] < array [i])
{
temp = array [i] ;
array [i] = array [j] ;
array [j] = temp ;
}

9. Beschreiben Sie den Implementierungsprozess des
index
-Implementierers in C#. Kann er nur auf Basis von Zahlen indiziert werden?
Antwort: Nein. Jeder Typ kann verwendet werden.

10. Finden Sie den Wert des folgenden
Ausdrucks
und notieren Sie eine oder mehrere Implementierungsmethoden, die Ihnen einfallen: 1-2+3-4+……+m
Antwort: int Num = this.TextBox1.Text.ToString() ; int Sum = 0 ;
for (int i = 0 ; i < Num + 1 ; i++)
{
if((i%2) == 1) { Summe += i ;
}
else
{
Summe = Summe - I ; >}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine();

11 Wird es mit mehreren Strukturschichten entwickelt? Welche Beziehung besteht zwischen den einzelnen Schichten und warum ist sie so geschichtet?
Antwort: Im Allgemeinen gibt es 3 Schichten
Datenzugriffsschicht, Geschäftsschicht und Präsentationsschicht.
Die Datenzugriffsschicht führt Ergänzungen, Löschungen, Prüfungen und Änderungen an der Datenbank durch.
Die Geschäftsschicht ist im Allgemeinen in zwei Schichten unterteilt. Die Geschäftserscheinungsschicht implementiert die Kommunikation mit der Präsentationsschicht, und die Geschäftsregelschicht implementiert die
Sicherheit
von Benutzerkennwörtern usw.
Die Präsentationsebene dient der Interaktion mit Benutzern, beispielsweise dem Hinzufügen von Formularen durch Benutzer.
Vorteile: Klare Arbeitsteilung, klare Organisation, einfach zu
Debugging
und skalierbar.
Nachteile: Erhöhte Kosten.

12. Im folgenden Beispiel
using System;class A { public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y; >public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y= {1}",x,y);
}
Welche Ausgabe wird erzeugt, wenn new B() verwendet wird, um eine Instanz von B zu erstellen?
Antwort: X=1,Y=0;x= 1 y = -1

13. Was ist eine Anwendungsdomäne?
Antwort: Die Anwendungsdomäne kann als leichter Prozess verstanden werden. Spielen Sie eine Sicherheitsrolle. Es beansprucht wenig Ressourcen.

14.Was sind die Erklärungen für CTS, CLS und CLR?
Antwort: CTS: Common Language System. CLS: Gemeinsame Sprachspezifikation. CLR: Common Language Runtime.

15. Was bedeutet Einpacken und Auspacken?
Antwort: Konvertieren Sie vom Werttyp
Schnittstelle zum Referenztyp Boxing. Typkonvertierung von Referenz in Werttyp-Unboxing.
16. Was ist ein regulierter Code?
Antwort: unsicher: nicht verwalteter Code. Laufen Sie, ohne die CLR zu durchlaufen.

17. Was ist ein starkes Typensystem?
Antwort: RTTI: Type Identification System.

Welche Klassen werden benötigt, um Datenbanken in 18.net zu lesen und zu schreiben? Ihre Rolle?
Antwort: DataSet: Datenspeicherung.
DataCommand: Anweisungsbefehl ausführen.
DataAdapter: Eine Sammlung von Daten, gefüllt mit Wörtern.

19.Welche Authentifizierungsmethoden gibt es für ASP.net? Was sind die Unterschiede?
Antwort: 10. Windows (Standard) verwendet IIS...Von (Formular) verwendet Konto...Passport (Schlüssel)

20 Was ist Code-Behind-Technologie?
Antwort: Nachpflanzung kodieren.

21. Was bedeutet Zubehör in .net?
Antwort: Montage. (Zwischensprache, Quelldaten, Ressourcen, Assemblyliste)

22. Welche Methoden werden häufig zum Aufrufen von WebService verwendet?
Antwort: 1. Verwenden Sie das Befehlszeilentool
WSDL.exe. 2. Verwenden Sie die Menüoption „Webreferenz hinzufügen“ in VS.NET

23.. Wie funktioniert Net Remoting?
Antwort: Der Server sendet eine Prozessnummer und eine Programmdomänennummer an den Client, um den Standort des
Objekts zu ermitteln.
24. In C# gilt: string str = null und string str = "" Bitte versuchen Sie, den Unterschied mit Text oder Bildern zu erklären.
Antwort: string str = null weist ihm keinen Speicherplatz zu, aber string str = "" weist Speicherplatz mit einer Länge von leerem
string zu.
25. Bitte erläutern Sie die Ähnlichkeiten und Unterschiede zwischen Klassen und Strukturen in Dotnet.
Antwort: Die Klasse kann instanziiert werden und ist ein Referenztyp, der auf dem Speicherstapel zugewiesen wird.
26 , füllen Sie bitte die folgenden Codeausschnitte im Benutzersteuerelement aus:
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
öffentliches Ereignis OnDBOperate OnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
// Bitte vervollständigen Sie den folgenden Code, um das vom OnDBPerate-Delegierten signierte OnNew-Ereignis aufzurufen.
}
}
Antwort: if( OnNew != null )
OnNew( this, e );

27 Analysieren Sie den folgenden Code und füllen Sie ihn aus blanks
string strTmp = "abcdefgXXXX";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length; ausgeführt, i= j=
Antwort: i=13,j=10

28 Im SQLSERVER-Server gibt es zwei Felder ID und LastUpdateDate in der angegebenen Tabelle. Tabelle 1 stellt die aktualisierte Transaktionsnummer dar , LastUpdateDate Gibt die Serverzeit beim Aktualisieren an. Bitte verwenden Sie eine SQL-Anweisung, um die letzte aktualisierte Transaktionsnummer zu erhalten
Antwort: Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

29. Analysieren Sie den folgenden Code gemäß Thread-Sicherheit. Wird beim Aufrufen der Testmethode ein Deadlock verursacht, und erläutern Sie kurz den Grund?
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--; i);
}
}
}
Antwort: Es wird kein Deadlock auftreten (aber eine Sache ist, dass int als Wert übergeben wird, sodass es sich bei jeder Änderung nur um eine Kopie handelt Es tritt kein Deadlock auf. Wenn int jedoch durch ein Objekt ersetzt wird, tritt ein Deadlock auf.

30. Sprechen Sie kurz über Ihr Verständnis der Remoting- und Webservice-Technologien unter dem Microsoft .NET Framework und deren praktische Anwendungen . .
Antwort: WS kann hauptsächlich HTTP verwenden, um Firewalls zu durchdringen. Remoting kann TCP/IP und binäre Übertragung nutzen, um die Effizienz zu verbessern.

31. Das Unternehmen benötigt die Entwicklung einer Komponente, die die Klasse System.Windows.Forms.ListView erbt und die folgenden Sonderfunktionen benötigt: Durch Klicken auf die Spaltenüberschrift jeder Spalte der ListView kann die Ansicht entsprechend dem Wert neu angeordnet werden jeder Zeile der angeklickten SpalteAnsicht Alle Zeilen in (ähnlich wie bei DataGrid sortiert). Basierend auf Ihrem Wissen sprechen Sie bitte kurz über Ihre Ideen
Antwort: Entsprechend der angeklickten Spaltenüberschrift wird die ID der Spalte herausgenommen, nach der ID sortiert und dann an die ListView gebunden.

32. Vervollständigen Sie anhand der folgenden XML-Datei das Flussdiagramm des Algorithmus.

>
;/DriverC>
Bitte zeichnen Sie ein Flussdiagramm, das alle Dateinamen (FileName) durchläuft (bitte verwenden Sie einen rekursiven Algorithmus).
Antwort:
void FindFile( Directory d )
{
FileOrFolders = d.GetFileOrFolders();
foreach( FileOrFolder fof in FileOrFolders )
{
if( fof is Datei)
Sie haben eine Datei gefunden;
FindFile( fof)}

33 Geben Sie den 31. bis 40. Datensatz in Tabelle A aus (SQLServer, verwenden Sie die automatisch wachsende ID als Primärschlüssel. Hinweis: IDs dürfen nicht fortlaufend sein.
Antwort: Lösung 1: Wählen Sie die Top 10 * aus A aus, in denen die ID nicht enthalten ist (wählen Sie aus Top-30-ID aus A)
Lösung 2: Top 10 * aus A auswählen, wobei ID > (wählen Sie max(id) aus (wählen Sie Top-30-ID aus A) als A)

34.
Objektorientierte Sprachen haben Eigenschaften, _ Eigenschaften und Eigenschaften
Antwort: Kapselung, Vererbung, Polymorphismus

35. Objekte, auf die mit foreach Traversal zugegriffen werden kann, müssen eine Schnittstelle oder implementieren Deklarieren Sie einen Methodentyp.
Antwort: IEnumerable, GetEnumerator Um die Garbage Collection anzufordern, können Sie eine der folgenden Methoden aufrufen:
System.gc()
Runtime.getRuntime().gc()

37. String s = new String( „xyz“); Wie viele String-Objekte wurden erstellt? Antwort: Zwei Objekte, eines ist „xyx“ und das andere ist ein Referenzobjekt s, das auf „xyx“ zeigt
38.Abstrakte Klasse und Schnittstelle.
Antwort:
Eine Klasse, die die Existenz einer Methode deklariert, ohne sie zu implementieren, wird als
abstrakte Klasse
(abstrakte Klasse) bezeichnet um eine Klasse zu erstellen, die bestimmte grundlegende Verhaltensweisen verkörpert und eine Methode für diese Klasse deklariert, die jedoch nicht in der Klasse implementiert werden kann. Es ist jedoch nicht möglich, eine Variable zu erstellen deren Typ eine abstrakte Klasse ist und auf eine der konkreten Unterklassen verweisen soll. Es ist kein abstrakter
-Konstruktor
oder eine abstrakte
statische
-Methode möglich. Unterklassen der Abstract-Klasse stellen Implementierungen für alle abstrakten Methoden in ihrer übergeordneten Klasse bereit, andernfalls wären sie ebenfalls abstrakte Klassen. Implementieren Sie die Methode stattdessen in einer Unterklasse. Andere Klassen, die sich ihres Verhaltens bewusst sind, können diese Methoden in ihrer Klasse implementieren.
Schnittstelle ist eine Variante der abstrakten Klasse. In einer Schnittstelle sind alle Methoden abstrakt. Durch die Implementierung einer solchen Schnittstelle kann eine Mehrfachvererbung erreicht werden. Alle Methoden in der Schnittstelle sind abstrakt und keine von ihnen verfügt über einen Programmkörper. Schnittstellen können nur statische Endelementvariablen definieren. Die Implementierung einer Schnittstelle ähnelt der Unterklassenbildung, mit der Ausnahme, dass die implementierende Klasse das Verhalten nicht von der Schnittstellendefinition erben kann. Wenn eine Klasse eine bestimmte Schnittstelle implementiert, definiert sie alle Methoden dieser Schnittstelle (d. h. gibt ihnen den Programmkörper). Anschließend kann es die Methoden der Schnittstelle für jedes Objekt der Klasse aufrufen, die die Schnittstelle implementiert. Da es abstrakte Klassen gibt, ist die Verwendung des Schnittstellennamens als Typ der Referenzvariablen möglich. Die normale dynamische Verknüpfung wird wirksam. Referenzen können in oder von Schnittstellentypen konvertiert werden, und der Operator „instanceof“

kann verwendet werden, um zu bestimmen, ob die Klasse eines Objekts die Schnittstelle implementiert.
39. Sollten Sie run() oder start() verwenden, um einen Thread zu starten?
Antwort: Um einen Thread zu starten, rufen Sie die start()-Methode auf, um den durch den Thread repräsentierten virtuellen Prozessor in einen ausführbaren Zustand zu versetzen

, was bedeutet, dass es von der JVM geplant und ausgeführt werden kann. Dies bedeutet nicht, dass der Thread sofort ausgeführt wird. Die run()-Methode kann einen Thread stoppen, indem sie ein Mustexit-Flag generiert. 40. Können abstrakte Klassen Schnittstellen erben?Antwort: Schnittstellen können Schnittstellen erben. Abstrakte Klassen können Schnittstellen implementieren und ob abstrakte Klassen Entitätsklassen erben können. Voraussetzung ist jedoch, dass die Entitätsklasse einen klaren Konstruktor haben muss.

41. Kann der Konstruktor Konstruktor überschrieben werden?
Antwort: Der Konstruktor Konstruktor kann nicht vererbt werden, daher kann das Überschreiben nicht überschrieben werden, aber das Überladen kann überschrieben werden.

42. Kann die String-Klasse vererbt werden?
Antwort: Die String-Klasse ist eine letzte Klasse und kann nicht vererbt werden.

43. Es gibt eine Return-Anweisung in try {}. Wird der Code in final {} also unmittelbar nach diesem Versuch ausgeführt?
Antwort: Es wird vor der Rückkehr ausgeführt.

44. Zwei Objekte haben den gleichen Wert (x.equals(y) == true), aber sie können unterschiedliche Hash-Codes haben.
Antwort: Nein, sie haben den gleichen Hash Code.

45. Kann swtich auf Byte wirken, kann es auf Long wirken, kann es auf String wirken?
Ausdruck. Daher sollten die an switch- und case-Anweisungen übergebenen Parameter int, short, char oder byte sein. Am Schalter können weder Long noch String verwendet werden. 47. Wenn ein Thread eine synchronisierte Methode eines Objekts eingibt, können andere Threads andere Methoden des Objekts eingeben? Nein, auf eine synchronisierte Methode eines Objekts kann nur ein Thread zugreifen.
48. Kann die abstrakte Methode gleichzeitig statisch, nativ und synchronisiert sein?
Antwort: Keine.

49. Erben List, Set und Map von der Collection-Schnittstelle
Antwort: List und Set sind Maps, keine Maps

50. Was soll ich also verwenden? Welche Methode wird verwendet, um Duplikate zu unterscheiden? Methode zur Unterscheidung von Duplikaten. equal() bestimmt, ob zwei Mengen gleich sind.
Die Methoden equal() und == bestimmen, ob der Referenzwert auf dasselbe Objekt verweist. equal() wird in der Klasse überschrieben, um einen wahren Wert zurückzugeben, wenn die Inhalte und Typen der beiden separaten Objekte übereinstimmen.

51.
Array
Existiert die Methode length()?
Antwort: Arrays verfügen nicht über die Methode length(), sondern über das
-Attribut
der Länge. String hat die Methode length(). 52. Was ist der Unterschied zwischen Sleep() und Wait()?
Antwort: Die Methode Sleep() ist eine Methode, die den Thread für einen bestimmten Zeitraum stoppt. Nach Ablauf des Ruheintervalls nimmt der Thread die Ausführung nicht unbedingt sofort wieder auf. Dies liegt daran, dass in diesem Moment möglicherweise andere Threads ausgeführt werden und die Ausführung nicht aufgegeben werden soll, es sei denn (a) der „aufwachende“ Thread hat eine höhere Priorität
(b) läuft gerade Der Thread ist aus anderen Gründen blockiert.
wait() ist, wenn Threads interagieren. Wenn der Thread einen wait()-Aufruf an ein Synchronisationsobjekt x ausgibt, unterbricht der Thread die Ausführung und das aufgerufene Objekt wechselt in den Wartezustand, bis es aktiviert wird oder die Wartezeit abläuft.
53.short s1 = s1 + 1; Was ist falsch? ; Es liegt ein Fehler vor. s1 ist vom Typ short, s1+1 ist vom Typ int und kann nicht explizit in den Typ short konvertiert werden. Es kann als s1 =(kurz)(s1 + 1) geändert werden. kurz s1 = 1; s1 += 1 ist richtig.
54. Sprechen Sie über den Unterschied zwischen „final“, „finally“ und „finalize“.
Antwort:
final-modifier (Schlüsselwort) Wenn eine Klasse als final deklariert wird, bedeutet dies, dass sie keine neuen Unterklassen mehr ableiten und nicht als übergeordnete Klasse vererben kann. Daher kann eine Klasse nicht sowohl abstrakt als auch final deklariert werden. Deklarieren Sie Variablen oder Methoden als endgültig, um sicherzustellen, dass sie während der Verwendung nicht geändert werden. Als final deklarierte Variablen müssen bei der Deklaration einen Anfangswert erhalten und können nur in nachfolgenden Referenzen gelesen und nicht geändert werden. Als final deklarierte Methoden können auch nur verwendet und nicht überladen werden
finally – stellen Sie einen final-Block bereit, um alle Bereinigungsvorgänge während der
Ausnahmebehandlung
durchzuführen. Wenn eine Ausnahme ausgelöst wird, wird die entsprechende Catch-Klausel ausgeführt und die Steuerung geht an den „finally“-Block über (falls vorhanden).
Name der Finalisierungsmethode. Die Java-Technologie ermöglicht die Verwendung der finalize()-Methode, um notwendige Aufräumarbeiten durchzuführen, bevor der Garbage Collector das Objekt aus dem Speicher löscht. Diese Methode wird vom Garbage Collector für dieses Objekt aufgerufen, wenn er feststellt, dass auf das Objekt nicht verwiesen wird. Es ist in der Object-Klasse definiert und wird daher von allen Klassen geerbt. Unterklassen überschreiben die finalize()-Methode, um Systemressourcen zu organisieren oder andere Bereinigungsarbeiten durchzuführen. Die finalize()-Methode wird für dieses Objekt aufgerufen, bevor der Garbage Collector
das
-Objekt löscht.
55. Wie gehe ich mit Hunderttausenden gleichzeitiger Daten um? Antwort: Verwenden Sie die gespeicherte Prozedur oder die Transaktion. Beim Abrufen der maximalen Kennung wird dieser gleichzeitig aktualisiert. Beachten Sie, dass es sich bei dieser Methode nicht um eine automatische Inkrementierungsmethode handelt. Um die maximale Kennung zu erhalten, ist eine gespeicherte Prozedur erforderlich .
56. Gibt es schwerwiegende Fehler in Session und welche Methoden hat Microsoft vorgeschlagen, um diese zu beheben?
Antwort: Aufgrund des Prozessrecyclingmechanismus in IIS geht die Sitzung verloren, wenn das System ausgelastet ist. Sie können die Sitzung über den Sate-Server oder die SQL Server-Datenbank speichern. Diese Methode ist jedoch langsamer und kann das ENDE nicht erfassen Ereignis der Sitzung.

57. Was ist der Unterschied zwischen einem Prozess und einem Thread?
Antwort: Prozess ist die Einheit der Ressourcenzuweisung und -planung im System; Thread ist die Einheit der CPU-Planung und -Verteilung. Ein Prozess kann mehrere Threads haben, und diese Threads teilen sich die Ressourcen dieses Prozesses.

58. Was ist der Unterschied zwischen Heap und Stack?
Antwort:
Stack: automatisch vom Compiler zugewiesen und freigegeben. Innerhalb eines Funktionskörpers definierte Variablen befinden sich normalerweise auf dem Stapel.
Heap: Im Allgemeinen vom Programmierer zugewiesen und freigegeben. Was mithilfe von Speicherzuweisungsfunktionen wie new und malloc zugewiesen wird, befindet sich auf dem Heap.

59. Welche Rolle spielt das Hinzufügen statischer Elemente vor Mitgliedsvariablen und Mitgliedsfunktionen?
Antwort: Sie werden als konstante Mitgliedsvariablen und konstante Mitgliedsfunktionen bezeichnet, auch als Klassenmitgliedsvariablen und Klassenmitgliedsfunktionen bezeichnet. Wird verwendet, um jeweils den Status der Klasse widerzuspiegeln. Beispielsweise können Klassenmitgliedsvariablen verwendet werden, um die Anzahl der Klasseninstanzen zu zählen, und Klassenmitgliedsfunktionen sind für solche statistischen Aktionen verantwortlich.

60.ASP. NET im Vergleich zu ASP, was sind die wichtigsten Verbesserungen?
Antwort: ASP-interpretiertes Formular, ASPX-kompiliertes Formular, verbessert die Leistung und trägt zum Schutz des Quellcodes bei.

61. Erzeugen Sie ein int-Array mit einer Länge von 100 und fügen Sie zufällig 1-100 ein. Es kann nicht wiederholt werden.
int[] intArr=new int[100];
ArrayList =new ArrayList();
Random rnd=new Random();
while(myList.Count<100)
{
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
for(int i=0 ;i<100;i++)
intArr[i]=(int)myList[i];

62 stärken und Schwächen.
Antwort: session(viewstate) ist einfach, aber leicht zu verlieren
anwendungsglobal
Cookie ist einfach, wird aber möglicherweise nicht unterstützt und kann gefälscht sein
input ttype="hidden" ist einfach, kann gefälscht sein
Die URL-Parameter sind einfach, werden in der Adressleiste angezeigt und haben eine begrenzte Länge
Die Datenbank ist stabil und sicher, aber die Leistung ist relativ schwach

63 Bitte geben Sie die Bedeutung an von GAC?
Antwort: Globaler Assembly-
Cache
. 64. Wie viele Möglichkeiten gibt es, eine Anfrage an den Server zu senden?
Antwort: abrufen, posten. Get ist im Allgemeinen eine Link-Methode und Post ist im Allgemeinen eine Button-Methode.

65. Was ist der Unterschied zwischen DataReader und Dataset?
Antwort: Einer ist ein schreibgeschützter Cursor, der sich nur vorwärts bewegen kann, und der andere ist eine Tabelle im Speicher.

66. Wie viele Phasen umfasst der Softwareentwicklungsprozess im Allgemeinen? Welche Rolle spielen die einzelnen Phasen?
Antwort: Anforderungsanalyse,
Architektur
Design, Code-Schreiben, Qualitätssicherung, Bereitstellung67 Was bedeuten die beiden Schlüsselwörter „using“ und „new“ in c#? Bedeutet es, es zu wissen? Die using-Direktive und die Anweisung new erstellen eine neue Instanz und verbergen Methoden in der Basisklasse.
Antwort: Mit führt einen Namespace ein oder verwendet nicht verwaltete Ressourcen.
Neu erstellt eine neue Instanz oder verbirgt Methoden der übergeordneten Klasse.

68 Um eine Zeichenfolge zu verarbeiten, entfernen Sie zunächst die Leerzeichen am Anfang und Ende string Entfernen Sie, wenn sich in der Mitte der Zeichenfolge aufeinanderfolgende Leerzeichen befinden, behalten Sie nur ein Leerzeichen bei, dh es sind mehrere Leerzeichen in der Mitte der Zeichenfolge zulässig, aber die Anzahl der aufeinanderfolgenden Leerzeichen darf eins nicht überschreiten
Antwort: Zeichenfolge inputStr=" xx xx ";
inputStr=Regex.Replace(inputStr.Trim()," *"," "); Was gibt der folgende Code aus? Warum?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine("Equal"); .WriteLine("Nicht gleich");
Antwort: Nicht gleich, da die verglichenen Objekte

70 sind. Was ist SQL-Injection und wie kann man es verhindern? Bitte geben Sie ein Beispiel.
Antwort: Verwenden Sie SQL-Schlüsselwörter, um die Website anzugreifen. Filtern Sie Schlüsselwörter usw.

71. Was ist Reflexion?
Antwort: Baugruppeninformationen dynamisch abrufen

72. So schreiben Sie
Entwurfsmuster

mit Singleton. Antwort: Neu im statischen Attribut, Konstruktor privat

73 .Was ist ein Anwendungspool?
Antwort: Webanwendungen verbessern ähnlich wie Thread Pool die Parallelitätsleistung. 74. Was ist eine virtuelle Funktion? Was ist eine abstrakte Funktion?
Antwort: Virtuelle Funktion: eine Funktion, die nicht implementiert ist und von Unterklassen geerbt und überschrieben werden kann. Abstrakte Funktion: Eine Funktion, die festlegt, dass ihre nicht-virtuelle Unterklasse implementiert und überschrieben werden muss.

75. Was ist XML?
Antwort: XML ist eine erweiterbare Auszeichnungssprache. eXtensible Markup Language bezieht sich auf Informationssymbole, die Computer verstehen können. Mithilfe solcher Markierungen können Computer Artikel verarbeiten, die verschiedene Informationen enthalten. Um diese Tags zu definieren, können Sie eine international akzeptierte Tag-Sprache wie HTML wählen oder eine Tag-Sprache wie XML verwenden, die von den relevanten Personen frei festgelegt wird. Dies ist die Erweiterbarkeit der Sprache. XML wurde gegenüber SGML vereinfacht und modifiziert. Es verwendet hauptsächlich XML, XSL und XPath usw.

76. Was ist ein Webdienst? UDDI?
Antwort: Der Webdienst ist eine netzwerkbasierte, modulare Komponente. Er führt bestimmte Aufgaben aus und hält sich an bestimmte technische Spezifikationen. Diese Spezifikationen ermöglichen die Interoperabilität des Webdienstes.
Der Zweck von UDDI besteht darin, Standards für den E-Commerce festzulegen. UDDI ist eine Reihe webbasierter, verteilter Implementierungsstandards für Informationsregistrierungszentren für Webdienste und umfasst auch eine Reihe von Implementierungsstandards, die es Unternehmen ermöglichen, ihre Daten bereitzustellen eigene Web-Service-Registrierung, um anderen Unternehmen die Möglichkeit zu geben, den Implementierungsstandard des Zugriffsprotokolls zu entdecken.
 
77. Was sind Benutzerkontrollen in ASP.net?
Antwort: Benutzersteuerelemente werden im Allgemeinen verwendet, wenn der Inhalt größtenteils statisch ist oder sich geringfügig ändern kann. Die Funktion ist ähnlich wie bei der Einbindung in ASP.

78. Listen Sie die XML-Technologie und ihre Anwendungen auf, die Sie kennen
Antwort: XML wird zur Konfiguration und zum Speichern statischer Datentypen verwendet .und config

79.Welche Objekte werden in ADO.net häufig verwendet? Beschreiben Sie jeden.
Antwort: Verbindungsdatenbank-Verbindungsobjekt
Befehl Datenbankbefehl
DataReader-Datenleser
DataSet Datensatz

80. Was ist Code-Behind-Technologie?
Antwort: Dateien mit den drei Suffixen ASPX, RESX und CS. Dies ermöglicht die Trennung von HTML-Code und Servercode.

81 und was ist das?
Antwort: Einfaches Objektzugriffsprotokoll, einfaches Objektakzeptanzprotokoll. Es verwendet XML als grundlegende Codierungsstruktur und basiert auf vorhandenen Kommunikationsprotokollen (wie http, aber es wird gesagt, dass ms an der niedrigsten Architektur von Soap arbeitet tcp/ip) Ein Protokoll, das die Nutzung von Webdiensten standardisiert.

82 Der Unterschied zwischen Eigenschaft und Attribut in C#, was sind ihre Verwendungszwecke und welche Vorteile bietet dieser Mechanismus?
Antwort: Das eine ist ein Attribut, das für den Zugriff auf Felder einer Klasse verwendet wird, und das andere ist ein Merkmal, das zur Identifizierung zusätzlicher Eigenschaften von Klassen, Methoden usw. verwendet wird.

83 Der Hauptunterschied zwischen XML und HTML
Antwort: 1. XML unterscheidet zwischen Groß- und Kleinbuchstaben, HTML hingegen nicht.
2. In HTML können Sie schließende Tags wie

weglassen, wenn der Kontext deutlich zeigt, wo der Absatz oder der Listenschlüssel endet. In XML darf das schließende Tag nicht weggelassen werden.
3. In XML müssen Elemente, die ein einzelnes Tag ohne passendes Schluss-Tag haben, mit einem /-Zeichen enden. Auf diese Weise weiß der Parser, dass er nicht nach dem schließenden Tag suchen soll.
4. In XML müssen Attributwerte in Anführungszeichen gesetzt werden. In HTML sind Anführungszeichen optional.
5. In HTML können Sie Attributnamen ohne Werte haben. In XML müssen alle Attribute entsprechende Werte haben.

Was ist der ternäre Operator Operator in 84.c#?
Antwort:? :.

85. Wenn die Ganzzahl a einem Objektobjekt zugewiesen wird, wird die Ganzzahl a sein?
Antwort: Packen.

86. Welche _zugänglichen Formen von Klassenmitgliedern gibt es?
Antwort: this.;new Class().Method;

87.public static const int A=1; Was ist das?
Antwort: const kann nicht mit static geändert werden.

88.float f=-123.567F;Der Wert von i ist now_?

89. Was ist das Schlüsselwort der Delegate-Deklaration?
Antwort: Versiegelt und kann nicht vererbt werden.

91. Alle benutzerdefinierten Benutzersteuerelemente in Asp.net müssen von
Antwort: Steuerung erben.

92. In .Net sind alle serialisierbaren Klassen als _ markiert.
Antwort: [serialisierbar]

93. In .Net müssen wir uns keine Sorgen um Speicherschwachstellen machen , liegt das daran?
Antwort: GC.

94. Gibt es Fehler im folgenden Code? _
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F"}
abstract Klasse B:A
{
public abstract override void F(); Antwort: abstract override kann nicht zusammen geändert werden
} // neue öffentliche Zusammenfassung void F(); Wenn T nur einen privaten Instanzkonstruktor außerhalb des Programmtexts von T deklariert, kann (kann oder kann) eine neue Klasse von T abgeleitet werden, und jede Instanz von T kann (kann oder kann) nicht direkt erstellt werden.
Antwort: Nein, nein.

96. Gibt es einen Fehler im folgenden Code?
Schalter (i){
case(): Antwort: //case()-Bedingung darf nicht leer sein
CaseZero();
break
case 1:
break; :
dufault; Antwort: //falsch, das Format ist falsch
CaseTwo();
break

97 Kann .Page vererbt werden?
Antwort: Ja.

Was ist der
Fehlerbehandlungsmechanismus
von 98..net?
Antwort: Der .net-Fehlerbehandlungsmechanismus übernimmt die Struktur try->catch->finally. Wenn ein Fehler auftritt, wird er Schicht für Schicht ausgegeben, bis ein passender Catch gefunden wird. 99. Gibt es einen Fehler bei der Verwendung der Operatordeklaration und nur == wird deklariert?
Antwort: Möchten Sie „==" gleichzeitig ändern? muss überladen "! ="

100. Wie man benutzerdefinierte Nachrichten in .net (C# oder vb.net) verarbeitet und diese Nachrichten im Formular verarbeitet.
Antwort: Überladen Sie die DefWndProc-Funktion im Formular, um die Nachricht zu verarbeiten:
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton:
///Die Verwendung der Formatfunktion von string unterscheidet sich von der von CString in MFC
string message = string.Format("Nachricht empfangen! Die Parameter sind: {0}, {1 }",m.wParam,m.lParam);
MessageBox.Show(message); ///Anzeige eines
Meldungsfelds

break; case USER: Verarbeitungscode
Standard:
base.DefWndProc(ref m);///Rufen Sie die Basisklassenfunktion auf, um nicht benutzerdefinierte Nachrichten zu verarbeiten.
  break;
}
}

101. So brechen Sie das Schließen eines Formulars in .net (C# oder vb.net) ab.
Antwort: private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true;
}

102 vb.net), was ist der Unterschied zwischen Appplication.Exit oder Form.Close?
Antwort: Eine besteht darin, die gesamte Anwendung zu beenden, und die andere darin, eines der Formulare zu schließen.

103. In C# gibt es eine doppelte Variable, z. B. 10321,5, z. B. 122235401,21644. Wie kann der Währungswert entsprechend den Gewohnheiten verschiedener Länder ausgegeben werden? Beispielsweise werden in den Vereinigten Staaten 10.321,50 $ und 122.235.401,22 $ verwendet, während es im Vereinigten Königreich 10.321,50 £ und 122.235.401,22 £ sind.
Antwort: System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US" );
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB"); ist der britische Währungstyp
dezimal y = 99999999999m;string str = String.Format (MyCulture, „Mein Betrag = {0:c}“,y);

104 Ein bestimmtes Passwort verwendet nur insgesamt 5 Buchstaben K, L, M, N und O. Die Wörter in der Das Passwort muss von links nach rechts angeordnet sein:
(1) Die Mindestlänge des Passwortworts beträgt zwei Buchstaben, die gleich oder unterschiedlich sein können
(2) K darf nicht sein der erste Buchstabe des Wortes
(3 ) Wenn L vorkommt, kommt es mehr als einmal vor
(4) M darf nicht der letzte oder vorletzte Buchstabe sein
(5) K erscheint, dann muss N erscheinen
(6) O Wenn es der letzte Buchstabe ist, muss L erscheinen
Frage 1: Welcher der folgenden Buchstaben kann nach O in LO platziert werden, um ein 3-Buchstaben-Passwortwort zu bilden?
A) K B)L C) M D) N
Antwort: B

Frage 2: Wenn die Buchstaben, die erhalten werden können, K, L, M sind, dann ein aus zwei Buchstaben bestehendes Passwortwort, das kann gebildet werden Wie hoch ist die Gesamtzahl?
A) 1 B) 3 C) 6 D) 9
Antwort: A

Frage 3: Welches der folgenden Wörter ist ein Wortpasswort?
A) KLLN B) LOML C) MLLO D)NMKO
Antwort: C

8. Die Gleichung gilt nicht, bitte verschieben Sie eine Zahl (Minuszeichen und Gleichheitszeichen können nicht bewegt werden) ), damit die Gleichung gilt, wie bewegt man sich?
Antwort: 62 in die 6. Potenz von 2 verschoben

105. Für einen solchen Aufzählungstyp:
enum Color:byte
{
Rot,
Grün,
Blau,
orange
}
Antwort: string[] ss=Enum.GetNames(typeof(Color));
byte[] bb=Enum.GetValues(typeof(Color))

106. Was ist der Unterschied zwischen Eigenschaft und Attribut in C#, wozu dienen sie und welche Vorteile bietet dieser Mechanismus?
Antwort: Attribut: Basisklasse der benutzerdefinierten Attribute; Eigenschaft: Attribut in der Klasse

107 Kann C# direkte Operationen im Speicher durchführen?
Antwort: Unter .net bezieht sich .net auf die Garbage Collection (GC)-Funktion, die von Programmierern ersetzt wird. In C# kann die Finalize-Methode jedoch nicht direkt implementiert werden, sondern im
Destruktor
Finalize()-Methode der Basisklasse

108.ADO. Was sind die wichtigsten Verbesserungen von NET im Vergleich zu ADO usw.? Antwort: 1: Ado.net verlässt sich nicht auf den Ole-Datenbankanbieter, sondern verwendet das von .net Hosting bereitgestellte Programm. 2: Verwendet nicht com3: Es unterstützt keine dynamischen Cursor und serverseitigen Spiele mehr. Sie können die Verbindung trennen. 5: Starke Typkonvertierung 6: XML-Unterstützung
109. Schreiben Sie eine HTML-Seite, um die folgenden Funktionen zu implementieren. wird angezeigt, und wenn Sie mit der rechten Maustaste klicken, wird „Rechtsklick ist verboten“ angezeigt. Und schließt die Seite automatisch nach 2 Minuten.
Antwort:

110.
Lebenszyklus des NET-Server-Steuerelements Antwort: Ladezustand initialisieren, Postback verarbeiten, Daten laden, Postback ändern, Benachrichtigung verarbeiten, Postback-Ereignis vor dem Rendern speichern, Zustand rendern, entladen

111 Klasse andere Klassen erweitern (erben) und Schnittstelle (Schnittstelle) implementieren?
Antwort: Nein, die Schnittstelle kann implementiert werden

112.Statische verschachtelte Klasse und Je mehr Sie über den Unterschied zwischen innerer Klasse sagen können, desto besser
Antwort: Die statisch verschachtelte Klasse ist eine als statisch deklarierte innere Klasse, die instanziiert werden kann, ohne auf externe Klasseninstanzen angewiesen zu sein. Normalerweise müssen innere Klassen instanziiert werden, nachdem die äußere Klasse instanziiert wurde.

113., der Unterschied zwischen & und &&.
& ist der
Bit-Operator, was bitweise UND-Verknüpfung bedeutet, && ist der logische Operator, was logisches UND (und) bedeutet 114.Der Unterschied zwischen HashMap und Hashtable.
Antwort: HashMap ist eine leichtgewichtige Implementierung von Hashtable (nicht threadsichere Implementierung). Der Hauptunterschied besteht darin, dass HashMap leere (null) Schlüsselwerte (
Schlüssel). Da es nicht threadsicher ist und möglicherweise effizienter ist als Hashtable 115.short s1 = s1 + 1; Was ist los?
Antwort: short s1 = 1; s1 = s1 + 1; (Das Ergebnis der s1+1-Operation ist vom Typ int und muss zum typ gezwungen werden) short s1 = 1; s1 += 1; (kann korrekt kompiliert werden)

116. Kann die Overloaded-Methode den Typ des Rückgabewerts ändern?
117. Was ist der Unterschied zwischen Fehler und Ausnahme
Antwort: Fehler weist auf ein ernstes Problem hin, wenn die Wiederherstellung nicht unmöglich, aber schwierig ist. Zum Beispiel Speicherüberlauf. Es ist unmöglich, von einem Programm zu erwarten, dass es mit einer solchen Situation zurechtkommt.
Ausnahme stellt ein Design- oder Implementierungsproblem dar. Das heißt, es stellt eine Situation dar, die bei normaler Ausführung des Programms niemals eintreten würde.

118. Was ist der Unterschied zwischen <%# %>?
Antwort: <%# %> stellt die gebundene Datenquelle dar
<% %> ist ein serverseitiger Codeblock 119 ) und Was ist der größte Unterschied zwischen den Entwicklungstools, die Sie zuvor verwendet haben (.Net 1.0 oder andere)? Welche Entwicklungsideen (Muster/Architektur) Sie auf der vorherigen Plattform verwendet haben, können auf ASP.NET 2.0 übertragen werden (oder wurden in ASP.NET 2.0 eingebettet)
Antwort: 1 ASP.NET 2.0 hat etwas Code in Kapselung und Verpackung eingefügt eliminiert, sodass im Vergleich zu 1.0 für dieselbe Funktion viel Code reduziert wird.
2 Unterstützt sowohl die Codetrennung als auch die Seiteneinbettung von serverseitigem Code. In der vorherigen Version 1.0 war die .NET-Eingabeaufforderungshilfe nur in getrenntem Code verfügbar Dateien und konnte nicht in separaten Codedateien verwendet werden, um Hilfetipps zu erhalten. 2.0 unterstützt die Cursorpositionierung Beim Binden von Daten, beim Durchführen von Tabellenpaging, Aktualisieren, Löschen und anderen Vorgängen kann alles visuell bedient werden, was für Anfänger praktisch ist
5 Mehr als 40 neue Steuerelemente wurden zu ASP.NET hinzugefügt, was den Arbeitsaufwand reduziert

120. Was ist der Unterschied zwischen Überladung und Überschreibung?
Antwort: 1. Methodenüberschreibung ist die Beziehung zwischen Unterklassen und übergeordneten Klassen, bei der es sich um eine vertikale Beziehung handelt; Methodenüberladung ist die Beziehung zwischen Methoden in derselben Klasse, bei der es sich um eine horizontale Beziehung handelt
2. Nur Überschreibung Eine Beziehung kann von einer Methode oder nur einem Methodenpaar generiert werden; Methodenüberladung ist die Beziehung zwischen mehreren Methoden.
3. Das Überschreiben erfordert die gleiche Parameterliste; das Überladen erfordert unterschiedliche Parameterlisten.
4. In der Überschreibbeziehung wird der aufzurufende Methodenkörper basierend auf dem Typ des Objekts bestimmt (der dem Objekt entsprechende Speicherplatztyp); in der Überladungsbeziehung wird der Methodenkörper basierend auf dem tatsächlichen ausgewählt Parameterliste und formale Parameterliste beim Aufruf.

121. Beschreiben Sie den Implementierungsprozess des Indexers in C#. Kann er nur auf Basis von Zahlen indiziert werden?
Antwort: Nein. Jeder Typ kann verwendet werden.

122. In C# gilt: string str = null und string str = " " Bitte versuchen Sie, den Unterschied mit Text oder Bildern zu erklären.
Antwort: null hat keine Leerzeichenreferenz;
" " ist eine Zeichenfolge mit einem Leerzeichen von 0;

123 ";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
Nachdem der obige Code ausgeführt wurde, i= j=
Antwort: i=13.j=10

124. Auf dem SQLSERVER-Server gibt es zwei Felder „ID“ und „LastUpdateDate“ in der angegebenen Tabelle. Tabelle 1 stellt die aktualisierte Transaktionsnummer dar, und „LastUpdateDate“ stellt die Serverzeit zum Zeitpunkt der Aktualisierung dar. Bitte verwenden Sie eine SQL-Anweisung, um die letzte aktualisierte Transaktion abzurufen Zahl
Antwort: Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

125.
public static void test(string ConnectString)

{

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = ConnectString;
try

{
conn.Open();
}
catch(Exception Ex)
{
MessageBox. Show(Ex.ToString());
}
finally
{

if (!conn.State.Equals(ConnectionState.Closed))
conn.Close();
}
}
Entschuldigung

1) Kann der obige Code den Verbindungspool korrekt verwenden?

Antwort: Antwort: Wenn der eingehende Verbindungsstring genau gleich ist, kann der Verbindungspool korrekt verwendet werden. Die exakt gleiche Bedeutung bedeutet jedoch, dass die Anzahl der Leerzeichen im Bindestrich genau in der gleichen Reihenfolge ist.

2) Können in Bezug auf die im obigen Code verwendete Ausnahmebehandlungsmethode alle Ausnahmen in der Testmethode abgefangen und angezeigt werden?

Antwort: Sie können Ausnahmen nur in Datenbankverbindungen abfangen (Wenn es in „finally“ und „catch“ andere Vorgänge gibt, die Ausnahmen verursachen können, sollten Sie auch „try“ und „catch“ verwenden. Theoretisch ist dies also nicht bei allen Ausnahmen der Fall gefangen Capture. )

126. Das Unternehmen erfordert die Entwicklung einer Komponente, die die Klasse System.Windows.Forms.ListView erbt und die folgenden Sonderfunktionen benötigt: Beim Klicken auf die Spaltenüberschrift der ListView wird der Wert angezeigt Jede Zeile der angeklickten Spalte kann neu angeordnet werden. Ordnet alle Zeilen in der Ansicht neu an (Sortierung ähnlich einem DataGrid). Basierend auf Ihrem Wissen sprechen Sie bitte kurz über Ihre Ideen:
Antwort: Extrahieren Sie entsprechend der angeklickten Spaltenüberschrift die ID der Spalte, sortieren Sie sie nach der ID und binden Sie sie an die ListView

127 .Was ist WSE? Was ist die neueste Version?
Antwort: Das WSE-Paket (Web Service Extension) bietet die neueste WEB-Service-Sicherheitsgarantie. Die neueste Version ist 2.0.

128. Im folgenden Beispiel
using System;class A(){
public A(){
PrintFields(}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y; 1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y>




-->

Das obige ist der detaillierte Inhalt vonSammlung von ASP.NET-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn