Go

Go

BACKEND

Langage de programmation développé par Google offrant simplicité, performance et concurrence native. Architecture minimaliste avec compilation rapide, goroutines pour la concurrence, et standard library complète pour créer des APIs REST, microservices et applications backend haute performance.

Ce que tu vas apprendre

Syntaxe simple et concise avec compilation ultra-rapide

Goroutines et channels pour concurrence native et légère

Standard library riche (net/http, encoding/json, testing)

Garbage collector optimisé et faible empreinte mémoire

Compilation statique produisant des binaires autonomes

Interface et duck typing pour flexibilité sans héritage

Testing natif avec go test, benchmarks et race detector

Frameworks web (Gin, Echo, Fiber) et ORMs (GORM, sqlx)

Gestion des erreurs explicite avec pattern error checking

Déploiement simplifié (Docker, Kubernetes) avec binaires statiques

Sujets clés à maîtriser

Les concepts les plus importants pour comprendre cette techno et réussir tes entretiens

1

Go basics : types, variables, functions, packages, imports

2

Structs, methods, interfaces et composition (embedding)

3

Goroutines : go keyword, concurrence vs parallélisme, scheduler

4

Channels : buffered/unbuffered, select, range, close, patterns

5

Error handling : error type, wrapping errors, panic/recover

6

Pointers : &, *, pass by value vs reference, nil pointers

7

Slices et arrays : make, append, capacity, sous-slices

8

Maps : création, accès, deletion, iteration, zero values

9

Interfaces : empty interface, type assertions, type switches

10

Standard library : net/http, encoding/json, io, context

11

HTTP servers : http.Handler, http.HandlerFunc, multiplexers

12

Context : cancellation, timeouts, values, propagation

13

Testing : unit tests, table-driven tests, mocking, coverage

14

GORM : models, migrations, associations, preloading, hooks

15

Frameworks : Gin (routing, middleware), Echo, Fiber

16

Concurrency patterns : worker pools, pipelines, fan-out/fan-in

17

Middleware : chaining, authentication, logging, recovery

18

Performance : profiling (pprof), benchmarks, optimizations

19

Modules : go.mod, versioning, dependencies, vendoring

20

Deployment : Docker multi-stage builds, Kubernetes, binaires statiques