一次学习时,视频的最后讲课老师分享了他的学习路线。觉得很有参考意义,特此记录下来,以激励自己。

工作五年以下,分以下几个水平,其实我觉得可能划分并不明显。

1. 数据结构和算法、设计模式
  1. 最小堆、红黑树、时间轮、b/b+树, 布隆过滤器(redis击穿)
  2. 排序(快排、希尔、归并,堆排序)及时间复杂度和是否稳定
  3. 跳表 redis 中zset的实现手法,通过生成多级的有序列表,达到接近二分查找的速度。空间换时间。
  4. 责任链、过滤器、观察者、代理、单例,工厂等设计模式
2. 中间组件编程
  1. 数据库 redis(请求回应模式,hirides - c driver) mysql(mysqlclient) nginx zeromq(bind, connect, send, recv).
  2. nginx 配置
  3. zeromq
  4. zk (zoomkeeper) (c driver)
3. 网络IO
  1. select poll epoll (边缘触发,水平触发)
  2. 同步,异步
  3. 阻塞, 非阻塞
  4. libevent, libuv
  5. reactor(epoll_wait) proactor(信号 + 回调)
4. linux 系统
  1. iostat uptime
  2. 网络 netstat tcpdump iperf
  3. dd umount
  4. tail mutitail
  5. htop top
  6. vi sed grep awk
  7. shell 脚本
5. 开源框架
  1. 配置 xml json
  2. 脚本 lua
  3. 协议 protobuffer, thrift, messagepack, flatbuffer
  4. 数据压缩 zlib snappy
  5. xxtea, openssl , tls
  6. log4 cpp
  7. nginx, lighttpd
  8. 协程 —> libco --> hock mysqlclient 同步阻塞操作改成同步非阻塞操作
6. 代码工程化
  1. makefile, cmake, autoconf
  2. git, svn
7. 性能测试
  1. gtest, luatest, boost.test
  2. wrk , webbench

对于上述这些,会用这些应用的话,老师说这是初级的水平(啊这,学废了)。下面记一下五年以上的(也不知道自己能不能干到那个时候)

0
  1. 明确方向
  2. 自律
  3. 2-3技术基友
1. 从源码学习
  1. nginx
  2. redis hash 时间轮 string hash
  3. zeromq
  4. skynet
2. 造轮子能力
  1. 中间件,内存池,线程池等
  2. 高并发io的实现 epoll reactor 这些
  3. 网络协议栈的实现
  4. nginx模块
  5. 高并发锁
3. 集群能力
  1. 数据库
  2. nginx
  3. zk
4. linux内核
5. 性能优化
  1. mysql
  2. linux
6. 运维部署 docker
7. 一线架构分析 (同样的功能, 一线大厂怎么实现的)

水文---服务端学习路线(听别人说的,记录以激励自己)相关推荐

  1. linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

    1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动&quo ...

  2. 基于Redisson实现的延时队列RedissonDelayedQueue实现websocket服务端心跳监听

    简介 基于Redis的Redisson分布式延迟队列(Delayed Queue)结构的 RDelayedQueue. Java对象在实现了RQueue接口的基础上提供了向队列按要求延迟添加项目的功能 ...

  3. socket服务端同时监听多个端口号

    package test0531;import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; i ...

  4. 服务端学习笔记(1)

    服务端问题集合 文章目录 服务端问题集合 @[toc] fallback 泛域名 面向对象 面向对象与面向过程的区别 封装 继承 多态 重写 重载 OAuth, OpenID, JWT, Sessio ...

  5. C#GRPC 服务端与客户端通信,故障排除记录

    文章目录 前言 一.问题一解决方法 二.问题二解决方法 前言 第一次建立GRPC服务端,客服端一直通不到服务端: 问题1: One or more errors occurred. (Status(S ...

  6. 服务端和客户端测试连通ip设置记录

    若服务器和客户端在同一台电脑,即为本机测试,则测试都用127.0.0.1 若是服务器和客户端在两台电脑,则需要在同一局域网内,并且ip地址填写本机ip. 若是发布在云端测试,则服务端地址为0.0.0. ...

  7. DSAPI多功能组件编程应用-HTTP监听服务端与客户端

    本文中,演示了使用DSAPI.网络相关.HTTP监听,快速建立服务端和客户端. HTTP监听服务端的作用,是监听指定计算机端口,以实现与IIS相同的解析服务,提供客户端的网页请求,当然,这不仅仅是应用 ...

  8. QT 之 TCP 服务端 连接 多客户端 处理学习

    自学QT中, 在此记录一下TCP多链接的方法. 跟着 "Qt Creator快速入门" 学了一段时间了,刚接触网络编程, 例子中仅仅简单的 用 客户端 连接了一下 服务端, 然后 ...

  9. androidpn的学习研究(一)androidpn-server服务端相关配置的常识

    androidpn的一些基本常识: ANDROIDPN_HOME=C:\android-push\androidpn-server-0.5.0 启动androidpn服务端: %ANDROID_HOM ...

最新文章

  1. 文本框可编辑查看页面
  2. vSphere 6.5 新功能 (1) - 全功能 vCenter S
  3. python pil_使用Python的PIL模块来进行图片对比
  4. php mysql什么意思_php MySQLi是什么意思?
  5. OpenCV使用人脸界标检测进行人脸交换
  6. 装饰器中的@functools.wraps的作用
  7. [剑指offer][JAVA][第62题][约瑟夫环][LinkedList vs ArrayList]
  8. TCP/IP校验和(浅析+实例)
  9. java类里的包路径报错_[ERROR] 致命错误: 在类路径或引导类路径中找不到程序包 java.lang...
  10. 如何在windows下把硬盘格式化成EXT3格式?
  11. Android 屏幕万能自适应(自定义适配)
  12. 【面试】AI算法工程师---面试题!(第二部分:AI部分)
  13. ⑪(面试篇 3/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
  14. STM32 解析 JSON 之 cJSON
  15. 复制链接到剪切板php,剪切复制粘贴
  16. 趣头条爬虫(以财经频道为例)
  17. 软件附带有广告如何消除
  18. 在Proteus 中51单片机常用器件名称和图片
  19. Win7笔记本电脑启用虚拟WIFI共享上网
  20. 【python】百度地图测距

热门文章

  1. aiml的中文适配aiml_cn
  2. AI大军已经兵临城下,我们离失业还有多远?
  3. PV操作与信号灯及例子
  4. Mac安装激活 MATLAB R2018a
  5. RuntimeError: Address already in use 端口号冲突,解决思路总结
  6. word分栏 公式居中对齐 自动编号
  7. 如何规避适配风险?以《乱世王者》为例,探秘手游兼容性测试之路
  8. 信息学奥赛C++编程:苹果和虫子
  9. sybase 珍藏系列之一
  10. Python 负载均衡,数据轮询 hash字符串 hashlib