还愿offer,shopee虾皮北京后端社招面经

背景:双非本,21届,之前在字节某业务架构部门做api网关

岗位是北京机器学习部门下的特征存储引擎开发(投了一圈只有这个过了简历),校招的时候跟着群大佬混了点课程lab,无存储经历


自我介绍

讲一个工作的项目

讲自己的项目(PingCAP Talent Plan TinyKV)

单机存储是什么(badger)

基于什么数据结构的(LSM)

相比最原始的LevelDB做了什么优化(wisckey论文,key-value拆分)

为什么value可以无序(SSD特性)

为什么SSD随机读写比磁盘快

讲讲LSM的写入,会碰到哪些组件(就是讲MemTable,SSTable结构,compact之类的)

了解Level0的SST有什么特别的吗(level0不compact,当时没答出来并且不理解)

Raft的读流程,怎么确定哪个成员可读(每次向leader询问/租约)

2PC的缺点,说一个解决办法(协调者单点,阻塞,一致性)

还知道别的分布式事务吗(没研究过。。

知道什么Linux性能分析相关的命令(说了个top

top那几个指标什么意思(果然。。一个都不记得,然后面试官一个个给我讲解

硬中断和软中断有什么区别(答得不好

为啥刚毕业半年看机会

写题,n*n的01矩阵,选连续r行,连续c列覆盖这些点,求min(r+c)

反问

评价一下Shopee的基建、技术发展

为什么做专用的存储,特征存储和通用存储的区别

是在推荐部门下吗


二面

问项目

so怎么运行的(妈的不知道啊)

跟C++的动态库有什么区别(C++动态库我也不知道啊)

如果一个动态库特别大要怎么执行起来(啥啊不知道啊)

知道mmap吗(好吧。。。)

怎么直接在Go里面调用C++代码(我说CGO)

你对CGO知道多少(知道个名字)

协程主要在网络连接的哪个阶段发挥优势(没答好)

你现在知道为啥Level0不compact了吗(梦 幻 联 动)

写题,有一个很大的csv文件,格式是<key1><content>\n<key2><content>\n

key是递增的int,给一行文本找到插入的位置

没get到面试官想问的文件操作的点在哪,面试官就说算了,当做内存中的string处理,写个魔改二分

反问

刚刚文件操作的点在哪


offer审核等了一个星期,卡了30涨幅,但是半年这个数还比较满意


欢迎在虾皮,正在面虾皮和将来有兴趣面虾皮的大佬私戳交流

#面试复盘##面试题目##Shopee#
全部评论
半年为啥跳了啊。。字节裁员了吗
点赞 回复 分享
发布于 2022-01-20 09:20
欢迎加入shopee
点赞 回复 分享
发布于 2022-01-20 11:04
大佬,矩阵求 min(r+c) 怎么做
点赞 回复 分享
发布于 2022-01-20 14:56
楼主tql,是计科科班嘛?😭😭
点赞 回复 分享
发布于 2022-01-20 23:16
一共就两面吗兄弟?明天是社招二面,同工作半年要跳
点赞 回复 分享
发布于 2022-01-25 17:21
楼主是上海shopee吗,同是社招(一年半经验)安排了技术三面是咋回事
点赞 回复 分享
发布于 2022-02-07 16:40
请问北京虾皮这个特征存储组工作氛围怎么样,加班严重吗
点赞 回复 分享
发布于 2022-02-10 20:00
大佬请问Pingcap tinykv做完lab用了多久时间呢?
点赞 回复 分享
发布于 2022-02-13 23:39
同21届跑路进虾皮,请问你这个涨幅的总包基数,把字节房补算进去了吗
点赞 回复 分享
发布于 2022-02-17 16:59
原来这些都是项目的经验嘛 吓死我了我咋一个也看不懂😣
点赞 回复 分享
发布于 2022-02-22 16:23
需要背调吗
点赞 回复 分享
发布于 2022-03-06 18:51
协程主要在网络连接的哪个阶段发挥优势,这是啥意思
点赞 回复 分享
发布于 2022-03-10 23:46
hr面你给的base预期涨幅是多少呀
点赞 回复 分享
发布于 2022-03-31 16:35

相关推荐

1.&nbsp;this指针是什么?它有什么作用?2.&nbsp;const成员函数有什么特点?如何使用?3.&nbsp;如何实现一个简单的动态数组?4.&nbsp;enum和enum&nbsp;class有什么区别?5.&nbsp;nullptr是什么?它与NULL有何不同?6.&nbsp;如何处理内存泄漏?请给出几种方法。7.&nbsp;解释一下数据库的ACID特性。8.&nbsp;什么是死锁?如何避免死锁?9.&nbsp;解释一下链表和数组的区别。10.&nbsp;什么是哈希表?它的优缺点是什么?11.&nbsp;如何使用SQL进行数据查询?请给出示例。12.&nbsp;什么是索引?它如何提高数据库查询性能?13.&nbsp;解释一下进程和线程的区别。14.&nbsp;什么是操作系统的中断机制?15.&nbsp;解释一下二叉树的遍历方式。16.&nbsp;如何实现一个简单的栈?17.&nbsp;什么是数据库范式?请简要说明第一范式和第二范式。18.&nbsp;解释一下内存管理中的堆和栈的区别。19.&nbsp;什么是SQL注入?如何防止它?20.&nbsp;解释一下快速排序和归并排序的基本原理。21.&nbsp;什么是视图(View)?它有什么用?22.&nbsp;如何使用std::vector实现动态数组?23.&nbsp;什么是事务?如何实现事务的提交和回滚?24.&nbsp;解释一下操作系统中的调度算法。25.&nbsp;如何实现一个简单的图结构?26.&nbsp;什么是外键?它的作用是什么?27.&nbsp;解释一下深度优先搜索和广度优先搜索的区别。28.&nbsp;什么是存储过程?它有什么优缺点?29.&nbsp;如何处理数据库中的并发访问?30.&nbsp;解释一下LRU缓存算法的基本原理。我面试看的是大佬的面经,链接放下边了&nbsp;&nbsp;c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
11-08 00:36
门头沟学院 Java
点赞 评论 收藏
分享
11 56 评论
分享
牛客网
牛客企业服务