首页 > 百度搜索架构后端开发提前批一,二,三面面经
头像
牛客826088165号
编辑于 2021-08-05 11:42
+ 关注

百度搜索架构后端开发提前批一,二,三面面经

一面 (1h15min)

上来先手撕算法:
1. 只包含012数字的数组,进行排序
2. 层序遍历二叉树
3. 求数组所有子集

之前实习有涉及到分布式计算和存储的开发,深挖项目(20min):
前后端如何交互 (rpc和http区别)
为什么用redis,mongodb做缓存,为什么用etcd做分布式同步
数据量过大怎么办(缓存,持久化,上云)

八股文:
hadoop,hdfs,map reduce原理,数据怎么备份,文件结构,reducer怎么和mapper交流
k8s架构,ingress,operator,和docker的区别
redis介绍,如何持久化,rdb aof区别,主从复制,怎么同步数据(全量,增量),怎么选举主节点(sentinel)
mongodb介绍,和redis区别
parameter server的原理
还知道其他的主从复制结构吗 (不知道了。。。)
sql索引原理,为什么用B+树
sql主从复制,怎么同步数据 (binlog线程,i/o线程,sql线程)
tcp三次握手四次挥手
linux I/O,非阻塞阻塞,同步异步区别
mss(最大分段大小)和mtu(最大传输单元)分别是什么,如果mtu小于mss会有什么问题
rpc原理

二面 (1h)

继续深挖之前实习:
mongodb和redis区别,如何持久化
k8s是怎么本地挂载的,什么是持久卷
数据怎么上传到云
qps过大怎么解决的,怎么优化的数据库(分表,加索引)

redis基本类型(string, zset, hash那些)
zset怎么实现的,跳表原理能说下吗,效率为什么能提高
hash原理,如何判断需要rehash,如何判断桶内拉链过长,如何解决(红黑树)
红黑树原理,和B+树,AVL树区别
java里有能变化长度的数组吗(arraylist),怎么扩容,扩容后旧数据怎么办(调用C里的垃圾回收命令)
数据库隔离级别,mvcc原理,next-key lock原理
redis分布式锁,redlock算法
了解raft吗
讲下一致性hash
进程线程协程区别,golang里GMP原理

手撕代码:
计算网站日活量,分发量

反问:
面试官介绍了下部门业务,问了我什么时候能来,建议我如果来的话先熟悉下C++(我C++会的不是很多😥

三面 (50min)

看了之前的面经,好像三面问技术的不多,但我被问了好多技术。。

一开始先闲聊:
为什么选择出国,国外和国内的差别
之前印象最深刻的项目
实习时印象最深的事(讲了下如何处理上线失败的事),失败后如何回滚的,之后有修复并重新上线成功吗
怎么和同事合作的

技术 :
二维数组按行查询效率高还是按列查询效率高,为什么(行在内存里存储时连续的)
64匹马,8个赛道,最少需要比赛多少次才能选出跑的最快的4匹马
如果用微服务架构设计微博系统,怎么设计,需要哪些组件,如何处理高并发
给定场景:用户在微博上发了一个post后,怎么保证所有关注他的用户收到推送,中间经历了什么,数据库怎么设计
(问麻了。。。🤨

反问:
问了下反馈,面试官说还不错,之后会给我发测评,加了wx

更多模拟面试

全部评论

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

推荐话题

相关热帖

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

近期精华帖

热门推荐