百度面试的一次经历

Walkerhau 2019-03-10

为什么要写一篇关于百度面试的经历,首先不是我去百度面试,我的同事去百度面的试,我同事告诉我百度面试会问到的一些问题,觉得可能对大家有好处,并且自己也不是全都知道,所以做个记录。

QPS

介绍下你参与或主导过的系统里qps峰值/均值、平均、数据量分别如何?

我想这道题目,对于大多数程序员来说,都是不清楚的。

QPS指的是每秒钟请求或者查询的数量,在互联网领域指的是每秒响应请求数(指HTTP请求)

吞吐量:单位时间内处理请求的数量

(总PV*80%) / (6小时秒数*20%) = qps峰值 即80%的请求集中在20%的时间里

分布式

分布式是解决高并发的一个流行的解决方案,具体的体现在比如

  • redis的集群,redis可以搭建多台服务器,每个节点处理一部分key。
  • mysql分布式事务,比如A银行给B银行转账,就涉及到分布式事务,主要是由应用程序、资源管理器、事务管理器组成
  • 搜索引擎es,也是分布式的,一个索引可以设置多个节点

百度面试的一次经历

缓存

http缓存、页面缓存、redis缓存...

  • http缓存可以了解下304相关的知识,比如Etag等
  • 页面缓存,对于一些不是经常更新的页面来说,可以使用页面缓存
  • redis缓存,可以缓存从db查询的数据,缓存有过期时间的数据
  • mongodb缓存,对于页面不是经常更新的,但是查询很复杂的数据,可以缓存到mongodb中

百度面试的一次经历

性能调优

服务器反向代理、LVS负载均衡、mysql主从复制、CDN加速等等...

百度面试的一次经历

mysql优化

  • 索引相关知识 b树和b+树
  • 最左原则
  • 如何解决数据更新丢失的问题 (悲观锁)

百度面试的一次经历

相关推荐