字节广告部开发一面凉经
刚刚字节一面结束了,虽然准备了2周多,但这两周多感觉都进狗肚子里了。
为了攒个人品,趁热写个面经。
先聊了一下目前的实习工作(非字节实习)
1.java中阻塞队列的原理
2.priorityQueue的原理,增删查的时间复杂度
3.java动态代理
3.幻读
4.覆盖索引,最左匹配原则
5.tcp靠什么防篡改,答校验和
6.校验和是怎么算的?
7.四次挥手
8.http状态码
9.CSRF攻击
算法题:输入是一个链表,节点有三个信息:uid, logintime(登陆时间), logouttime(登出时间),时间单位为秒。求出在线人数的峰值(多个峰值),以及峰值的时间区间
思路:我感觉首先得计算出来各个时间段的人数,首先按照登陆和登出时间来拆分区间,比如(10,20),(15,25)就拆成(10,15),(15,20),(20,25),用一个链表来存储拆分好的区间,具体方法是先将链表按照登陆时间排序,称为链表a,然后在深拷贝一个链表,按照登出时间排序,称为链表b。然后可以用二分法找到最后一个小于等于登陆时间的登出时间。拆分好区间后再看和原本区间的包含关系,拆好的区间被包含一次,就多一个在线人数
这个方法就是我胡思乱想的,感觉不可行,大家看看就得了,哪位大佬有思路还请指教一下
这个方法就是我胡思乱想的,感觉不可行,大家看看就得了,哪位大佬有思路还请指教一下
全程45分钟,面试官人超好,答不出来,还会鼓励你。奈何我是个渣,前面的问题就有答不出来的,算法有思路,也不知道对不对
#字节跳动秋招提前批##字节跳动##校招##Java工程师##面经#