怎样准备后端面试?

数据结构和算法

  • 重点内容

    • 数据结构:字符串、栈、队列、二叉树、优先队列、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。

持续更新……

本文由 络壳 原创或整理,转载请注明出处