首页 > bigo sre 面经
头像
来个offer怎么了
编辑于 2020-06-16 11:29
+ 关注

bigo sre 面经

牛客bigo面经不多的样子,贡献一篇,顺便许愿下一面。

bigo SRE工程师 2020.6.15

一面:55min,电话面。

1、说下对sre的了解

2、redis,如何保持缓存和数据库的一致性

  • 更新数据库,然后删除缓存

3、事务,是指mysql的事务,还是指更新完数据库,然后删除缓存,这整个事务

  • 回答数据库的事务

4、如果更新成功,删除失败了怎么办?数据库的事务要不要回滚?

  • 回答要,要保持数据的一致性。

5、继续这个逻辑,如果缓存挂了,那么所有写入都将失败?所有数据库数据都将回滚,这时该怎么办?

  • 回答,redis的高可用。主从+哨兵。回答了哨兵要启动3个结果,给自己挖了坑。

6、哨兵为什么需要3个?

7、处理redis高可用,还有什么机制能够保护数据库?

  • 回答,熔断机制。

8、那个地方做熔断机制?

  • 回答,类似服务网关的地方做熔断机制,请求先到达网关,判断是否触发熔断机制,再决定是否将请求转个后端服务。

9、如果有三个接口,重要程度A>B>C,这时C接口可能bug了或者被攻击了,会触发熔断机制。走服务降级,导致AB也无法提供服务了,这时该怎么办?

  • 回答,给每个接口设置一个熔断值。too naive。

10、如果我要添加很多接口,或者删除接口,岂不是很麻烦?

11、就算redis主从+哨兵了,如果主节点挂了,主从进行切换,切换个1 2min是很正常的,这1 2min你的系统该怎么办呢?

12、为什么不先删除缓存,再更新数据库

  • 容易形成脏数据。

13、AB两个client,A先更新数据库,正准备更新缓存,但是网络延迟了。这是B也更新完数据库了,并且更新好了缓存。这时A网络正常了,它要来更新缓存了,但是这时A的数据是旧的了。这种情况该如何解决?

  • 加锁,会影响性能。
  • 给数据加个类似版本号的东西,比如时间戳,本质是乐观锁。

14、从哪里获取时间戳?不同应用服务器的时间是不一样的?

  • 从数据库服务器获取时间戳

15、linux有哪些目录,作用是什么?

  • 答了几个而已。

16、怎么查看CPU的使用率

  • top

17、CPU的使用率有多种,讲下

18、多核CPU,随便启动一个进程,系统会分配那个CPU给它?

19、tcp四次挥手,第三次丢了怎么办?两边的状态分别是什么?

  • 超时重传呗

20、项目

反问:

1、哪方面是需要加强的

  • 面试官:redis缓存那块,你应该是看过一些文章而已吧,可能没自己动手搭建过,balabala
  • 我内心:是的呢,我简历写的是“了解redis常用的数据结构以及使用场景”,您问了一堆系统结构,我天

2、从事sre需要补充那些方面的知识。

二面:39min,牛客面

没录音,记不太清了

1、docker四种网络模式

2、docker底层原理

3、链表和二叉树的优缺点

4、七层网络模型,每层的作用

5、项目

请教个问题:"了解"这个词,是我理解有偏差吗?

求大佬推荐系统架构书籍

秋招提前批开始了,而我还在面试实习,渣油

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