字节后端日常实习一二三面面经

一面(40分钟)

1,自我介绍,主要介绍了一下一个go写的基础项目,强调了一下高并发环境下数据库/消息队列/微服务在里面的作用,后面基本都是围绕这个项目来提问的。

2,你提到了高并发,那么对于高并发环境下数据库的优化都有哪些(说了缓存/分库分表/悲观锁乐观锁和队列)

3,说说乐观锁和悲观锁的区别

4,如果我现在做一个电商下单,比如说抢购的情景,你会用什么方法实现数据库(说了乐观锁,面试官反问乐观锁合适么,我陷入思考)

5,面试官又说,比如现在有两个场景,一个是只有一件商品,有比如十万个人抢购;另一个场景是有一千个商品,还是有十万个人抢购。你都会怎么设计策略。(思考了一会,如果一件商品直接乐观锁,适用于读多写少的场景,如果一千件商品就用一个队列强行把请求变成单线程,只放一千个请求过去,其他全部返回抢购失败)

6,开始问消息队列,有什么作用(异步解耦,说了一个例子)

7,如果使用消息队列怎么解决返回消息同步性的问题(有点记不清了,这个问题想了有点久,和面试官讨论了很久,因为不知道答案说了消息队列的原理/回调,但是感觉都不是正解,后面面试官就跳过这个问题了,后面复盘感觉是在问一致性和分布式事务相关的问题,可惜当时没了解到。)

8,redis为什么快(基于内存/单线程/key-value而不是传统的关系型数据库)

9,还有其他的原因么(介绍基于事件的reactor模型,加上I/O部分的多线程模型)

10,代码题,中等题53.最大子数组和,动态规划非常简单,七行代码就写完了,写完之后面试官又问了一些代码上的优化问题,动态规划的递推思想,以及极端情况有没有考虑。

11,能不能马上入职,能实习多久。

12,反问

第二天约了二面。

二面(40分钟)

1,自我介绍

2,又开始聊这个项目,还是数据库...

3,数据库的锁都有什么类型

4,介绍一下行级锁和表级锁

5,举一个使用表级锁的场景例子(有点想不起来了,强答了一个行级锁失效的场景会使用表级锁,面试官有点无语了估计)

6,给了一道sql题,应该很简单,大概就是通过一个没有索引的非主键列去找一条数据并更新,但是我好久没写了,直接说不会...

