# Geheugenbeheer (Go) > Stack vs heap, escape analysis, garbage collector, geheugenprofiling, pprof, memory leaks - 24 gespreksvragen - Senior - [Gespreksvragen: Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen.md) ## 1. Wat is het belangrijkste verschil tussen stack- en heap-allocatie in Go? **Antwoord** De stack wordt automatisch beheerd en allocaties zijn extreem snel (eenvoudige verplaatsing van de stack pointer). Variabelen op de stack worden automatisch vrijgegeven wanneer de functie terugkeert. De heap heeft de garbage collector nodig om geheugen vrij te geven en allocaties zijn trager omdat ze de Go-runtime betrekken. Variabelen die voorbij de functie blijven bestaan of waarvan de grootte niet bekend is tijdens het compileren, gaan op de heap. ## 2. Wat is escape analysis in Go? **Antwoord** Escape analysis is een statische analyse die door de Go-compiler wordt uitgevoerd om te bepalen of een variabele op de stack kan blijven of op de heap moet worden gealloceerd. Als de compiler detecteert dat een variabele buiten zijn aanmaakfunctie wordt gerefereerd (via een geretourneerde pointer, opslag in een globale variabele, enz.), 'ontsnapt' de variabele en wordt deze op de heap gealloceerd. Deze analyse optimaliseert geheugenallocaties automatisch. ## 3. Hoe bekijk je de resultaten van escape analysis tijdens het compileren? **Antwoord** Met de vlag -gcflags=-m kun je de beslissingen van escape analysis bekijken. Het gebruik van -m=2 of -m=3 geeft meer details over waarom een variabele ontsnapt. Zo toont 'go build -gcflags=-m=2' meldingen als 'moved to heap: x' om aan te geven dat een variabele naar de heap is verplaatst. Dit hulpmiddel is essentieel voor het optimaliseren van geheugenallocaties in kritieke code. ## Nog 21 vragen beschikbaar - In welk geval ontsnapt een lokale variabele naar de heap? - Wat is de belangrijkste rol van de garbage collector in Go? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Go-sollicitatieonderwerpen - [Go-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-basics.md): 25 vragen, Junior - [Go-datastructuren](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-data-structures.md): 20 vragen, Junior - [Go-interfaces](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-interfaces.md): 18 vragen, Junior - [Foutafhandeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/error-handling.md): 20 vragen, Junior - [Goroutines-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/goroutines-basics.md): 20 vragen, Junior - [Channels](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/channels.md): 22 vragen, Junior - [Go Modules](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-modules.md): 18 vragen, Mid-Level - [HTTP-server](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-server.md): 24 vragen, Mid-Level - [HTTP-client](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-client.md): 18 vragen, Mid-Level - [JSON-codering](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/json-encoding.md): 20 vragen, Mid-Level - [Database/SQL](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/database-sql.md): 22 vragen, Mid-Level - [context-pakket](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/context-package.md): 20 vragen, Mid-Level - [Testing](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/testing.md): 22 vragen, Mid-Level - [Concurrency-patronen](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/concurrency-patterns.md): 24 vragen, Mid-Level - [Synchronisatieprimitieven](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/sync-primitives.md): 22 vragen, Mid-Level - [Go-webframeworks](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-web-frameworks.md): 20 vragen, Mid-Level - [REST API-ontwerp](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/rest-api-design.md): 20 vragen, Mid-Level - [gRPC](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/grpc.md): 22 vragen, Mid-Level - [Reflection](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/reflection.md): 20 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Generics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/generics.md): 20 vragen, Senior - [Go Design Patterns](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/design-patterns.md): 24 vragen, Senior - [Microservices](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/microservices.md): 24 vragen, Senior - [Beveiliging en authenticatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/security-authentication.md): 24 vragen, Senior - [Docker & Containerization](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/docker-containerization.md): 20 vragen, Senior - [Kubernetes Basics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/kubernetes-basics.md): 22 vragen, Senior - [Geavanceerd Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/advanced-go.md): 20 vragen, Senior - [CLI-ontwikkeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/cli-development.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/go/sollicitatievragen/memory-management