朋友去阿里进行的技术面,历经了二个多小时,面试的是Java开发工程师,出来后立马拿手机记录了面试问的知识点,知识点包括Java基础和高级、spring、多线程、网络、数据库、算法、Redis、分布式、高并发等。
加上我自己总结的BAT面试Java高级爱问的知识点,组成了这些面试题!有需要的同学可以提早准备,文末有面试答案以及技术分享!
一、Java基础和高级
- 1.String类为什么是final的。
- 2.HashMap的源码,实现原理,底层结构。
- 3.反射中,Class.forName和classloader的区别
- 4.session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。
- 5.Java中的队列都有哪些,有什么区别。
- 6.Java的内存模型以及GC算法
- 7.Java7、Java8的新特性
- 8.Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高
- 9.Java内存泄露的问题调查定位:jmap,jstack的使用等等
由于篇幅限制,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以点击免费获取
二、spring框架
- spring框架中需要引用哪些jar包,以及这些jar包的用途
- srpingMVC的原理
- springMVC注解的意思
- spring中beanFactory和ApplicationContext的联系和区别
- spring注入的几种方式
- spring如何实现事物管理的
- springIOC和AOP的原理
- spring中循环注入的方式
- Spring AOP与IOC的实现原理
- Spring的beanFactory和factoryBean的区别
- Spring的事务隔离级别,实现原理
- 对Spring的理解,非单例注入的原理?它的生命周期?循环注入的原理,aop的实现原理,说说aop中的几个术语,它们是怎么相互工作的?
- spring boot特性,优势,适用场景等