# Goroutines basiques (Go) > Goroutines, go keyword, sync.WaitGroup, runtime.GOMAXPROCS, goroutine leaks - 20 questions d'entretien - Junior - [Questions d'entretien: Go](https://sharpskill.dev/fr/technologies/go/questions-entretien.md) ## 1. Qu'est-ce qu'une goroutine en Go ? **Réponse** Une goroutine est une fonction qui s'exécute de manière concurrente avec d'autres fonctions, gérée par le runtime Go plutôt que par l'OS. Elle est extrêmement légère (quelques Ko de stack initiale) comparée à un thread OS (quelques Mo). Le scheduler Go peut multiplexer des milliers voire des millions de goroutines sur un nombre limité de threads OS, rendant la concurrence très accessible en Go. ## 2. Comment démarrer une nouvelle goroutine en Go ? **Réponse** Le mot-clé go suivi d'un appel de fonction démarre une nouvelle goroutine. Par exemple, 'go myFunction()' ou 'go func() { ... }()' pour une fonction anonyme. La goroutine s'exécute immédiatement en parallèle avec le code appelant. Attention : la fonction principale ne attend pas automatiquement la fin des goroutines lancées. ## 3. Quelle est la principale différence entre une goroutine et un thread OS ? **Réponse** Une goroutine consomme environ 2 Ko de stack initiale alors qu'un thread OS nécessite généralement 1-2 Mo. Le runtime Go gère le scheduling des goroutines en espace utilisateur (M:N scheduling), multiplexant des milliers de goroutines sur quelques threads OS. Cela permet de créer des millions de goroutines sans surcharger le système, contrairement aux threads OS qui sont limités par les ressources. ## 17 questions supplémentaires disponibles - Que se passe-t-il si le programme principal se termine avant la fin d'une goroutine ? - Comment le runtime Go gère-t-il l'exécution des goroutines ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Go - [Les bases de Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-basics.md): 25 questions, Junior - [Structures de données Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-data-structures.md): 20 questions, Junior - [Interfaces Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-interfaces.md): 18 questions, Junior - [Gestion des erreurs](https://sharpskill.dev/fr/technologies/go/questions-entretien/error-handling.md): 20 questions, Junior - [Channels](https://sharpskill.dev/fr/technologies/go/questions-entretien/channels.md): 22 questions, Junior - [Go Modules](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-modules.md): 18 questions, Confirmé - [Serveur HTTP](https://sharpskill.dev/fr/technologies/go/questions-entretien/http-server.md): 24 questions, Confirmé - [Client HTTP](https://sharpskill.dev/fr/technologies/go/questions-entretien/http-client.md): 18 questions, Confirmé - [Encodage JSON](https://sharpskill.dev/fr/technologies/go/questions-entretien/json-encoding.md): 20 questions, Confirmé - [Database/SQL](https://sharpskill.dev/fr/technologies/go/questions-entretien/database-sql.md): 22 questions, Confirmé - [Package context](https://sharpskill.dev/fr/technologies/go/questions-entretien/context-package.md): 20 questions, Confirmé - [Testing](https://sharpskill.dev/fr/technologies/go/questions-entretien/testing.md): 22 questions, Confirmé - [Patterns de concurrence](https://sharpskill.dev/fr/technologies/go/questions-entretien/concurrency-patterns.md): 24 questions, Confirmé - [Primitives de synchronisation](https://sharpskill.dev/fr/technologies/go/questions-entretien/sync-primitives.md): 22 questions, Confirmé - [Frameworks web Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/go-web-frameworks.md): 20 questions, Confirmé - [Design d'API REST](https://sharpskill.dev/fr/technologies/go/questions-entretien/rest-api-design.md): 20 questions, Confirmé - [gRPC](https://sharpskill.dev/fr/technologies/go/questions-entretien/grpc.md): 22 questions, Confirmé - [Reflection](https://sharpskill.dev/fr/technologies/go/questions-entretien/reflection.md): 20 questions, Senior - [Gestion mémoire](https://sharpskill.dev/fr/technologies/go/questions-entretien/memory-management.md): 24 questions, Senior - [Optimisation des performances](https://sharpskill.dev/fr/technologies/go/questions-entretien/performance-optimization.md): 22 questions, Senior - [Generics](https://sharpskill.dev/fr/technologies/go/questions-entretien/generics.md): 20 questions, Senior - [Design Patterns Go](https://sharpskill.dev/fr/technologies/go/questions-entretien/design-patterns.md): 24 questions, Senior - [Microservices](https://sharpskill.dev/fr/technologies/go/questions-entretien/microservices.md): 24 questions, Senior - [Sécurité & Authentication](https://sharpskill.dev/fr/technologies/go/questions-entretien/security-authentication.md): 24 questions, Senior - [Docker & Containerization](https://sharpskill.dev/fr/technologies/go/questions-entretien/docker-containerization.md): 20 questions, Senior - [Kubernetes Basics](https://sharpskill.dev/fr/technologies/go/questions-entretien/kubernetes-basics.md): 22 questions, Senior - [Go Avancé](https://sharpskill.dev/fr/technologies/go/questions-entretien/advanced-go.md): 20 questions, Senior - [Développement CLI](https://sharpskill.dev/fr/technologies/go/questions-entretien/cli-development.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/go/questions-entretien/goroutines-basics