面经(al文娱)

背景:已经不打算面试了,就 随缘面面

4.14 16:00

1.自我介绍
2. 多线程怎么样,还行,说一下下面这个,会不会出现线程安全问题,怎么解决 //直接synchronized 2.模仿cas 脑子抽了,加了个锁;然后synchronized(o) 和synchronized(this)是不是一样,不同在哪
public class Test {

private  int  num = 50;
private final Object o = new Object();

public  void get(int n) {
int x = num;
int r = x - n;
num = r;
}

}



public class Test {

private  int  num = 50;
private final Object o = new Object();

public  void get(int n) {
boolean bool =true;

while(bool){
int x = num;
int r = x - n;
synchronize(o){
if(x==num){
num = r;
bool=false;
}
}
}

}

}
3.redis,介绍了一下结构,zset的底层编码;压缩列表和跳跃表+字典分别是如何解决它的排序问题的

反问:如何高效阅读源码? 不一定非得从源码开始,可以看一些官方文档,搞清楚内部原理,比如保证有序  1.直接有序,插入得时候直接插入对于位置,2.append以后再排序  第一种插入慢一些,去的时候快  第二种插入快,你还是得做其他操作,所以弄清楚原理 方便你考量

总结:本来都结束了,就别浪,结果给拍死沙滩
#阿里巴巴##面经#
全部评论
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞
送花
回复
分享
发布于 2021-04-27 21:20

相关推荐

1 2 评论
分享
牛客网
牛客企业服务