8.16哔哩哔哩客户端一面
面完hr说通过了下周安排二面
至今没约二面
客户端相关
1.支付SDK是从0到1开发的吗?
2.支付SDK线上出现了bug有什么手段去发现?
3.埋点是如何做的?埋点跟业务实现写在一起的吗?
4.如果做一个单独的埋点SDK怎么设计?
5.如何区分客户端和服务端的埋点?
6.简单说下支付SDK的总体设计。
7.用户从点击商品进行下单开始的整个支付流程什么样的?
8.h5的webview在客户端是如何进行交互的?
9.如果让你封装一个网络库SDK,你会怎么实现?
10.如果你的网络请求被运营商给劫持了,你会怎么解决?
11.如果在网络库里加埋点,你会如何处理网络库和埋点的关系?如何实现SDK的解耦?
12.实习过程中有没有遇到过内存泄露的问题,如何排查的?或者说你通过哪些方式实现了内存不会泄露?
13.你觉得一个应用,比如说QQ音乐,除了支付SDK,还会由哪些SDK构成?
14.除了SDK,有些是平台性的功能,比如说在线管理配置kv之类的,你觉得平台性的功能还能加什么东西?
15.平台的中间件有了解吗?
16.我看你虽然职位是客户端,但是做的都是一些基建的东西,如果有个技术升级,把线上的v1版本替换成v2版本,如何保证不出现问题的?或者出现了问题如何解决?
17.催费弹窗如何分类的?
18.业务这边是如何用新的弹窗去替换原有弹窗的?
19.弹窗的层级是如何控制的,如何保证弹窗不弹的不该弹的地方?
20.页面加载过程多少都会有白屏,你们这边是怎么解决的?
21.如果我打开百度,然后百度的模版变了,我再一次打开百度,加载出来肯定是最新的,这中间是怎么判断加载本地缓存还是加载最新页面?
22.催费弹窗或者支付SDK线上出现了问题怎么解决?
项目相关
1.SpringBoot有很多层级,你觉得VO、TO之类的有什么用,为什么要划分这些?
2.Redis挂了怎么办,如何保证Redis的数据能完全复制到数据库中?
3.假设数据库有5000万条数据,查询很慢,如何优化?
4.分表后如何确定对应的数据在哪张表上?
5.视频五分钟试看和完整版观看是如何保证安全性的?如何保证完整版的视频不被破解?
6.为什么要用Kafka?如果有100万条短信需要批量发送,发了50万条,服务挂了,重启后如何接着发送?
7.高考出分后,如果有3500万个考生成绩,如何进行排序比较快?
8.后端服务部署到线上,如何保证服务可用?服务挂了怎么办?如果是代码问题怎么排查怎么解决?
9.未来规划是什么样的?想从事后端还是客户端?客户端是安卓还是ios?
10.我们这边是做b站的视频引擎,弹幕引擎等等,具体进来做什么看哪边缺人就去哪边。
#软件开发笔面经#