面试前我主要是在牛客网看大家的面经进行查漏补缺,所以面试完后也想记录下来,权当给大家提供点信息吧。(面试过了挺久了,记忆也有点混乱,争取想到多少就记下来多少🙃)
一面:
1、请简单介绍一下自己。
2、项目参与的核心设计有哪些?有没有遇到过问题,是怎样去解决的?
3、ArrayList和LinkedList,它们的底层是什么?
4、HashMap及线程安全的ConcurrentHashMap,以及各自优劣势;
5、Java是如何实现线程安全的?
6、Synchronized与Lock相比,哪个更加好?
7、HashMap中的get()方法是如何实现的?
8、HashMap可以用在哪些场景?
9、JVM,垃圾回收机制,还有内存划分等;
10、SQL优化,常用的索引?
11、还有什么问题需要问的?
二面:
1、自我介绍,然后问做过哪些Java开发相关的项目。
2、问我对哪些技术比较熟悉?
3、多线程状态图,状态如何流转?大概说一说;
4、问了死锁和死锁的原因;
5、还问了页锁、乐观锁和悲观锁;
6、乐观锁是如何保证线程安全的?
7、用过线程池吗?对应的好处是什么?如何用?
8、两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?
9、1000个多并发线程,10台机器,每台机器4核的,设计线程池的大小。
10、代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。
11、说一下自己的优缺点;
三面:
1、jvm性能调优都做了什么?
2、数据库性能调优如何做?
3、分布式系统原理:CAP,最终一致性,幂等操作等;
4、高并发情况下,我们系统是如何支撑大量的请求的?
5、集群如何同步会话状态;
6、常用NOSQL,有做过比较?
7、什么情况会出现雪崩,以及如何应对?
8、负载均衡的原理;
9、数据库事务属性;
10、与同事沟通的时候,如果遇到冲突了如何解决?
11、你觉得自己在工作中哪方面欠缺?
12、有问题要问么?
13、你对薪资的期望?
14、为什么要离开现在的公司?
全部评论
(3) 回帖