Nach dem schriftlichen Test letzte Woche war ich im Zustand des schriftlichen Tests und habe die Testfragen von der Seite des Golang-Ingenieurs erhalten:
- Was ist der Unterschied zwischen Marke und Neu?
- Was ist falsch an einer neuen Kartenstruktur?
- Was ist der Unterschied zwischen einem Array und einem Slice?
- Was ist der Unterschied zwischen der Übergabe eines Arrays und der Übergabe eines Slice?
- Slice-Erweiterungsmechanismus
- Was ist die Datenstruktur der Karte und wie kann eine Erweiterung erreicht werden?
- Warum werden in bmap acht Schlüssel-Wert-Paare gespeichert? ? ?
- Wie löst Map die Parallelitätssicherheit?
- Wie sync.map implementiert wird
- Für welche Art von Szene ist sync.map geeignet?
- Wie wird Golangs GC implementiert?
- So lösen Sie dieses Problem, wenn während des GC-Prozesses geschrieben oder gelöscht wird
- Welche Probleme können Schreibbarrieren verursachen? ? ?
- Was ist der Unterschied zwischen Prozess, Thread und Coroutine?
- Warum ist die Coroutine leichter als der Thread und wie wird das gemacht?
- GMP-Planungsmodell
- Warum lokale und globale Warteschlangen aufteilen?
- Optimistisches und pessimistisches Sperren von MySQL
- Was sind die Anwendungsszenarien für optimistisches Sperren? ?
- Isolationsstufe der MySQL-Transaktion
- Wie das wiederholbare Lesen von innodb implementiert wird
- Stellen Sie den MVCC-Mechanismus vor
- Wie gibt es mehrere Versionen?
- Transaktions-ID Welcher Bereich sichtbar ist
- Erfahrung in der MySQL-Optimierung
- Sind abdeckende Indizes für alle Szenarien geeignet?
- Redis