字节即时零售一面凉经
挺意外的,官网投的部门都在简历阶段,这个部门没有投过,但是HR直接打电话约面试,还是挺感谢的。
面试官人很好,很多问题都不深挖,经常说这个问题只是想考察一下你的发散性思维。
1.看你项目里用了JWT令牌,讲一讲JWT令牌
2.JWT的Token是怎么带给服务端的?具体放在请求的哪个位置?(说的请求头)
3.如果把Token放在Query参数里面,是否也能实现鉴权逻辑?
4.Token放在请求头里是明文的吗?Token的串是加密的吗?是base64编码还是加密的?
5.base64编码是明文还是密文?
6.说一下为什么要使用Lua脚本来进行幂等性校验?
7.防重Token是只用了Token吗?一个人下多个订单,订单是一个的,会有问题吧?(这里面试官理解错了,以为我传的是登录的Token)
8.这个方法是怎么想到的,是查资料还是怎么做的,为什么不结合redisson锁呢?(说了边学边做,没深入到锁上)
9.讲一下乐观锁解决超卖问题
10. redisson的组件有了解吗
11. HashMap了解吗,怎么实现的,说一下自己的理解?
12. 什么时候从数组+链表变成数组+红黑树?(答了以7为分界点)
13. 如果HashMap数据量小,如果链表超过7,直接变成红黑树吗?(不是,有一个已存储元素达到64的限制)
14. 红黑树和链表分别的读写复杂度
15. 头插法插入会不会对链表结构造成重排(答了头插法会在HashMap扩容时候造成逆序,从而有环结构出现)
16. 说一下MySQL索引的理解,还有你如何构建索引
17. InnoDB引擎的索引,数据是存在叶子节点还是非叶子节点
18. 聚簇索引和非聚簇索引的区别
19. 对于TCP如何实现高可用?(这点确实不知道,说了可靠传输、流量控制和拥塞控制)
20. 流量控制是怎么实现的?如果是你写接口,只能抗1w的连接,突然有10w 个连接,怎么做流量控制,发散思维说就行,主要看思路。(不会,瞎扯了个可以分批次发,最后问面试官说可以用令牌桶)
21. 对于限流有了解吗,知道一些通用的限流器吗(答了sentinel,又问怎么实现的,完全没准备,被拷打)
算法题:给一个菜单列表,每个列表元素是[name, price],每个人点3道菜,每道菜价格不超过105,点菜总金额不超过250,并且不能点重复的菜,返回所有的点菜方案。感觉就是组合问题。
用回溯写思路对了,有个数据转换错了,运行有点小问题,面试官说思路没问题自己下去完善,问时间复杂度是多少
又问有没有别的思路(说了背包),那背包的时间复杂度是多少(好像记得是on,答了on)
面试结束以后问hr流程怎么看,hr说基础ok但是算法没ac,流程终止了。起码也有个字节面试了,只可惜自己脑子短路算法没ac,不然应该能进二面了。
面试官人很好,很多问题都不深挖,经常说这个问题只是想考察一下你的发散性思维。
1.看你项目里用了JWT令牌,讲一讲JWT令牌
2.JWT的Token是怎么带给服务端的?具体放在请求的哪个位置?(说的请求头)
3.如果把Token放在Query参数里面,是否也能实现鉴权逻辑?
4.Token放在请求头里是明文的吗?Token的串是加密的吗?是base64编码还是加密的?
5.base64编码是明文还是密文?
6.说一下为什么要使用Lua脚本来进行幂等性校验?
7.防重Token是只用了Token吗?一个人下多个订单,订单是一个的,会有问题吧?(这里面试官理解错了,以为我传的是登录的Token)
8.这个方法是怎么想到的,是查资料还是怎么做的,为什么不结合redisson锁呢?(说了边学边做,没深入到锁上)
9.讲一下乐观锁解决超卖问题
10. redisson的组件有了解吗
11. HashMap了解吗,怎么实现的,说一下自己的理解?
12. 什么时候从数组+链表变成数组+红黑树?(答了以7为分界点)
13. 如果HashMap数据量小,如果链表超过7,直接变成红黑树吗?(不是,有一个已存储元素达到64的限制)
14. 红黑树和链表分别的读写复杂度
15. 头插法插入会不会对链表结构造成重排(答了头插法会在HashMap扩容时候造成逆序,从而有环结构出现)
16. 说一下MySQL索引的理解,还有你如何构建索引
17. InnoDB引擎的索引,数据是存在叶子节点还是非叶子节点
18. 聚簇索引和非聚簇索引的区别
19. 对于TCP如何实现高可用?(这点确实不知道,说了可靠传输、流量控制和拥塞控制)
20. 流量控制是怎么实现的?如果是你写接口,只能抗1w的连接,突然有10w 个连接,怎么做流量控制,发散思维说就行,主要看思路。(不会,瞎扯了个可以分批次发,最后问面试官说可以用令牌桶)
21. 对于限流有了解吗,知道一些通用的限流器吗(答了sentinel,又问怎么实现的,完全没准备,被拷打)
算法题:给一个菜单列表,每个列表元素是[name, price],每个人点3道菜,每道菜价格不超过105,点菜总金额不超过250,并且不能点重复的菜,返回所有的点菜方案。感觉就是组合问题。
用回溯写思路对了,有个数据转换错了,运行有点小问题,面试官说思路没问题自己下去完善,问时间复杂度是多少
又问有没有别的思路(说了背包),那背包的时间复杂度是多少(好像记得是on,答了on)
面试结束以后问hr流程怎么看,hr说基础ok但是算法没ac,流程终止了。起码也有个字节面试了,只可惜自己脑子短路算法没ac,不然应该能进二面了。
全部评论

好详细啊,这个总共面了多久啊
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-20 23:57
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享