π ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: Senior Go Developer#
ΠΠ°Π·Π° Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ Senior Go ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ΄ΠΈΠ½ ΡΠΎΠΏΠΈΠΊ = ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ». Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅: ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Β«Π½Π° ΠΏΠ°Π»ΡΡΠ°Ρ Β», ΡΠ΅ΠΎΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ, Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅ΡΠ° Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π·Π±ΠΎΡ Β«Π½Π° ΡΡΠΎ ΠΊΠΎΠΏΠ°ΡΡ Π½Π° senior+Β».
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΠ°ΡΡΡΠΈΡΠ°Π½ ΠΈ Π½Π° ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π½Π° Go Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°: Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠΌΠΈ, ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΎΠΉ ΠΆΠ°ΡΠ³ΠΎΠ½Π° ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ Java, Python, C# ΠΈ JS.
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ#
- ΠΠ΄ΡΡΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ· ΠΈΠ»ΠΈ ΡΠΎΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΠ½ΡΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠ°ΡΡΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΡΠ΅Π½ΠΈΡ β ΠΎΡ Π±Π°Π·Ρ ΠΊ Π΄Π΅ΡΠ°Π»ΡΠΌ.
- ΠΠ΅Π·Π½Π°ΠΊΠΎΠΌΠ°Ρ ΡΠ΅ΠΌΠ°: ΡΠΈΡΠ°Π΅ΡΡ
TL;DRβ ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ β ΡΠ΅ΠΎΡΠΈΡ. ΠΠ½Π°ΠΊΠΎΠΌΠ°Ρ ΡΠ΅ΠΌΠ°: ΡΡΠ°Π·ΡTL;DRβ ΠΠΎΠΏΡΠΎΡΡ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΎΡΠ²Π΅ΡΠ°Π΅ΡΡ Π²ΡΠ»ΡΡ , Π½Π΅ ΠΏΠΎΠ΄Π³Π»ΡΠ΄ΡΠ²Π°Ρ. - ΠΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΠΈΠΌ ΡΠΎΠ±Π΅ΡΠΎΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ³Π½Π°ΡΡ
TL;DR+ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Π½ΡΠΆΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
Π€ΠΎΡΠΌΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
# Π’Π΅ΠΌΠ°
> ΠΠΎΠ΄ΡΠ»Ρ Β· Π£ΡΠΎΠ²Π΅Π½Ρ
## TL;DR
## ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ, ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², Β«Π΅ΡΠ»ΠΈ ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°Β»)
## Π’Π΅ΠΎΡΠΈΡ
## ΠΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ / gotchas
## ΠΠΎΠΏΡΠΎΡΡ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ (Π: / Π:)
## ΠΠ° ΡΡΠΎ ΠΊΠΎΠΏΠ°ΡΡ Π½Π° senior+ΠΠΎΠ΄ΡΠ»ΠΈ#
01. Core Go β 01-core-go/#
Π―Π·ΡΠΊ: ΡΠΈΠΏΡ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ»Π°ΠΉΡΡ, ΠΌΠ°ΠΏΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΎΡΠΈΠ±ΠΊΠΈ, Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ, Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ, JSON, ΠΌΠΎΠ΄ΡΠ»ΠΈ.
02. Concurrency β 02-concurrency/#
ΠΠΎΡΡΡΠΈΠ½Ρ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ GMP, ΠΊΠ°Π½Π°Π»Ρ, context, ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, errgroup, ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ.
03. Runtime ΠΈ ΠΏΠ°ΠΌΡΡΡ β 03-runtime-memory/#
Stack vs heap, escape analysis, GC, ΡΡΠ΅ΡΠΊΠΈ, ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (pprof).
04. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β 04-testing/#
Table-driven, Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ, fuzzing, ΠΌΠΎΠΊΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ.
05. Backend β 05-backend/#
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, net/http, middleware, REST, gRPC, protobuf, auth, JWT/OAuth2, ΡΠΈΡΡΠ°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°.
06. Π‘Π΅ΡΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ β 06-networking/#
TCP/IP, HTTP/1.1/2/3, TLS, WebSocket, DNS, connection pooling.
07. ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
β 07-databases/#
PostgreSQL, ΠΈΠ½Π΄Π΅ΠΊΡΡ, isolation levels, MVCC, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΡΠ°ΡΠ΄ΠΈΠ½Π³.
08. Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ β 08-distributed-systems/#
CAP, consistency, ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΡ, saga, outbox, Kafka, RabbitMQ.
09. Observability β 09-observability/#
OpenTelemetry, Prometheus, Grafana, ΡΡΠ΅ΠΉΡΠΈΠ½Π³, ΠΌΠ΅ΡΡΠΈΠΊΠΈ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
10. System Design β 10-system-design/#
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ + ΡΠ°Π·Π±ΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ (URL shortener, chat, rate limiter, payment…).
11. DevOps β 11-devops/#
Docker, Kubernetes, CI/CD, ΠΎΠ±Π»Π°ΠΊΠ°, Terraform.
12. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ β 12-algorithms/#
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ, ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΈΠΏΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° Π½Π° Go.
13. Behavioral β 13-behavioral/#
Soft skills, Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ, ΡΠ»ΠΎΡ system design ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ.
Π§Π΅ΠΊΠ»ΠΈΡΡ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ#
- Core Go β ΠΎΡΠ²Π΅ΡΠ°Ρ Π±Π΅Π· Π·Π°ΠΏΠΈΠ½ΠΊΠΈ
- Concurrency β channel vs mutex, GMP, context
- Runtime β escape analysis, GC, Π½Π°ΡΡΠ» Π±Ρ ΡΡΠ΅ΡΠΊΡ ΡΠ΅ΡΠ΅Π· pprof
- Databases β isolation levels, ΠΈΠ½Π΄Π΅ΠΊΡΡ, EXPLAIN
- Distributed β CAP, ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΡ, delivery guarantees
- System Design β ΠΌΠΎΠ³Ρ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ 3+ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ 10
- DevOps β Docker/k8s Π±Π°Π·ΠΎΠ²ΠΎ