字节跳动 国际化电商 一二三面面经

本来想着等oc了后再开始写面经,不过开始写的时候已经忘的差不多了🤣,这里就主要记一下我印象比较深刻的题目
一面 8.20
上来先问了一下实习的项目
然后基本上是一些普通的八股文
像是https原理
http1.0 1.1 2.0之类的
数据库上问了下数据库的四种隔离级别和脏读、不可重复读、幻读等
然后问了下数据库索引、锁的种类、mvcc之类的东西
还让写了个sql语句,不过很久没写过sql了,没写上来
操作系统记不太清了,好像没问很多操作系统方面的东西,
只记得问过一个中断处理程序的过程和信号捕获函数
——————————————————————————
突然想起来了一点更新一下
五种io模型,nio,bio,异步io

然后就让写了个区间合并的算法题
就是[1,3],[2,4],[5,6],[6,8]合并成[1,4],[5,8]这样的题目

最后的出的智力题比较有意思
岛上有一百只老虎,一只羊,老虎绝对理性,老虎吃了羊后会变成羊,老虎很想吃羊,老虎知道当前有多少只老虎,那么老虎会把当前这只羊吃掉吗?
这是一道比较偏向博弈论的题目,当时虽然说对了,但是思考过程有点问题。
先考虑一只老虎和羊的情况,老虎吃了羊后不会被吃,所以老虎会吃掉羊
两只老虎时,老虎吃了羊后会变成羊,这是就转化成了一只老虎一只羊的情况,羊会被吃,考虑到这一点,所以两只老虎都不会去吃羊
以此类推,当有三只老虎时,老虎吃了羊,就转化成了两只老虎时的情况,这时候老虎变的羊不会被吃,因此在这种情况下羊会被吃掉
。。。
所以可以得出,当老虎数量为奇数时,羊不会被吃,当老虎数量为偶数时,羊会被吃掉

二面 8.26
不知道为什么,这一面的记忆比一面更加模糊,虽然面了一个小时,但基本什么都记不得了
上来先问了下简历上的项目,聊天服务器,提到多线程时,给我出了道多线程的题目

A线程执行foo函数打印foo,B线程执行bar函数打印bar,使用线程同步设施,使得A线程和B线程交错执行,打印N次foobar
我是采用条件变量的方式来实现的
面试官让执行一下,但c++使用线程编译时需要-pthread参数,牛客的编译器无法自定义参数,于是作罢

之后好像又问了些关于redis数据结构之类的东西像是跳表之类的,由此引申到map的实现上,然后问了二叉搜索树单点查询和范围查询的过程

。。。
想不起来了

算法题:
给出一个未排序的数组,要求在O(n)的复杂度下找出最长连续数字序列长度
例如:nums = [0,3,7,2,5,8,4,6,0,1],那么最长序列为0 1 2 3 4 5 6 7 8,长度为9
写的有点复杂,面试官让在我的算法核心循环里加了个全局变量count来统计循环次数,发现有个地方忘了优化,最坏情况下会出现O(n^2)的复杂度,优化后到了O(n),不过空间复杂度也是O(n)

三面 9.2
这一面问的东西很少,导致我更想不起来问了什么了
主要就是问了我聊天服务器的具体实现,但问了什么记不太清了

最后写了道算法题目
好像是接雨水的变种,面试间还在,就直接复制过来了

有一批隔板,其高度用数组表示,相邻两隔板之间距离均为1,隔板本身不占体积,问下了足够多的雨之后,隔板中最多能蓄多少水?
输入:[3,2,5,4,6,2]    输出: 18
解释:
3和5之间蓄水 3x2 = 6
5和6之间蓄水 5x2 = 10
6和2之间蓄水 2x1  = 2
图示:
|
| #   # |
| # | # |
| #   # | # | # |
| # | # | # | # | # |
| # | # | # | # | # |

没用一些空间复杂度O(1)的做法,就用了空间复杂度O(n)的方法,前缀后缀,最后求出结果
#字节跳动##面经#
全部评论
楼主base哪的
点赞 回复 分享
发布于 2021-09-10 00:40
又是这道题,出现频率也太高了
点赞 回复 分享
发布于 2021-09-10 10:00
求助下这道题解法啊,楼主
点赞 回复 分享
发布于 2021-09-10 23:01
老哥 3面过后多久知道自己过了的
点赞 回复 分享
发布于 2021-11-02 22:52

相关推荐

3 55 评论
分享
牛客网
牛客企业服务