bilibili-T2开发实习生-二面

1、自我介绍
2、php、java、golang的区别
3、介绍项目
4、团队分工
5、项目过程中遇到的困难,有没有团队达不成一致的情况?
6、位置信息存到redis里的具体结构?
7、通过UDP实现心跳包上传,服务端需要额外考虑什么问题?
8、TCP和UDP的区别
9、心跳包会不会存在先发的包后到了?(提到了存一个时间判断)
10、介绍下如何记录的用户是否在两小时内在线过?
11、实际上一个心跳包会存两个key,会不会存在两个key数据不一致的问题?
12、继续问上面第8个问题,如果说采用我提取的那个方案,如果说两个心跳包同时到了,我们如何保证设置的值是最新的。(因为读写两个操作就可能因为线程切换造成问题,所以肯定会出问题,这个如果加锁的话得不偿失,redis也不知道有没有cas相关的一些乐观锁机制,面试官让我在已有的知识体系里能不能找到答案,最后提示让我用lua,没学过。)
13、如何找到两小时在线的这一批人?
14、短信异步发送忘消息队列里投放了什么?是所有短信是一个消息还是 一个短信是一个消息?(采取双异步的方式,找到所有用户是一个异步,短信发送是第二个异步)
15、消息队列手动ack的负面作用?
16、有没有可能多发,即重复性消费问题
17、轨迹记录在mysql里的一个表结构
18、根据这个表写sql(写了两三个,最后一个让通过日期分组吗,语句忘记了)
19、缓存轨迹点的redis list是什么维度的?(是一个用户的还是一个案件的)
20、该怎么知道该刷哪些志愿者的list到mysql
21、如何保证缓存不丢失?
22、有没有考虑更快的将数据落地到mysql?(提到了可以开启一个定时任务,每多少时间就全部更新一次)
23、如何知道要持久化哪些用户的轨迹?
24、多久去持久化一次数据?如何考量?在可控范围内越快越好,如何权衡设计?
25、如何对百万级数据量进行的索引、sql用户?
26、如何完成的用户认证?服务器到底如何知道用户是否登录、登录的是谁?
27、为什么前端会把token带回来,什么原理?
28、token是怎么返回给前端的?就是接口返回信息的设计
29、10桶1000个球,把球分配到桶里。。(后面就不说了,就是二进制的问题)
30、代码实现10进制转2进制

后面就是聊天了。
31、目前有在聊其它公司?
32、如何看到b站这样一个公司,有什么期望?
33、希望进来能做一些什么事情?
34、如果几家公司都拿到offer,怎么对比?
35、如果实习什么时候能到岗?
36、如果马上给你发offer,能不能马上来?还是等到其它公司面完?

面试时长大概1小时10分种,基本上都是在深挖项目。
#B站##面试题目##哔哩哔哩#
全部评论
楼主第十二个问题,用lua是怎么解决的?面试官有说吗
点赞 回复 分享
发布于 2022-04-05 17:04
T2开发是什么意思啊
点赞 回复 分享
发布于 2022-04-22 22:12
楼主拿到offer了吗?
点赞 回复 分享
发布于 2022-05-11 13:24
许愿一个offer
点赞 回复 分享
发布于 2022-06-04 14:23
请问楼主两轮面试是不是同一个面试官呀?
点赞 回复 分享
发布于 2022-08-01 19:32

相关推荐

点赞 13 评论
分享
牛客网
牛客企业服务