10年Java开发经验,一文了解OOM及解决方案
# 网易严选java一面
**基本只问了Java相关的内容**
* 近期做的项目有遇到什么困难吗,怎么解决的;
* HashMap详细介绍一下,怎么计算下标值的,时间复杂度是多少,最坏的时间复杂度是多少,在扩容的时候时间复杂度是O(n)的,你有什么方式去优化这个时间复杂度吗;
* ConcurrentHashMap的底层实现原理,怎么查找的的,如何保证查找时的线程安全性;
* 多线程介绍一下,如果一个方法被synchronized修饰了,你有什么方法可以去掉这个关键字,保证线程安全并且可以提升效率吗;
* 线程池介绍一下,常用的拒绝策略有哪些;
* 线程池中一般设置多少线程,你是怎么设定的,为什么;
* 线程中中常用阻塞队列有哪些,你一般用哪个,LinkedBlockingQueue与ArrayBlockingQueue的优缺点对比;
* JVM的CMS介绍一下,CMS重新标记时标记什么,为什么这么标记,标记待回收垃圾和标记保留对象的区别是什么,哪个更好一些;
* Java开发中遇到问题了(比如报了异常),你一般怎么去处理;
> 就这些问题,半个小时,因为研究生期间做CV的,项目都是CV相关的,感觉没岗位相关的项目真是弱点,赶紧去网上找个项目水一下了。不确认面试官心里怎么想的,给我一次二面机会吧,有二面再回来写面经。
* * *
# 网易严选java二面
**面试官挺可爱,上来先自我介绍,然后介绍一个项目。**
* 问项目中redis怎么使用的;
* 如果自己实现消息队列,选择什么数据结构比较好,怎么实现;
* MySQL的索引,怎么建立索引,建立索引时有哪些好的习惯;
* 对于MySQL的了解程度,平时使用MySQL写SQL语句时有哪些心得,SQL的范围查询如何建索引;
* 继续聊项目,因为项目是CV相关的,所以让我介绍一下深度学习和用到的模型;
* 平时用过哪些框架;
> 面试时间比较短,基本上就是在聊聊项目,然后问一些数据库和Java的基础问题,基本就以上内容。问题比较发散,面试官想到什么有趣的问题就会问出来。所以面试的时候不要说自己没有把握的知识点,不然可能会被面试官逮住问。
* * *
# 网易严选javaHR面
在杭州网易大厦现场面试的,十五分钟。面试这么快,一般是两个极端,要么已经打算刷了,要么已经打算要了。
**首先介绍一下在做项目或者实习中,遇到的一些问题,有哪些挑战,怎么解决的,有什么收获;**
**在项目中,未来有什么可以提升的地方,怎么去提升;**
**未来工作想做什么岗位的工作,有什么打算**;
**未来职业规划;**
> 只有一轮hr面,面试结束就让走了。基本上都是在围绕项目来提问的,没有问那些个人情况的问题
### 最后分享一波,Java核心架构进阶知识点
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
![image](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625374038286706.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625374039573470.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625374039943387.jpg)
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补,不过这份《Java核心架构进阶知识点整理pdf》以及前面P8整理的全套系列大厂面试题皆可免费分享给有需要的你,**[点击这里即可免费领取文中所有资料](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**