python写后端api要学什么_后端都要学习什么?

前面那些关于后端学什么的回答都弱爆了!后端都要学些什么?

这里强烈推荐一个Github 50K 的项目《后端架构师技术图谱》,看完这个回答其它关于后端的回答都可以不用看了, 因为都包含在这个后端架构师仓库。

包含了后端、算法、语言、架构、操作系统、后端开发、并发、网络、设计模式、系统设计、高并发等等

给大家随便贴出一部分后端相关的内容吧,这个上面针对后端的内容实在太多了,估计看到头发掉光也看不完,所以大家一定收藏,用到哪一块,再去上面搜索,针对性学习。

下面是后端开发技术栈部分截图和内容:

这是Github地址:https://github.com/xingshaocheng/architect-awesome​github.com

另外,我本身是做后台开发的,这里也给出我准备后台开发时的一些方向,可以供大家参考:

后台开发都考察哪些?

一般来说 Linux C/C++ 后台开发方向涉及以下这些基础知识:C/C++ 语言特性和实现原理

计算机网络

网络编程 和 Linux 系统编程

操作系统原理

部分 Linux 内核原理,如内存管理、文件系统、虚拟内存等

Linux 常见命令使用

算法与数据结构

数据库使用及原理

常见 NoSQL组件,如 Redis、Memcached

版本控制 Git

非必选加分项:分布式相关,如一致性协议比如 Raft 算法、分布式存储等

docker、k8s 等虚拟化和云计算相关的

系统设计能力,如短链服务、评论服务、Feed流系统、抢红包、秒杀等

语言基础如C++

首先是语言的基础知识,一些关键字和实现原理等:指针、引用、数组、内存

引用与指针区别

C 和 C++ 的一些区别,比如 new、delete 和 malloc、free 的区别

虚机制:虚函数、虚函数表、纯虚函数

继承、虚继承、菱形继承等

多态: 动态绑定,静态多态

重写、重载

智能指针原理:引用计数、RAII(资源获取即初始化)思想

智能指针使用:shared_ptr、weak_ptr、unique_ptr等

一些关键字的作用:static、const、volatile、extern

四种类型转换:static_cast, dynamic_cast, const_cast, reinterpret_cast

STL部分容器的实现原理,如 vector、deque、map、hashmap

模板特化、偏特化,萃取 traits 技巧

编译链接机制、内存布局(memory layout)、对象模型

C++11 部分新特性,比如右值引用、完美转发等

操作系统:

操作系统这门课,我的感觉是易学难精,但是掌握到日常编程和面试够用还是比较容易的。

那么毕业生或者说你去准备校招面试应该达到怎样的水平:OS 四大模块的理论知识: 进程与线程管理、内存管理、IO与文件系统、设备管理

了解 Linux 内核部分实现原理,如内存管理、进程管理、虚拟文件系统等

其中内存、进程、IO 是重点,这几块也是和编程关系最密切的,这里推荐先挑本偏理论的书看看,了解操作系统的全貌:《现代操作系统》

《操作系统—精髓与设计原理》

这部分看完你应该对下面这些话题有一个清晰认知了:操作系统由哪些构成

进程的状态、切换、调度

进程间通信方式(共享内存、管道、消息)

进程和线程的区别

线程的实现方式(一对一、多对一等)

互斥与同步(信号量、管程、锁)

死锁检测与避免

并发经典的问题:读者写者、哲学家就餐问题

为什么需要虚拟内存,MMU 具体如何做地址转换的

内存为什么分段、分页

页面置换算法

文件系统是如何组织的

虚拟文件系统(VFS)是如何抽象的

...

由于篇幅限制,这篇文章主要介绍基础知识的学习路线和方法,其它加分项以后再单独写。

计算机网络:

需要掌握的网络协议和知识:HTTP、TCP、IP、ICMP、UDP、DNS、ARP

IP地址、MAC地址、OSI七层模型(或者 TCP/IP 五层模型)

HTTPS安全相关的:数字签名、数字证书、TLS

常见网络攻击:局域网ARP泛洪、DDoS、TCP SYN Flood、XSS等

计网知识比较繁杂,很多同学都反映网络很难学,一大堆的网络协议,依次学完后,还是不知道网络是怎么构成的。

这就是没有用对学习方法,导致只见树木,不见森林。

学习时,推荐你抓住一条主线 「一个数据包是如何发送出去的?」

带着这个问题依次去学应用层、传输层、网络层、链路层,思考这些层之间是如何串联起来的。

这就是自顶向下的思路,那自然要推荐:《计算机网络:自顶向下方法》

由于篇幅限制,只截取了我原文的部分内容,全文和更为详细的学习路线,大家可以去参考我在公众号发的这篇文章,这应该是后台开发最全的学习路线了,不只是推荐资源,更包含了如何看书等万字长文 | 这可能是东半球最保姆级的后台服务器开发学习路线​mp.weixin.qq.com

觉得有用关注@编程指北哟~ 指北不指南!

另外,给大家强烈推荐一份谷歌大神的刷题笔记, 帮助我拿到了腾讯offer,讲解令人醍醐灌顶:编程指北:Github 疯传!史上最强!BAT 大佬「LeetCode刷题手册」电子书开放下载了!​zhuanlan.zhihu.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值