一线互联网架构师 360°全方面性能调优,值得一看
一面(基础面:大约 60 分钟)
自我介绍
对象相等的判断,equals 方法实现。Hashcode 的作用,与 equal 有什么区别?
Java 中 CAS 算法?
G1 回收器讲一下?
HashMap,ConcurrentHashMap 与 LinkedHashMap 的区别
如何在多线程环境下使用 Map,ConcurrentHashMap 原理,ConcurrentHashMap 如何加锁。
多线程并发的同步实现,有两个方法,每个方法里有 a 部分代码和 b 部分代码,我要让两个线程分别执行两个方法,并且让他们运行完 a 部分代码再一起向下执行,如何实现。
TCP 连接中的三次握手和四次挥手,四次挥手的最后一个 ack 的作用是什么,为什么要 time wait,为什么是 2msl。
aio,nio,bio 的了解
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 大牛。
希望去哪里就业
这个问题果断回答该公司所在的城市啊。
其他问题
有什么兴趣爱好,能拿得上台表演的有吗 记忆深刻的事情
总结
就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的 offer! 越努力越幸运!
金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。
评论