字节基架一面 (三面结束已offer) 字节基础架构日常实习生面经base上海第一次面试,mark一下 自我介绍。 聊项目:从LSM说起吧。 简要介绍了一下LSM。我主要说了内存里的结构,硬盘上的结构,CRUD各个接口怎么实现的。 跳表原理。 和B树的区别。 这里理解错了面试官的意思,面试官其实想问的是内存里能不能用B树,于是我说完这个之后,他又说了一遍这个问题,而后我说内存里不用考虑磁盘IO用红黑树就行了。 写入会发生几次I/O? 布隆过滤器原理。 range query怎么实现? 说一下编译器这个项目吧。 但面试官不太懂这个,所以主要是我介绍。说了下从前端到后端再到垃圾回收。 你提到了垃圾回收,我们知道C++里面是没有垃圾回收的,那么你能讲讲C++里面是怎么管理内存的吗? 我说我听过智能指针,但没有很多的实践过它。 然后说了说我知道的unique_ptr和shared_ptr。 然后他问那么循环引用问题怎么解决呢? reference count里面讲过,但我忘了,然后他就介绍了一下weak_ptr。 函数嵌套是怎么做的? 看到你也做过前后端开发,那么问问你这方面问题吧? 从此进入八股。。。我就开始懵逼。。。 讲一讲关系型数据库的几个特性吧。。。 这个我说我没有系统学过数据库,要不你给点提示,然后他说算了。。。 讲一讲浏览器敲入www.github.com会发生什么吧。。。 讲了讲dns,然后到网络协议栈我就开始支支吾吾。。。 讲一讲TCP/IP网络结构吧。。。 讲一讲OSI七层网络结构吧。。。 看你用过linux,讲讲linux里进程和线程的区别吧。(可能是唯一一个知道的。。。) 诶,真就不该写哪些开发的东西。。。 开始做题 翻转dns:www.bytedance.com => com.bytedance.www 剑指offer原题,但我没刷到。。。剑指 Offer 58 - I. 翻转单词顺序 当我敲出string original_dns, reversed_dns;,他就说原地翻转哦。 然后我思考了一会儿,并不知道怎么搞。那他说你先实现个不原地翻转的也行吧。 然后搞了个stack解决了。 然后说我给你点提示吧,你想想整个字符串是怎么翻转的,然后我说头尾双指针向中间走,但我的思路一直卡在头尾遍历,然后碰到一个.就交换,所以到最后也没做出来(感觉是凉的首要原因) 正确做法:全部翻转,再顺序遍历一遍,碰到.就把前面的那一小串翻转。 这没做过谁想得到啊。。。 反问阶段: 你们做什么? 写块存储。你可以理解为虚拟硬盘。  技术栈? C++,然后后台那些其他的东西用Go。  我面试表现怎么样? 题目做的有点少。。。 那些八股知识也要了解,对业务还是有帮助的。。。   以为凉了,没想到今天邮件约二面,二面不能再这么拉了。
点赞 7
评论 7
全部评论

相关推荐

07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务