字节基础架构日常实习一面面经

字节基架一面 (三面结束已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解决了。

然后说我给你点提示吧,你想想整个字符串是怎么翻转的,然后我说头尾双指针向中间走,但我的思路一直卡在头尾遍历,然后碰到一个.就交换,所以到最后也没做出来(感觉是凉的首要原因)

正确做法:全部翻转,再顺序遍历一遍,碰到.就把前面的那一小串翻转。

这没做过谁想得到啊。。。

反问阶段:

  1. 你们做什么?

    写块存储。你可以理解为虚拟硬盘。

  2. 技术栈?

    C++,然后后台那些其他的东西用Go。

  3. 我面试表现怎么样?

    题目做的有点少。。。

    那些八股知识也要了解,对业务还是有帮助的。。。

以为凉了,没想到今天邮件约二面,二面不能再这么拉了。

#字节跳动##基础架构工程师##实习#
全部评论
这就是2022好时候吗
点赞 回复 分享
发布于 02-20 22:09 湖北
range Index怎么说的,这个我记得不错是解决范围查询,但是之前被面我说的是wiscKey中的平行随机查询实现的
点赞 回复 分享
发布于 2022-08-23 09:32 北京
想问问有LSM树的那个项目是什么
点赞 回复 分享
发布于 2022-04-21 22:52
老哥科班吗
点赞 回复 分享
发布于 2022-03-22 17:00
剩余的面经可以看看我的github repo哈 https://github.com/WindowsXp-Beta/interview-records/tree/main/2022%E6%9A%91%E6%9C%9F%E5%AE%9E%E4%B9%A0
点赞 回复 分享
发布于 2022-03-17 23:43
后续如何
点赞 回复 分享
发布于 2022-03-15 08:37
算法很简单的
点赞 回复 分享
发布于 2022-02-21 17:10

相关推荐

09-11 19:58
门头沟学院 Java
项目拷打 1.谈谈对整个rpc远程调用的一些理解2.rpc框架的缓存层的更新策略和过期逻辑是怎么样的?(过期机制没有实现(踩雷))3.zookeeper回调失败了怎么办呢?(没有考虑到)4.你有了解过zookeeper大概能抗多少qps(不知道,就随便猜了个数比如1万)5.你还了解其他的一些服务发现的中间件它们的管理服务注册与发现的一些方法吗(简单说了nacos的轮询)6.说一下不同序列化协议的一些差别,以及为什么一个rpc框架为什么要那么多的序列化协议7.继续第6题,那么我们线上技术选型的时候该怎么去选这些序列化协议8.你本地缓存里的缓存数据是什么格式的(面试官补充:你存的这个value是通过json序列化缓存到本地的,还是对象本身缓存到本地的,还是通过一些压缩方式)9.假如说如果通过不同的序列化格式缓存到本地的话,他们的区别是什么(面试官补充除了这个还有什么深层次的区别以及应用上考虑的因素)?(这里我答的太唐了,直接说内容是不一样的)10.对微服务的理解你能谈一谈吗?11.既然微服务那么好,为什么还会有单体架构设计的存在呢(从软件体系结构上来讲)?(此处懵逼,我直接说易于开发,性价比高)12.微服务的一些劣势是什么呢及它的一些痛点?(从我的角度出发)13.我看你项目中聊到负载均衡,你能讲讲在计算机网络中(4层模型和7层模型的在负载均衡的区别或者应用上的区别)?### 八股拷打jvm调优你有什么思路吗 ?启动jvm的时候,可以指定一些jvm参数,那你怎么设置呢?OOM(内存溢出)有那些常见的场景呢?以及分别的解决方案大概是怎么样子?线上发生OOM,你有什么排查思路么?你能说说G1垃圾回收器的工作原理吗?java语言,如何判断两个对象相等呢?了解深拷贝和浅拷贝吗,如何实现深拷贝?http中post请求和get请求有什么区别?get请求用于更新数据能更新吗?如果可以为什么要用post呢?get请求可以携带body吗?http的状态码都有哪些?http和https的区别是什么?redis有哪些常见的数据结构?zset的底层数据结构是什么?跳表和哈希表的区别是什么?跳表执行插入和删除操作,哈希表执行插入和删除操作,底层是怎么做的?------------------------------------------------------------------------------手撕算法(两题都做不出来)leetcode 402. 移掉 K 位数字(原题改了一点存在前导零的情况但是不计数删除次数)leetcode 162. 寻找峰值(不可以使用暴力)-------------------------------------------------------------------------------//总结自己对项目的理解还不够,算法刚开始刷,基础不行,还需要继续努力
查看29道真题和解析
点赞 评论 收藏
分享
评论
7
67
分享

创作者周榜

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