今天给大家分享一篇 阿里巴巴Java一面凉经, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~
最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题。
点击下载完整PDF☞ 2022年最新Java面试题集
上次写过一面的,已经凉了,这个是新的部门的面试,没有笔试,直接就来电话,总共47分钟,面试官真的对我这个菜鸟耐心,下面来简单概括下问到的问题。
1.自我介绍
2.Java为何能跨平台,有JVM啊,然后马上开始问JVM相关,方法区,堆栈里面有啥,问堆里有啥,我说有新生代,老年代其他都不知道了,然后怎么进行垃圾回收,我还是不会这个啊。
3.static与final的区别。我就说static修饰的类直接调用方法,final类不能继承,方法不能覆盖。还是答得不够。
4.集合你了解的有哪些?List,map,set,说说ConcurrentHashmap跟Hashmap的区别吧,线程的安全性的区别,那前者线程安全如何实现?答1.7之前分段锁,1.8后CAS,有些什么属性呢?默认容量,负载因子,扩容阈值。分段锁是怎么具体实现的?这段自我感觉答得还行。
5.IO模型有了解吗?我好久没写这些了,只记得字节流字符流,要抛异常啥的,面试官给了个例子,答不会。
6.多线程有了解吗?我说了四种实现多线程的方式,Callable那块问的有点深。问如何开启新线程等,还有一些忘了。
7.在浏览器上输入网址,后面获取页面中间经历了什么,我主要答了个TCP的三次握手四次挥手,过程笼统地说了下,问如何解析网址,最终找到目标地址,我答了个DNS,还问我自己开发一个域名解析软件该怎么弄。
8.问JDBC的那些步骤,比如类加载啥的,那些步骤我好久没看也觉得用不到,不都用Mybatis了吗?就没记,说弄成工具类想跳过还是不行,我屈服了,后面问到类加载的一些知识,只能不会。
9.数据库有学过吗(因为开头我说了我不是CS专业的),问3行记录查询时间跟3000000行记录查询时间有区别吗?有啊,后者肯定慢啊,如何优化,加索引,还有换成NoSql,这几天刚好看这个想让他往这上面问,索引用到什么算法,答了个B+树,不过应该是B树吧,问具体B+树的实现,不会啊,上午看的二叉树,红黑树没猜到,哎。后面还问用NoSql安全吗?不安全啊,事务支持很弱,再深一点的我就不行了。
10.你有做过什么项目吗?没有啊,看你们的招聘没这要求就想来试试,后面说正在学Springboot打算结合vue做个关于我们专业也就是地理信息系统,(本来说了电商的,怕他会吐哈哈),有些啥功能呢?把高德地图提供的服务扯上,那如何将数据都录取到数据库中,瞎说用爬虫获取数据再放到数据库里面,毕竟我们专业的数据通常都很庞大,面试官也没说啥。
11.反问环节?你们这实习做些什么?跟他们上班差不多只不过稍微简单一点,再套路一下问有啥建议,就说基础再巩固下同时再去看看源码,终于比上次好点了(不过还是菜鸟)。
1.自我介绍
2.Java为何能跨平台,有JVM啊,然后马上开始问JVM相关,方法区,堆栈里面有啥,问堆里有啥,我说有新生代,老年代其他都不知道了,然后怎么进行垃圾回收,我还是不会这个啊。
3.static与final的区别。我就说static修饰的类直接调用方法,final类不能继承,方法不能覆盖。还是答得不够。
4.集合你了解的有哪些?List,map,set,说说ConcurrentHashmap跟Hashmap的区别吧,线程的安全性的区别,那前者线程安全如何实现?答1.7之前分段锁,1.8后CAS,有些什么属性呢?默认容量,负载因子,扩容阈值。分段锁是怎么具体实现的?这段自我感觉答得还行。
5.IO模型有了解吗?我好久没写这些了,只记得字节流字符流,要抛异常啥的,面试官给了个例子,答不会。
6.多线程有了解吗?我说了四种实现多线程的方式,Callable那块问的有点深。问如何开启新线程等,还有一些忘了。
7.在浏览器上输入网址,后面获取页面中间经历了什么,我主要答了个TCP的三次握手四次挥手,过程笼统地说了下,问如何解析网址,最终找到目标地址,我答了个DNS,还问我自己开发一个域名解析软件该怎么弄。
8.问JDBC的那些步骤,比如类加载啥的,那些步骤我好久没看也觉得用不到,不都用Mybatis了吗?就没记,说弄成工具类想跳过还是不行,我屈服了,后面问到类加载的一些知识,只能不会。
9.数据库有学过吗(因为开头我说了我不是CS专业的),问3行记录查询时间跟3000000行记录查询时间有区别吗?有啊,后者肯定慢啊,如何优化,加索引,还有换成NoSql,这几天刚好看这个想让他往这上面问,索引用到什么算法,答了个B+树,不过应该是B树吧,问具体B+树的实现,不会啊,上午看的二叉树,红黑树没猜到,哎。后面还问用NoSql安全吗?不安全啊,事务支持很弱,再深一点的我就不行了。
10.你有做过什么项目吗?没有啊,看你们的招聘没这要求就想来试试,后面说正在学Springboot打算结合vue做个关于我们专业也就是地理信息系统,(本来说了电商的,怕他会吐哈哈),有些啥功能呢?把高德地图提供的服务扯上,那如何将数据都录取到数据库中,瞎说用爬虫获取数据再放到数据库里面,毕竟我们专业的数据通常都很庞大,面试官也没说啥。
11.反问环节?你们这实习做些什么?跟他们上班差不多只不过稍微简单一点,再套路一下问有啥建议,就说基础再巩固下同时再去看看源码,终于比上次好点了(不过还是菜鸟)。
10多分钟后看了,又凉了,补充下一开始面试官还问我成绩怎么样?我成绩很一般啊,他的语气就稍微有点失望的那种,哎既要本专业优秀同时学的这些也要掌握很多难度还是很大啊。