朋友开发六年多,从一个中游的公司跳槽的京东 T5,其实这六轮的面试下来整体感觉还是不错的,在这之前我其实面试的其他公司的时候也很好。
第一轮:团队面试
第一轮基本上是你的团队成员面试你,是和你同级或者高你一个 P 的师兄来面你,主要还是讲自己简历上的做的项目,这里需要你很熟悉自己的项目才行,我个人觉得这里你要把项目里你的角色做了什么没做什么讲清楚,然后最好能把自己做的那部分重点展开来讲,然后面试官会从你讲的内容里挑一些具体来问你,这部分就因人而异了,知道的说不知道的别瞎说。
第二轮:主管面试
这一面我的面试官还是让我主要介绍简历(可能因为我是社招,有项目经历他们比较感兴趣吧),然后我就又讲了一遍。都是他们听见啥感兴趣的就会问你是“怎么实现的,为什么这么实现,有没有更好的实现方式”这三个问题。这一轮对面最少都是 P8 级别的人了,千万可别不懂装懂的乱说呀。还是那句话,知之为知之,不知为不知,是知也。
第三轮:交叉面试
这一面基本是找个其他部门和你将来的主管平级的 leader 来面你一遍,防止前面自己部门面试作弊嘛,基本套路和二面差不多,但是会多问你一些基础知识和编程能力上的事,主要还是以考核你为目的,肯定不是为了难为你的,所以,好好加油表现出你自己就行。
第四轮:代码面试
这一面的面试是给你一个在线网站,然后你和你的面试官一起登陆上去,共享 web 页面,然后他给你出题,你来现场写代码,伪代码就行,然后你再给他讲一遍你的逻辑就 ok 了。这一面没什么好讲的,写代码嘛,是骡子是马拉出来溜溜咯。出的题不会很难,我答的是两道,一道给我半小时,第一道是给你一个 shell 命令,执行的功能大概就是读取一个日志文件,然后根据日志里的某一字段排序,然后取前五,输出。
第五轮:boss 面试
到这一面的时候基本就稳了,当然我也见过挂的。这一面就是你的主管的主管来面你了,我当时还是先讲项目,然后挑重点的问,不过和二三面明显的区别就是他会问你更高层次的解决方案,不在拘泥于你做的那一点东西,会让你从整体上或者部分整体上讲清楚你项目的解决方案以及你自己的思考(上面的那三个问题),会让你尝试给出更好的解决方案,并解释原因。
我个人感觉这一面更多的是考验你的全局观,你要是一直拘泥于自己的小天地,那估计会吃亏的。当然,面试分人的,有的非技术出身的主管就是和你聊聊天谈谈人生理想什么的,你要是不 match 也会被淘汰。
第六轮:HRG 面试
谈人生谈理想谈三观谈薪资。
下面分享一下在准备面试阿里的这段时间里我自己准备的面试题的总结(其实大家大部分面试中遇到的问题,在这套面试题中都是涵盖的)
MyBatis 面试题
MyBatis 这一部分我是 27 道题,可能这一部分的面试题稍微偏基础一些,甚至有些面试根本不会用到。
ZooKeeper 面试题
ZK 总共 28 道题,ZK 问的有基础,也有比较难的。
Dubbo 面试题
Dubbo 这一部分总共 30 道题,面试提问笔记多的就是 Dubbo 和 Dubbox、SpringCloud 进行对比和分析,当然这些面试题我也整理了很多。
Elasticsearch 面试题
24 道题,这一部分和下一部分可能面试的比较少,所以相关的面试题也相对少一些,但是有一道题很有意思,是让你介绍你们的电商搜索的整体技术架构。
Memcached 面试题
23 道题
Redis 面试题
40 道 Redis 面试题,Redis 底层运行原理、分布式锁、缓存、限流、秒杀等等这些部分问的还是比较多的,也需要你自己有一个完整的调优思路才可以。
MySQL 面试题
50 道题,MySQL 调优这一方面的问题基本面试必问,所以需要大家有一个相对完整的调优思路,通过刷这 50 道题中相信大家可以从中找到一些新大陆。
Java 并发编程(一)
并发编程第一部分 75 道题,并发编程这一部分就不用多说了吧,必考题。
Java 并发编程(二)
第二部分是 48 道题。
Java 面试题(一)
Java 基础部分,基本面试中一面的大部分题都涵盖在里面(我还特意细分了 2 大部分,我细心吧!)
Java 面试题(二)
Spring 面试题(一)
-
什么是 spring?
-
使用 Spring 框架的好处是什么?
-
Spri ne 由哪些模块组成?
-
核心容器(应用上下文)模块。
-
BeanFactory 一 BeanFactory 实现举例。
-
XMLBeanF actory
-
解释 AOP 模块
-
解释 JBC 抽象和 DAD 模块。
-
解释对象/关系映射集成模块。
-
解释 WEB 模块。
-
Sprinr 配置文件
-
什么是 Spring IOC 容器?
-
IOC 的优点是什么?
-
Appli cati onContext 通常的实现是什么?
-
Bean 工厂和 Application contexts 有什么区别?
-
一个 Spr ine 的应用看起来像什么?依赖注入
-
什么是 Sprine 的依赖注入?
-
有哪些不同类型的 I0C (依赖注入)的方式?
-
哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?
-
什么是 Spring beans?
-
一个 Spring Bean 定义包含什么?
-
如何给 Spring 容器提供配 2 置元数据?
-
你怎样定义类的作用域?
-
解释 Spr ing 支持的几种 bean 的作用域。
-
Spring 框架中的单例 bean 是线程安全的吗?
-
解释 Spr ing 框架中 bean 的生命周期。
-
哪些是重要的 bean 生命周期方法?你能重载它们吗?
-
什么是 Spri ne 的内部 bean?
-
在 Spring 中如何注入一个 java 集合?
-
什么是 bean 装配?
-
什么是 bean 的自动装配?
-
解释不同方式的自动装配。
-
自动装配有哪些局限性?
-
你可以在 Spring 中注入一个 nu11 和一个空字符串吗?
-
什么是基于 Jav 的 Sprine 主解配置?给一些注解的例子。
-
什么是基于注解的容器配置?
-
怎样开启注解装配?
-
@Required 注解
-
@Autowired 注解
-
@Qualifier 注解
-
在 Spr ing 框架中如何更有效地使用 JDBC?
-
JdbeTemplate
-
Spring 对 DA0 的支持
-
使用 Spr ing 通过什么方式访问 Hi bernate?
-
Spring 支持的 0RM
-
如何通过 Hi bernateDaoSuppor t 将 Spr ing 和 Hibernate 结合起来?
-
Spring 支持的事务管理类型
-
Spring 框架的事务管理有哪些优点?
-
你更倾向用哪种事务管理类型?
-
解释 AOP
-
Aspect 切面
-
在 Spring AOP 中,关注点和横切关注的区别是什么?
-
连接点
-
通知
-
切点
-
什么是引入?
-
什么是目标对象?
-
什么是代理?
-
有几种不同类型的自动代理?
-
什么是织入。什么是织入应用的不同点?
-
解释基于 XML Schem 方式的切面实现。
-
解释基于注解的切面实现
-
什么是 Spr ine 的 MYC 框架?
-
DispatcherSerlet
-
WebApplicati onContext
-
什么是 Spring MVC 框架的控制器?
Spring 面试题(二)
微服务面试题
Linux 面试题
Spring Boot 面试题
ring Cloud 面试题
RabbitMQ 面试题
kafka 面试题
互联网 Java 工程师面试题
... ...
私信我即可获取