- ReetrantLock和synchronized的区别。
- Java有哪些悲观锁的实现?
- Java有哪些类实现了乐观锁?
二面(二面就死抓多线程问)
- 线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
- 数据库连接池介绍下,底层实现说下
- hashset底层实现,hashmap的put操作过程
- 说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点?
- 说说B+树和B树的区别,优缺点等?
- 算法题,对一个链表进行归并排序,链表可能有环
- 怎么实现一个线程安全的计数器?
- 原子类AtomicInteger实现原理是什么?和你设计的计数器优劣比较?CAS怎么实现原子操作的?
- Java中的锁有什么?synchronized与Lock的区别?公平锁和非公平底层怎么实现的?AQS原理详细介绍一下?
- 你在项目中一般怎么调优JVM的呢?
- 说一下GC吧,什么时候进行Full GC呢?
- 你了解哪些收集器?CMS和G1。详细谈谈G1的优点
三面(Redis和mysql也要掌握,面试也是必问**)**
- 了解哪些排序算法,讲讲复杂度
- 手撕归并排序
- Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?
- redis的hash数据结构最多能存储多少个元素
- 自己如何实现RPC?
- mysql默认存储引擎?MyISAM、InnoDB、MEMORY的区别
- 什么是幻读,如何解决
- 事务隔离级别有什么?通过什么来实现的?分别解决了什么问题?
- 乐观锁与悲观锁的使用场景
四面(这里问的技术问题就较多了 分布式架构 dubbo spring cloudKafka 数据库)
- 介绍对你技术能力帮助最大的项目,重点讲架构设计思路
- 分布式全局唯一ID怎样来实现?
- dubbo的生产者如何发布服务,注册服务,消费者如何调用服务?
- dubbo负载均衡的策略有哪些?一致性哈希详细聊一下?
- 分布式session如何实现的
- 微服务你的理解?以及常用的微服务方案dubbo、spring cloud的比较?
- Kafka怎么保证数据可靠性?
- 数据库主从同步数据一致性如何解决?技术方案的优劣势比较?
- 分布式锁的实现方式你知道有哪些?主流的解决方案是什么?
- Spring两大特性?AOP和IOC
- Spring的初始化过程?Spring bean的生命周期?
- 多个RPC请求进来,服务器怎么处理并发呢?
HR面(见招拆招)
常规问题为主
遇到什么挫折
这种问题主要考察面试者遇见困难是否能坚持下去,并且可以看出他的解决问题的能力。
可以简单描述挫折,并说明自己如何克服,最终有哪些收获。
职业规划
表明自己决心,首先自己不准备继续求学了,必须招工作了。然后说下自己不会短期内换行业,或者换工作,自己比较喜欢,希望可以坚持几年看自己的兴趣再规划之类的。
对阿里的认识
这个比较简答,夸就行了。
有什么崇拜的人吗
我说了詹姆斯哈登,hr小姐姐居然笑了。这个可以说一些IT大牛。
希望去哪里就业
这个问题果断回答该公司所在的城市啊。
总结
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取
这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取