面试公司:杭州端点网络科技有限公司
面试岗位:Java开发工程师
面试城市:杭州
面试地址:杭州西湖区阿里云飞天园区1
薪资范围:15k-20k
面试过程:
首先自我介绍
技术面试:
1、死锁条件,Java中哪些场景会产生死锁,如何解决
2、介绍一下CAS和Synchronized
3、JVM内存结构和GC垃圾回收算法,具体怎么实现的
4、concurrentHashMap能否取代HashTable,如何保证线程安全
5、单点登录,第三方登录是否了解
6、线程池创建方式,一个线程运行的过程,底层如何实现(线程启动策略)
7、讲一下你所了解的常见集合,有何区别,底层如何实现
8、HashCode和equals方法有何区别,什么时候需要重写,为什么重写
9、说说反射
10、项目中GateWay怎样实现鉴权认证,Nginx做了什么,流程是怎样的,先走哪个?
JWT无状态认证
11、Nacos发挥了什么作用,你如何使用,配置了什么
12、Dubbo、RabbitMQ也问了,问的比较深,没答上来…
13、Spring和Spring MVC底层实现原理
14、Mysql建立索引规则,索引失效问题
15、怎样实现分页查询,Mybatis分页查询
16、Mysql事务和隔离级别
17、还有个什么TCC、DDD模型啥的,我没听懂他在说啥,我转移到CP和AP了,不知道对不对
18、Redis就问了一下加锁问题和内存击穿,雪崩怎样避免,还有那个一主二从三哨兵。
19、还有好多,暂时想不起来了…
面试总结:
面试挺难的,问的很深很细,一开始有点紧张,后面麻木了,就根据自己掌握的回答。面试完长舒一口气。最终居然拿到offer了很开心



