字节资深程序员经验分享——学习后端之路

入门后端

  1. 后端没有界面,代码写完不知道能有什么用、能给谁用。
    选一个熟悉的编程语言,例如go、java,自己写一个网站,有文章发布和展示功能。这样就能直观的感受到后端在互联网世界中的作用。青训营的大项目就能起到这个作用。
  2. 我知道后端程序可以做数据的增删改查了,我要深入的去学习一个语言的技术栈。选哪个呢?
    Java、Golang、Python、C/C++等等。
    • 服务端方向:字节Golang;美团、阿里、京东等Java;百度C++/PHP/Golang
    • 大数据方向:Java
    • 中间件方向:Java/C++/Golang/Rust

学习后端的知识体系

很多、确实非常多。慢慢来,就从青训营的大项目开始:Golang、MySQL,先从这两项开始吧~
【Golang】: slice、map、goroutine、并发控制(锁)。上面4项在什么场景使用,底层数据结构是什么。
【MySQL】︰索引的数据模型是什么、实际存储在硬盘上的物理模型是什么。
可以从Golang和MySQL慢慢拓展到更多的知识领域。例如:高性能、高并发、分布式等。在青训营的后端课程中,也涉及到这些方向。
面试时,如果能把数据结构说清楚是非常有优势的。工作中我们要做到对一个系统熟悉,核心还是要了解到数据在系统中数据是怎么存的,怎么流转的。

主题 描述
计算机基础 数据结构、算法、计算机组成原理、计算机网络、操作系统、编译原理
Linux Linux基础操作、Unix环境编程、网络编程
数据库 基础理论ACID、MySQL、NoSQL
编程语言 Java、Go、C/C++、Rust
设计模式 23种设计模式
版本控制 Git
工具 IDE、Vim、Emacs、SSH
中间件 API网关、Web/RPC框架、消息队列、缓存、定时调度、数据库中间件ORM、日志系统、配置中型
分布式 一致性/CAP、事务、幂等、微服务、拓展性
高并发、高性能、高可用 C10k、进程、线程、异步、池化、缓存、CDN、集群、负载均衡、限流、容灾、多活
搜索引擎 搜索引擎原理、lucene、ES
虚拟化 Docker、servicemesh
安全 Web安全/CSRF/XSS/DDos、加密算法、OAuth2.0/SSO
大数据 统计学/概率论、HDFS、HIVE、Spark、Flink
算法 离散数学、线性代数、机器学习

关于职业规划

通常意义上一个好的开局:去大公司,第一份工作方向就是就是喜欢长期深入的方向。
如果一开始没办法进入大公司,那么就要在小公司里边工作、边深入学习你工作中使用的技术。深入学习的套路依然还是,搞清楚你用到的框架是实现原理是什么,你用到的数据库实现原理是什么。同时要记得去刷LeetCode。然后找机会进大公司。

你可能感兴趣的:(经验分享,学习)