万物心选一面+二面面经
很久之前面的了,面试形式是电话面试,很多东西都忘了,面试太多可能记混了,大部分应该是对的
一面 11月3日 38分钟
1、搜索项目咋做的,为什么要去做这个项目,搜索功能如何实现,倒排索引是什么,相关度算法?热搜功能如何实现,相关搜索功能如何实现。以图搜图怎么实现的,技术选型?为什么?为什么能做到那么快?。。。
2、leveldb底层,lsm树,基于内存的跳表,boltdb,badgerdb和leveldb区别,聊不了解其他的nosql?比如rocksdb
3、redis相关数据结构,以及各种数据结构能用来做什么
4、平常写代码有没有什么规范?比如数据库这方面-会加字段表明改行数据什么时候增删改的
5、mysql索引,底层是什么,为什么要选用B+树。结合场景问了最左匹配原则,聚簇和非聚簇索引,回表查询,覆盖索引,索引下推
6、好像问了大量数据类型的问题
7、OSI七层模型?TCP三次握手以及四次挥手的详细的全流程。为什么TCP握手需要三次,结合场景说一下。
8、进程,线程,协程的区别。gmp模型。进程间通信方式。
二面 11月9日 50分钟
1、项目深挖,30min左右问的和上面差不多,不过更细一点,问了些协作,收获,难点的东西
2、kafka相关各种问题
3、快照读和当前读?MVCC?
4、好像又问了进程、协程、线程区别,又讲了一遍gmp模型
5、好像问了redis哨兵集群,主从复制,bgsave,cow相关问题
6、一致性hash原理
7、raft相关,还知不知道其他的共识算法?paxos,vr,知不知道它们怎么做的?
8、场景题:
比如说一张图片,它可能包含多种信息,比如地域,物品什么的,那么如何保证用户能搜索到想要的结果?
一张图片,比如说商品信息实际上是衣服,但是里面出现了包,如何保证用户以图搜图时不会因为包搜索到这个商品信息
一个文字可能有不同的释义,比如说小米,那么如果用户输入小米,我们应该怎样去做?
如果用户实际上是要搜索食物类型的小米,我们应该怎么去做
总结
面试体验比较好,待遇也不错,感觉技术氛围也挺好的
拿到实习oc,但是基本同一时间拿到了其他的校招offer就拒了,还是很感谢万物心选给的这个机会
拒了后提出能发校招offer问考不考虑,虽然很心动也非常想去,但是仔细斟酌一下北漂还是太艰苦了,身边有很多觉得能忍但是最终还是回江浙沪的例子,只能忍痛拒绝