7,面试官质疑那你的项目里面总会有写sql语句的吧,怎么完全不会了,那你知道更新的关键字是什么么(update

8,那先不用写了,你说一下这道题的过程里面,加锁的流程(回答如果没有索引需要先加表锁检索where条件,然后在更新时在索引上加行级锁然后更新)

9,TCP和UDP的区别(终于不问数据库了)

10,TCP握手和挥手,挥手中TIME_WAIT和CLOSE_WAIT分别在哪个阶段(CLOSE_WAIT答错了)

11,给老师和同学设计一个校园交易系统(情景题,一开始畏畏缩缩地说,后面直接放飞自我了,感觉又把我的项目说了一遍...,面试官说你应该先考虑基础地设计再说架构,比如定义什么什么对象,赶快承认不足)

12,面试官推荐了几本书结束了

二面在周五,周一约的三面在下周,部门年底很忙。

三面(35分钟)

1,自我介绍

2,然后开始闲聊,聊目前的研究方向,看你本科和现在都是在安全的实验室,那你对安全这个方向有什么想法,你觉得做安全有什么普遍意义,现在我们也有一些做安全的小部门,实习的话有自己想做的方向么;又聊论文的思想,你论文提出的这个方案的目的是什么,别人提出的方案又是使用什么思想,你的方案对比别人有什么优势。

3,又开始聊数据库了...

4,redis的RDB持久化指令BGSAVE操作是fork一个子进程进行持久化的,为什么不创建一个子线程完成持久化。(不会)

5,mysql的事务隔离级别(RR)

6,又给了一个MYSQL的情景,大约是一列主键a,一列b,一列c,通过b读出五行c的数据需要进行几次磁盘IO(被自己蠢哭,说了回表,说了B+树聚簇索引最后说一次IO......有点太紧张了。

7,问了操作系统的用户态和内核态,有什么区别

8,除了IO操作什么时候会访问内核态。

9,代码题另一棵树的子结构,太像另一棵树的子树了,所以我说了子树哈希和暴力法,面试官提醒使用子树哈希真的可以么,不管是前序还是中序都不能转换为子串匹配,思考了一会,用暴力法开始做,面试官说先写出主要结构就行,不用急于创建测试用例。所以就写了一个递归的子树对比cmp函数,然后又写了一个递归的遍历。

10,反问,只能问一个问题,不知道是表现不佳还是太忙了......

总结

基本全是基于项目的问题,数据库相关的问题占60%以上,第一面发挥比较好,二三面很多问题都是紧张到脑子有点乱了然后答错,经验还是欠缺。不过字节的面试官都比较热情,面试氛围还是很积极的。 

年底部门非常忙,每一面基本都不超过40分钟,第三面完两天还没有结果,孩子心都凉了,问了HR说流程可能拖到年后了......感觉可能是有竞争者还没有面完,这下死了的心又悬着了,只能等年后了。

总体来说个人被问到的最多的就是数据库,MYSQL占80%,同时算法题也很重要。

—————————————————————

2月6日更新

打电话通知三面通过了,约了hr面,过完年的第一个好消息,希望能顺利通过hr面吧,后面我会把hr面和结果都更新上来的。

—————————————————————

2月27日更新

终于oc了,一月初开始的面试流程,到现在已经接近两个月了,当日常实习去面试的,结果变成了暑期实习。

总得来说面试本身没问题,但是流程太长,期间一度以为已经被挂了。

全部评论
这也太难了吧
4 回复 分享
发布于 01-27 17:24 湖北
HR面: 1.职业规划 2.有没有投其他公司 3.说说你觉得自己做的最成功的一个项目 4.你平常是怎么做项目的 5.反问
2 回复 分享
发布于 02-07 19:32 上海
晕了,好难
2 回复 分享
发布于 01-25 00:11 四川
三面 6:这里b上有覆盖索引吗如果没有覆盖索引,那么查询时会先根据b查索引获得对应主键(这一步只读取一个索引页),之后再根据主键去聚簇索引中查找记录,这样如果五条记录分布在不同数据页上,就需要5次磁盘IO。因此,总共需要 1 + 5 = 6次 磁盘IO。不知道对不对
点赞 回复 分享
发布于 03-27 09:32 湖北
字节实习怎么样?给的权限能学到东西吗
点赞 回复 分享
发布于 03-23 17:29 北京
mark好难啊
点赞 回复 分享
发布于 03-02 09:34 上海
看看我们,有岗位在招
点赞 回复 分享
发布于 02-28 12:30 上海
佬OC了吗
点赞 回复 分享
发布于 02-23 22:41 重庆
过了吗
点赞 回复 分享
发布于 02-12 15:32 重庆
佬太强了,同是研一想去字节,真没想到日常实习都问这么难。看来只能再做打算了
点赞 回复 分享
发布于 02-09 20:01 上海
有背调么老哥
点赞 回复 分享
发布于 02-09 01:25 北京
佬有消息了嘛
点赞 回复 分享
发布于 02-05 23:32 浙江
佬有结果了吗
点赞 回复 分享
发布于 02-02 21:08 安徽
佬是官网投的么
点赞 回复 分享
发布于 02-02 12:55 山西
哪个部门,想面面看
点赞 回复 分享
发布于 01-31 03:12 重庆
能问问在字节投递官网上进度显示是“面试已完成”吗
点赞 回复 分享
发布于 01-27 23:03 福建
好难
点赞 回复 分享
发布于 01-26 12:20 广西

相关推荐

评论
51
218
分享

创作者周榜

更多
牛客网
牛客企业服务