Java 开发快速学习!三面蚂蚁金服成功拿到 offer 后,他说他累了
8.抽象类和接口有什么区别?说一下你的个人理解。
9.详细说一下 final 关键字,修饰变量,方法,类都有什么不同?能想到什么具体应用场
景吗?
10.说一下 equals 方法,hashmap 的底层,跟 hashtable,concurrentHashMap 都什么 区别
11.静态分派和动态分派的区别?具体应用场景?
12.1 .8concurrentHashMap 有什么变化,优化的意义在哪?
13. hashmap 除 了结点数大于 8,还有什么情况会树化(这个我没想出来,也可能是我没听清楚)
14. hashcode 方 法有什么特点? hashset 的底层是如何实现的?为什么用 hashmap?
15.说说 JVM 内存结构(这里要问清楚是 JMM 还是运行时常量池)
16.你刚说 1.8 后方法区移动到内存中变成元空间,为什么要移过去呢?
17.那为什么常量池没有移动到内存,而是转移到堆了呢?
18.最后一个问题,说一下线程池的饱和策略
因为项目中使用到了 MQ,所以就顺便问了下,好在并没有提问太过深入的东西,随后问题几乎每个都是高频考点,2、4、5 主要考察计算机网络中的通信过程,例如三次握手/四次挥手,7-14 考察 Java 基础,随后就是和 JVM 以及多线程有关的问题了。有需要的小伙伴可以参考这个进行针对性的复习。
二面
1.从项目启动到现在,介绍一下你的工作以及遇到的难点,怎么解诀的?
2.讲一下微服务架构都有哪些模块?他们是怎么一起工作的?
3.让你实现一个 eureka,你会怎么实现?
4.用户认证,为什么要用 JWT,而没用 session-cookie, 应用场景?优劣?加密用的是什么算法?
5.为什么使用 rabbitMQ,没用别的 mq?
6.说一说你项目应用了什么设计模式?适配器模式什么应用场景?
7.让你实现 AOP,你怎么实现?
8.spring 事务有了解吗?是如何传播的?在你项目里的实际业务中是如何传播的?
9.例如有 ABC 三个事务,分别原子性,整体也原子性,A 事务出错回滚,整体事务也会回滚,你会怎么设计呢?
10. ZooKeeper 有 了解吗? redis 和 Mencache 的选型问题?
11.你之前的 webServer 项目介绍一下整个流程?你是如何做的多线程? socket 相关?
12.你怎么使用线程池?参数怎么选择?
13.你写线程的时候会给他们起个可爱的名字吗?为什么要起?线程错误排查工具用过哪些?
14. spring framework 都有哪些模块?你使用到了哪些模块?怎么使用的?
15.使用的时候有没有对某模块功能进行扩展?
16.说一下集合类(线程安全角度)
到了二面,就会发现提问的重点发生了明显的变化,从之前的基础知识变成了项目架构方面的,这一轮考察的是平常学习过程中对于架构的使用与理解,现在都偏爱微服务架构,那是否思考过背后的原理?天天在用 Spring,你对他到底又有多少认知呢?都知道消息队列好,那好在哪?这些东西都是实际的项目中能接触到,但是又经常会被忽略的东西,就看你是不是一个有心人了。
三面
1.详细介绍一下点云扩增工具项目
2.你对分布式架构有什么理解?
3.你的项目中或在学习过程中有没有遇到过很难的点?然后专心研究去解决掉他的
4.周围有没有优秀的人?有没有值得你学习的点,并且你现在跟着做的?
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
需要这份资料的朋友戳这里免费下载,整理出的内容大概如下:
Spring Cloud 实战
Spring Boot 实战
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)
评论