阿里乌鸫科技 java交付 一面

1. 面试官先发了笔试链接,有30个选择,1个算法,做的过程中不小心切换了几次页面,然后叫面试官重新开启了下。
2. 算法 88. 合并两个有序数组 
【三指针,从后往前比较】
3. 问了排序算法有哪些,快排为什么快,堆排序相比其他排序有什么区别,归并排序时间复杂度,堆排序建立堆和维护堆的时间复杂度分别是多少,稳定(相等的数,相对的位置会不会改变)的排序有哪些
【平常使用快排比较多是因为它在平均情况下的时间复杂度是O(nlogn),堆排序建立时间复杂度为O(n),维护堆的时间复杂度为O(logn)】
4. GC类型有哪些
说了yonggc(minor gc)和fullgc
【一般都基于分代收集,年轻代的话,由于gc比较频繁,主要使用复制算法,老年代的话,主要使用标记整理或者标记清除算法,年轻代一般进行yonggc,老年代一般进行fullgc】
5. TCP三次握手做了什么
忘记了
【第一次是客户端发送给服务端同步位SYN=1,seq=x,服务端介绍到后,发送給客户端SYN=1,ACK=1,ack=x+1,seq=y,然后客户端再发送给服务端ACK,ack=y+1,seq=x+1
仅到ACK=1,确认号有效   主要通过一个同步位和确认为去完成这个同步的过程】
6. Collection接口下有哪些方法
7. Object类中有哪些方法
只答出了equals(),hashcode(),finelize()
【toString,wait,notify,clone,getClass】
8. 重写clone()方法要注意什么
注意深拷贝,浅拷贝,对应深拷贝,使用cloneable接口,要在clone方法里面手动得去拷贝对象内容。
9. 什么是深拷贝,浅拷贝
浅拷贝指的是,如果一个对象里面有引用类型,那么拷贝的话,也只能拷贝引用类型的引用地址,而不会真正拷贝一个新的对象。但是如果是深拷贝的话,里面拷贝的也是一个新对象。
10. BeanCopyUtil内部怎么去实现
11. 接口慢了怎么去排查
根据请求id去查阿里云日志,分析日志,是否有慢sql日志,以及微服务间调用时长
12. 导致慢的原因有哪些
说了慢sql,服务间远程调用太多了
13. volitile关键字有什么用
说了去除指令重排序和保证可见性
14. 什么是可见性
说了java内存结构,多个线程在访问共享变量的时候会保存一份副本,可见性指的是当这个共享变量的值发生改变的时候,会马上将副本更新到最新的值。
15. 什么是幂等性
说了,一般将一个接口设置为幂等性的话,就是一个访问的接口和多次访问的结果是一样的,避免重复调用接口造成的问题。
【一个操作可以被重复执行多次而不会改变结果的性质,restful API,get,delete都是幂等的】
16. POST请求怎么保证幂等性
说了使用数据库中的唯一主键,但其实不太符合业务场景。
【使用唯一标识符:为每个POST请求分配一个唯一的标识符,并在请求头中包含,在服务端检查标识符是否已经被处理过,如果已经被处理过,则不再创建,还是返回原来的。】
17. 悲观锁和乐观锁解释一下
说了悲观锁是指线程在访问数据的时候悲观地认为某个数据可能被其他线程修改,因此加上锁,实现线程之间的同步,比如重量级的锁。乐观锁是指线程在访问共享数据的时候认为不会被其他线程修改,不去加锁,而是去比较下预期的值是否相同,如果相同,说明没其他线程改过,修改数据。否则不停地自旋,知道预期的值相同。
18. java中哪里用到了CAS
原子类中用到了CAS,内部使用了Unsafe类的compareAndSwap的方法,而且是个本地方法,原子性的。
19. 数据库层面怎么去实现乐观锁
每次去更新数据的时候,比较版本号,并设置新的版本号,比如UPDATE users SET username='Jane Doe', version=version+1 WHERE id=1 AND version=0;  这就要求在更新前就要拿到这个版本号
20. 可达性分析中哪些可以作为Root
【在GC过程中,有一些对象被认为是根对象(Roots),因为它们始终是可达的,不能被回收】
21. 说说比较项目那块比较有挑战性
22. 说说mqtt中的几种可靠性机制
23. mqtt是怎么去发送消息的,说说架构
24. 反问
全部评论
兄弟 java交付还是技术岗吗 还是技术支持一类的
点赞 回复 分享
发布于 2024-12-05 20:50 浙江
选择题大概有啥 只Java还是啥都有
点赞 回复 分享
发布于 2024-11-01 12:45 浙江
老哥,想问一下这些问题都是根据简历内容问的吗
点赞 回复 分享
发布于 2024-08-23 09:13 广东
校招还是社招
点赞 回复 分享
发布于 2024-08-21 20:03 浙江
m
点赞 回复 分享
发布于 2024-08-19 15:27 广东

相关推荐

2025-12-27 18:11
已编辑
门头沟学院 前端工程师
28双非鼠鼠第一份实习,感谢金山,感谢面试官张先生的赏识,也感谢自己很开心很开心(有没有待过的前辈,求摸鱼技巧bushi)timeline12.15 投递12.16 约面12.18 一面 半个小时后约二面12.19 二面,口头oc12.24 发offer一面1. 开发页面中使用的布局方式2. flex: 1 是什么的缩写3. 水平居中的方法4. tailwindcss 的优势5. js 的闭包6. 打印结果的题,解释为什么(var 定义 i ,setTimeout 执行打印),使用 let 的打印结果7. 箭头函数和普通函数的区别8. promise 构造函数是同步还是异步9. 内存泄漏的情况10. interface 和 type 的区别11. react 的 key 作用12. 常用的钩子函数13. 怎么避免不必要的渲染14. useeffect 的使用场景15. react 和 vue 怎么选择16. vue 的 data 为什么用函数17. tcp 为什么需要三次握手和四次挥手18. vite 为什么比较快19. 解释防抖节流和手写防抖函数,还有实现思路20. 深浅拷贝的区别和手写深拷贝,讲实现思路反问了业务,反馈时间和学习建议二面基本上是围绕项目展开,根据项目的每一项,来给场景题问你会怎么做,跟基础相关的东西如下:1. 虚拟列表的实现和原理2. zustand 和 context 的区别3. vitest 相关,写测试的话应该怎么做些什么?4. monorepo的细节问题5. 做项目的动机6. 事件委托和时间冒泡的区别有个点顺着问了我五个问题实在是答不下去了就是说感觉金山云这边面试虽然一面全是八股,但是二面还是要好好准备项目,做到能被深挖那么两三个问题的程度,鼠鼠也是运气很好,问的都是准备过的嘻嘻面试完之后还很期待这个面试官会不会是我mt或者ld,会很认真的听我说话,然后告诉我哪里有小问题,不知道是不是鼠鼠的错觉,感觉他看后辈的眼神都是带有欣赏的意味真的很复合我对mt/ld的幻想(bushi),但是后来发现他ip是北京的qwq有点点小失落,不过没关系,看隔壁某书感觉金山的节奏还挺慢的期待入职ing愿一切顺利,好运常伴吾身这里再吐槽一下流程,怎么!!这么!!慢!!急死我了急死我了!!鬼知道我从周一到接到offer这段时间有多煎熬,哎呀但是但是好在一切如愿
发面经攒人品
点赞 评论 收藏
分享
评论
6
38
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务