当前位置: 首页 > 面试经验 >

大疆一面面经

优质
小牛编辑
95浏览
2023-03-28

大疆一面面经

8.19下午大疆一面,全程47min(客户端开发工程师-研发部)

简单自我介绍

说先聊聊Java基础
1、HashMap的数据结构
2、为什么不直接用红黑树,而是在8以上才转变为红黑树
3、HashMap扩容的过程
4、从key.hashCode()到找到数组下标的过程是怎么样的(hash值生成过程)
5、插问,为什么hash&(n-1),而不是直接hash%n取余
6、追问,为什么用hash高16bit和低16bit异或(不会,感谢Sally啊同学评论提醒:为了让key在hashmap的桶中尽可能分散)
7、追问,直接拿hash和n相与可不可以,有什么意义吗(不会——见我不会了就不问了)
8、多线程里适用Map操作的话需要做什么(回答了ConcurrentHashMap)
9、ConcurrentHashMap是怎么保证安全的(答了add方法做了Cas和Syn处理)
10、追问:其中什么时候用CAS,什么时候用Syn(扯了读写)
11、追问:为什么读用CAS,写不可以用吗(不会)
12、追问:为什么CAS适合用在读上面,其他锁不合适吗(扯了锁开销)
13、追问:高并发情况下,CAS有额外的性能开销吗,相对于对象锁(不会——见我不会了就不问了)
14、多线程的内存模型,为什么线程之间有不可见的特点(回答JMM)
15、追问:如果共享内存上new了一个对象在堆上,各个线程访问这个对象是怎么发生的(答引用)
16、追问:线程栈桢上只有引用还是拷贝了对象(对比与变量问的,不确定,引导从线程栈空间出发,得出应该只持有引用)
17、如何使变量在线程间相互可见,可见性(答volatile)
18、追问:该方式在性能上是否会降低(觉得比直接写,会浪费)
19、堆上的运算速度,和栈上的运算速度,有什么区别(这个是真一点都不会,没有概念!!!)
20、对原子性有什么理解
21、追问:一个普通的对象锁,是怎么保证原子性的(刚开始没反应过来对象锁,后来问锁机制是怎么生效的,底层运作,答获得锁对象进入临界区)
22、追问:怎么获得锁对象(扯了获取monitor,还是不知道具体是怎么获取的,讲了一下锁竞争)
23、最近一两个月有关注什么新技术点(说了项目里用的Apollo配置中心,其实也不新,携程在4年前就开源了,只是在持续更新)
24、追问:对其设计思想,设计理念有什么理解,有什么比较好的地方(对比springcloudconfig,实时+高可用)
25、插问:实时性springcloudconfig可以实现吗,没做,还是实现不了(Apollo基于git,按道理应该可以)
26、回问:优点高可用讲讲
27、看项目有Redis,问Redis是怎么做缓存的(问题太大,一下不知道从哪开始,单线程、内存)
28、开放性题目:两部电梯,外部各楼层有上下按钮,电梯里有楼层按钮,用面向对象的思想如何去实现这两部电梯的功能和集中调度(全程引导,电梯类,按钮接口实现类,产生调度任务,存储调度任务等待消费。。。聊了8min)
29、大疆吸引你的点是什么(乱讲)
30、一部好电梯和一部坏电梯,批判标准是怎样的
31、回忆一下,那些电梯不太好,为什么不好
32、从一部很整洁但慢,另一部很快但破,怎么选(这几个问题没有做到合理分析,都基于直觉回答,应该围绕)

反问环节:让面试官给点关于面试的意见(项目里用到的组件,更细致地了解一下底层实现机制)

8.22更新:没凉,约了二面

#大疆面试##面经##秋招#
 类似资料: