做了5年Java,java学多长时间可以找工作
作者:互联网
# 一面:
* 个人介绍加项目介绍20分钟
* 微服务架构是什么,它的优缺点?
* ACID CAP BASE理论
* 分布式一致性协议,二段、三段、TCC,优缺点
* RPC过程
* 服务注册中心宕机了怎么办?
* 微服务还有其他什么组件
* 分布式架构与微服务的关系
* 你有什么问题要问我的?
# 二面:
* 各种排序算法、未排序常规数据查找第K大的数,时间复杂度。
* 二叉树的深度
* 虚拟内存分页了解不?
* 进程和线程区别?
* 第一二三范式是什么?
* 一个表一千个列值为true和false,写sql 查询 有300个列值为true的行。
* 脏读和幻读是什么?
* 什么对象会从新生代晋升到老年代
* 一个任务分成十个任务,最后汇总计算,不能用fork/join
* 开源框架源码了解不?
* 数据建模两道、个人题开放性题
* 对安全方面了解多少?
* 安全协议有哪些 、https是啥?
* 介绍你做的项目和其中的难点。
# 三面:
* 从ConcurrentHashMap一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas等诸多技术细节;
* 从hystrix一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams);
* 从简单的生产者消费者模式设计到如何高效健壮实现等等。
# 四面:
* 如何倒序输出单向链表?
* 个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。
* 有更好的实现方式吗?
* 主要问项目情况,然后根据一个项目,问如果量级扩大1000倍,你会怎么做?有哪些优化措施?高性能&高可用措施?
## 五面:
* 个人的职业规划是什么?
* 你遇到的最大问题或者是困难是什么?
* 你如何看待我们公司?
* 你能为我们公司带来什么?
* 你的优缺点是什么?
# 面试总结:
* 技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。
* 技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。
* 技术原理深入:重点还是提前准备好JVM、多线程高并发这块。
* 参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。
* 很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。
### 最后
> 由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625182666477385.jpg)
**需要这份文档的朋友可以帮忙点个赞,点击下方神秘超链接,就可以免费获取到了,还有小编准备的一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》**
##### [资料领取链接:Java进阶学习路线图(Xmind)+《Java面试必备指南》](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)
![](http://www.icode9.com/i/li/?n=2&i=images/20210702/1625182667601173.jpg)
标签:Java,什么,优缺点,面试,https,java,com,多长时间 来源: https://blog.51cto.com/u_15289169/2966736