字节跳动 研发端面经
三轮技术面,整体感觉非常好,面试官都非常的专业而且nice
可能有一轮给我的感觉是压力测试,看你在被质疑的情况下的表现
一面:
问了下简历和岗位相关的项目问题
tcp 四次挥手协议,为什么是四次
b tree和b+ tree的区别
回表,联合索引
https ssl讲一下,讲一下证书签发过程
算法题: binary tree 每层找最大值:level order traversal(BFS)
array,先递增后递减,可能有重复,找到一个数:三次binary search,第一次找到分界点,然后分别找target number
进程通信方法,说下管道
二面:
get/post 详解 说到get一般把数据放在url上,问:是什么协议规定的,可以放在body里么?
说下http request 和 response
然后记得不太清楚了,就感觉问的很细,被锤的感觉
算法题:diameter of binary tree, DFS, bottom-up方法,感觉会有很多corner case,但其实点就在于:edges=nodes-1
一亿个shot int,sort them 点在于:short int 是2^16, 然后有范围了,就可以用count sort来做,index当作值
什么是前后端分离,不分离的code长啥样
什么是事务,transaction
三面:
聊聊天。。。
primary language是java,所以问了static变量什么作用,放在哪里
hashmap和hashtable区别
rand3 () 求rand5 () 说下怎么做
算法题: next permutation 点在于:怎么找到需要swap的index和比他值大的index,然后,需要从swap index之后需要sort么?
不需要的,因为前两次找index的时候,保证了从右往左是ascending,所以只需要two pointers reverse就行