快手 一面二面HR面 (Java后端开发,已意向书)
快手
快手一面
(面试官真好!!)
实习介绍,介绍公司,对CI CD的理解,好处
介绍项目
限流怎么做,底层是什么, 其他限流原理,令牌桶和漏桶的区别,使用于哪些场景
布隆过滤器
秒杀的详细流程
Redis和数据库不一致怎么做,超卖,少买
限流的流量怎么设置
Java的集合类和继承关系
ArrayList 和 LinkedList 区别
HashMap 和 CurrentHashMap, CurrentHashMap的 size()
JUC 包下的类
JVM 的垃圾回收算法,项目中用的什么垃圾收集器,讲一下CMS
Redis的应用场景 (从Redis的数据结构入手)zset底层的数据结构,zset的查询和插入的时间复杂度是多少
Redis的过期策略
编程题:
计算数组的小和 限定语言:C、Python、C++、Javascript、Python 3、Java、Go 数组小和的定义如下: 例如,数组s = [1, 3, 5, 2, 4, 6],在s[0]的左边小于或等于s[0]的数的和为0;在s[1]的左边小于或等于s[1]的数的和为1;在s[2]的左边小于或等于s[2]的数的和为1+3=4;在s[3]的左边小于或等于s[3]的数的和为1; 在s[4]的左边小于或等于s[4]的数的和为1+3+2=6;在s[5]的左边小于或等于s[5]的数的和为1+3+5+2+4=15。所以s的小和为0+1+4+1+6+15=27 给定一个数组s,实现函数返回s的小和 [要求] 时间复杂度为O(nlogn)O(nlogn),空间复杂度为O(n)O(n) 示例1 输入 [1,3,5,2,4,6] 输出 27
快手二面
项目上有什么技术的亮点
项目中的令牌,令牌有没有时效性吗
RabbitMQ 在项目中如何削峰、异步
限流怎么做。用户的请求被限流了,用户有什么体验?
令牌桶,1分钟处理100个请求怎么实现,代码上怎么实现?在第60秒处理100个,第61秒处理100个,这样子相当于2秒内处理了200个,这样子是合理吗?如何以恒定的速率处理?
怎么做负载均衡,负载均衡算法
实习经历。当时为什么选择这家公司?这家公司主要的业务?学习到了什么东西?
自己总结的话,优势和劣势? 有社团活动?
未来有什么规划?
编程题
二维数组的对角线打印
[1, 2, 3] [4, 5, 6] [7, 8, 9] output: 1 2 4 3 5 7 6 8 9 ```
快手HR面
本科学习的课程
Java是自学的吗? 为什么选择的这个方向
什么背景下做了这个项目
实习 是在什么部门,有什么业务,有什么开发工作,有什么收获和成长
职业规划,有什么具体上的目标
是通过什么渠道了解到快手秋招信息
平时有没有用快手?从产品用户的角度谈谈对产品的认识? 更具体点? 使用过程中,操作中优点和缺点?
(面试的时候 电脑风扇呼呼的转,面试官说很吵,说了一句:马上再问几个问题,就结束了。。。太尴尬了)
还有什么公司在流程中吗
毕业前可以实习吗