快手后端直播方向一面8.14
手撕:
1.力扣11接水最多的容器
2.力扣69x的平方根
3.第二题的变体,给定x和误差范围,要求返回的平方根平方后在误差范围内。
项目拷打
八股:MySQL的索引数据结构,说一些索引失效的情况
Redis常用的数据结构,Zset的底层原理,跳表的查询时间复杂度
HashMap的底层原理,线程安全吗,会遇到什么情况,要保证线程安全应该用什么,ConcurrentHashMap是怎么保证线程安全的,详细说
CAS是什么意思,会遇到什么问题
前两题写出来了,第三题面试的时候没写出来,面完自己整理的java代码如下:
private static double xsqrt(double x,double epsilon)
{ double l=0;
double r=0;
if(x<1){l=x;r=1;}
if(x>=1){l = 1;r = x/2;}
double mid;
while(true){
mid=(l+r)/2;
double square=mid*mid;
double error=Math.abs(square-x);
if(error<=epsilon){return mid;}
if(mid*mid>x){r=mid;}
else{l=mid;}
}
}
#牛客创作赏金赛##给26届的秋招建议#