字节跳动 一二三面 已offer
一面
先问了问项目,tcp之类;
做了两个题:
- 接雨水
- [0,0,1,1,1,0,1,0] k = 3 ,k代表可以把k个0换为1,求最长的连续1的size(哇,真的紧张到脑子一团浆糊,来来回回 改了好久,还有小bug)
然后就到了事故现场,问数据库的相关的东西:
- 第一翻车现场:数据库的索引,联合索引。。。gg
- 第二翻车现场:数据库的隔离级别忘了。。。,数据库加锁怎么操作,我是真的对数据库不太了解,只会一些sql语句和基本原理什么的,也gg,感觉面试官已经给我提示了很多了,可惜我是真的不会,最后只好gg。
二面
我不知道字节是连续面,一面完后已经心灰意冷,突然电脑又响铃,第二个面试官见面,我还以为还是第一个面试官,闹了乌龙。。
两个面试官都提到我的项目经验太少,做题:
out_days = [1,2,4,6,8,12,56,145,235]
prices= [2,7,18]
1, 7,30
int min_prices(int[] out_days, int[] prices)
out_days是一年365天中出行的日子,prices是1、7、30日内的套票,求最小价格和(例如[1,2,4]是2+2+2=6,[1,2,4,6] = 7>2+2+2+2)。
动态规划做就可以了,开个数组[365],出行为1,否则为0,d[i] = min(d[i-1]+2,d[i-7]+7,d[i-30]+18)第二个题LRU:链表+哈希
之后也问了我数据库方面的了解情况,然后说要和三面面试官商量一下。。。。。。
我心里是真的慌。。。
三面
三面简直旋风无敌爆炸gg,上来问我的项目,还比较正常。
然后问了C++的STL里:vector,list,map,deque,queue,stack的底层实现,没能答全,面试官让下去仔细看看(哭泣)
出了一道数据结构的设计题:一个链表,实现lpush,lpop,rpush,rpop,index(),要求O(1),没想出来最终答案。。。面试官让下去自己想想,说可以看看redis的list实现。
问线程安全的hashmap怎么做,整个加锁、每条加速粒度都不合适,然后我就不知道了。。。我感觉面试官也无语了。。
最后一道编程,求树的最大路径和,这个路径类似图的路径(不能分叉),我已经被刚刚的问题打击成了傻子,看着题半天脑子不动,最后还好想出来了,代码也基本写出来。
三面整个过程持续了40min左右,面试官最后问我还有什么问题,我已经不好意思再有什么问题了,然后他说好,等通知吧。
关了视频,我真是苦笑,哀嚎了几声,结果5min以后我听到电脑有声音,一看面试网站,面试官才退出去。。。。。呜呜呜。。我的哀嚎肯定被面试官听到了。。
自己真的是太菜liao。。。
一二面 4.16 三面 4.17
后来还是等到了offer审批,感谢字节,呜呜呜
offer审批 4.22