Shopee后端开发(新加坡)
一面
1、手写hashmap
2、进程和线程
3、select,poll,epoll
4、3次握手,4次握手
第三次握手客户端是什么状态,为什么
5、tcp和udp区别,udp应用场景,视频通话是用什么
6、http和tcp区别
7、http1.0和http1.1区别
8、https
9、mysql
索引
为什么不用二叉树,红黑树?
主键索引和非主键索引
事务隔离级别,怎么实现的
刷盘策略
10、redis
过期策略,淘汰策略
11、MongoDB
为什么用mongo,mongo和mysql比较
12、zookeeper
共识算法?
13、kafka
14、springcloud
服务怎么发现
二面
1、算法题,计算表达式 ”10+3*4+5*4*5“
2、Java adder
class Adder {v; get(), addOne()}
考虑:
- 线程安全
- 效率
- add,get, 1:9
- get, add,9:1
3、微博订阅系统设计
三面
1、hashmap实现
什么时候扩容,如果有100w数据,如何提高效率
2、网页中输入一个网址
DNS用的什么协议,层级结构关系
Https原理
对称加密和非对称加密用的什么算法
3、设计一个钱包
可以查看余额,转账
数据库设计,
缓存,db如何保持一致,有什么问题