# Speicherverwaltung (Go) > Stack vs Heap, Escape Analysis, Garbage Collector, Memory-Profiling, pprof, Memory Leaks - 24 Interview-Fragen - Senior - [Interview-Fragen: Go](https://sharpskill.dev/de/technologies/go/interviewfragen.md) ## 1. Was ist der Hauptunterschied zwischen Stack- und Heap-Allokation in Go? **Antwort** Der Stack wird automatisch verwaltet und Allokationen sind extrem schnell (einfache Bewegung des Stack-Pointers). Variablen auf dem Stack werden automatisch freigegeben, wenn die Funktion zurückkehrt. Der Heap benötigt den Garbage Collector, um Speicher freizugeben, und Allokationen sind langsamer, da sie die Go-Runtime einbeziehen. Variablen, die über die Funktion hinaus überleben oder deren Größe zur Compile-Zeit nicht bekannt ist, landen auf dem Heap. ## 2. Was ist Escape Analysis in Go? **Antwort** Escape Analysis ist eine statische Analyse, die der Go-Compiler durchführt, um zu bestimmen, ob eine Variable auf dem Stack bleiben kann oder auf dem Heap allokiert werden muss. Wenn der Compiler erkennt, dass eine Variable außerhalb ihrer Erstellungsfunktion referenziert wird (über einen zurückgegebenen Zeiger, Speicherung in einer globalen Variable usw.), 'entkommt' die Variable und wird auf dem Heap allokiert. Diese Analyse optimiert Speicherallokationen automatisch. ## 3. Wie kann man die Ergebnisse der Escape Analysis während der Kompilierung ansehen? **Antwort** Das Flag -gcflags=-m ermöglicht es, die Entscheidungen der Escape Analysis anzusehen. Die Verwendung von -m=2 oder -m=3 liefert mehr Details darüber, warum eine Variable entkommt. Zum Beispiel zeigt 'go build -gcflags=-m=2' Meldungen wie 'moved to heap: x' an, um anzuzeigen, dass eine Variable auf den Heap verschoben wurde. Dieses Tool ist unerlässlich, um Speicherallokationen in kritischem Code zu optimieren. ## 21 weitere Fragen verfügbar - In welchem Fall entkommt eine lokale Variable auf den Heap? - Was ist die Hauptaufgabe des Garbage Collectors in Go? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Go-Interviewthemen - [Go-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-basics.md): 25 Fragen, Junior - [Go-Datenstrukturen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-data-structures.md): 20 Fragen, Junior - [Go-Interfaces](https://sharpskill.dev/de/technologies/go/interviewfragen/go-interfaces.md): 18 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/go/interviewfragen/error-handling.md): 20 Fragen, Junior - [Goroutines-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/goroutines-basics.md): 20 Fragen, Junior - [Channels](https://sharpskill.dev/de/technologies/go/interviewfragen/channels.md): 22 Fragen, Junior - [Go Modules](https://sharpskill.dev/de/technologies/go/interviewfragen/go-modules.md): 18 Fragen, Mid-Level - [HTTP-Server](https://sharpskill.dev/de/technologies/go/interviewfragen/http-server.md): 24 Fragen, Mid-Level - [HTTP-Client](https://sharpskill.dev/de/technologies/go/interviewfragen/http-client.md): 18 Fragen, Mid-Level - [JSON-Kodierung](https://sharpskill.dev/de/technologies/go/interviewfragen/json-encoding.md): 20 Fragen, Mid-Level - [Database/SQL](https://sharpskill.dev/de/technologies/go/interviewfragen/database-sql.md): 22 Fragen, Mid-Level - [context-Paket](https://sharpskill.dev/de/technologies/go/interviewfragen/context-package.md): 20 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/go/interviewfragen/testing.md): 22 Fragen, Mid-Level - [Concurrency-Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/concurrency-patterns.md): 24 Fragen, Mid-Level - [Synchronisationsprimitive](https://sharpskill.dev/de/technologies/go/interviewfragen/sync-primitives.md): 22 Fragen, Mid-Level - [Go-Web-Frameworks](https://sharpskill.dev/de/technologies/go/interviewfragen/go-web-frameworks.md): 20 Fragen, Mid-Level - [REST-API-Design](https://sharpskill.dev/de/technologies/go/interviewfragen/rest-api-design.md): 20 Fragen, Mid-Level - [gRPC](https://sharpskill.dev/de/technologies/go/interviewfragen/grpc.md): 22 Fragen, Mid-Level - [Reflection](https://sharpskill.dev/de/technologies/go/interviewfragen/reflection.md): 20 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/go/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Generics](https://sharpskill.dev/de/technologies/go/interviewfragen/generics.md): 20 Fragen, Senior - [Go Design Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/design-patterns.md): 24 Fragen, Senior - [Microservices](https://sharpskill.dev/de/technologies/go/interviewfragen/microservices.md): 24 Fragen, Senior - [Sicherheit und Authentifizierung](https://sharpskill.dev/de/technologies/go/interviewfragen/security-authentication.md): 24 Fragen, Senior - [Docker & Containerization](https://sharpskill.dev/de/technologies/go/interviewfragen/docker-containerization.md): 20 Fragen, Senior - [Kubernetes Basics](https://sharpskill.dev/de/technologies/go/interviewfragen/kubernetes-basics.md): 22 Fragen, Senior - [Fortgeschrittenes Go](https://sharpskill.dev/de/technologies/go/interviewfragen/advanced-go.md): 20 Fragen, Senior - [CLI-Entwicklung](https://sharpskill.dev/de/technologies/go/interviewfragen/cli-development.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/go/interviewfragen/memory-management