数据结构和算法
- 重点内容
- 数据结构:字符串、栈、队列、二叉树、优先队列、hash表(Redis怎么用的)、B+树(数据库索引)
- 算法:基本的几种排序、DFS、BFS、基本的动态规划、基本的图算法
如果不是专门的算法工程师,消化好这些内容就够了。真的要手撕红黑树,那就有点夸张了。
- 参考书籍
- 《程序员面试金典-CC150》
- 《剑指offer》
- 《编程之美》
- 《程序员算法面试指南》
- 《算法》
- 《编程珠玑》
- 刷题网站
- LeetCode
- LintCode
- 牛客网
计算机网络
- 重点内容
- HTTP/HTTPS 请求过程、HTTPS过程,怎么保障安全
- TCP/IP:三四握手、四次挥手、滑动窗口、拥塞控制、慢启动
- DNS怎么工作的?
- 进阶:异步IO,
epoll
怎么工作?水平触发、边缘触发咋回事?
- 参考书籍
- 《HTTP权威指南》
- 《图解TCP/IP》
操作系统
- 重点内容
- 线程 vs 进程
- 线程、进程如何调度、调度算法、如何通信、Linux nice值
- 内存管理,swap,页面替换
- 文件系统基础,inode
- Linux基础,常用命令top ps iostat dig ping
- 推荐书籍
- 《深入理解计算机系统》
- 《现代操作系统》
- 《鸟哥的Linux私房菜》
数据库
- 重点内容
- MySQL基础:索引、事务、ACID原理、存储引擎、InnoDB的特点
- MySQL如何优化?硬件方面、软件方面:分库、分表;主从分离
- 最近比较火的TiDB,可以了解一下
- 参考书籍
- 《MySQL技术内幕》
- 《高性能MySQL》
- ORM
- Java掌握MyBatis
- Python掌握SQLAlchemy or Django ORM
缓存服务
- 重点内容
- Redis 有哪些数据结构、特点及通途
- Memcached
- 参考书籍
- 《Redis设计与实现》- 黄健宏
服务器
- 重点内容
- LVS 负载均衡
- Nginx 负载均衡,正向代理,反向代理,静态文件服务
- 参考书籍
- 《深入理解Nginx》- 陶辉
消息队列
- 重点内容
- RabbitMQ
- ActiveMQ
- Kafka
- Celery,Python开发用的比较多
- 参考书籍
- 《Kafka权威指南》
系统设计
- 重点内容
- 如何设计一个秒杀系统?
- 如何设计一个跨区域的、分布式的、安全的登陆系统?
- 如何设计一个支付系统?
- 微信红包让你来做,你怎么设计?
- 滴滴打车优惠券怎么设计?
- 参考书籍
- 《大型网站技术架构》- 李智慧
- 《构建高性能Web站点》- 郭欣
编程语言
一般面后端,也不会特别拘泥于编程语言。算法和系统设计能力不错就行,语言熟悉个一两周就能上手。
- 以Java语言为例,常问下面的内容:
- Java基础:HashMap、ConcurrentMap等类库的特性
- Java进阶:并发编程、反射、AOP
- Spring框架的相关内容
- 参考书籍
- 《Java编程思想》
- 《深入理解Java虚拟机》- 周志明
- 《Java性能权威指南》
- 《Java并发编程的艺术》- 方腾飞,等
- 《Effective Java》
软件工程
- 重点内容
- 平时在工作中注意编码习惯、多了解一些最佳实践(Best Practice)。
- 总结在项目中用到的软件工程思想。
- 推荐书籍
- 《重构》
- 《Clean Code》
- 《设计模式》or《设计模式之禅》or《大话设计模式》
- 《代码大全》
- 《程序员思维修炼》
大数据(了解)
- 重点内容
- Hadoop生态、Spark、Flink等,程序员进阶的方向
HDFS
大数据分布式存储HBase
分布式列存储,区别于关系型数据库- 用Hive分析数据
- Zookeeper服务注册/发现,分布式锁
- 推荐书籍
- 《Hadoop权威指南》
- 《HBase权威指南》
云计算(了解)
- 重点内容
- 容器:K8S,Memos,Docker,目前看起来K8S+Docker大局已定
- 虚拟化:KVM,OpenStack
- 公有云:AWS,阿里云,Azure;国内阿里云一家独大,国外AWS。
持续更新……
原文地址:https://www.cnblogs.com/EarlyBridVic/p/12046559.html
时间: 2024-10-07 05:56:59