- 自我介绍 + 项目介绍
- 项目问了大概15分钟,问的很多细节和假设场景后该如何实现,而且后面问到一些知识点的时候也会结合我的项目进行场景假设
- Java的数据类型
- 数组是什么类型,这个引用类型是谁定义的(没理解)。数组元素可以是原生的也可以是引用的,那你觉得这两个在内存上的区别是什么
- 如何理解集合框架,对哪些类比较了解,HashMap的实现,负载因子调大调小的影响(有点紧张,忘了)
- HaspMap中为什么用红黑树,而不用其它的比如平衡二叉树等
- JDBC熟悉吗(不太熟悉,有点忘了,最近都在用框架),结合了我的项目连续问,假设系统访问量很大了,数据库连接创建开销比较大,每次连接都需要一定时间,该如何优化(加缓存吗),嗯...加缓存也是一种,但是有缓存失效或者其他问题...换而言之,如何减少数据库连接创建的开销(数据库连接池吗),对对对(原来在这里等我,一开始想错了,总在想缓存的问题),数据库连接池如何解决问题的(答的提前创建,没说全,好多忘记了,说了点池化技术,结果给自己挖了坑),池化技术的核心在哪,了解apache的那个关于池化技术的开源项目吗commons.pool(连续连续问了几个都不会)
- 如何理解Spring的IOC和Aop,IOC体现在哪,除了Spring创建对象和依赖注入,IOC还有哪些方面比较好的(想不到了,简单解释了什么是控制反转没用啊,不知道还要说啥,主要是也不了解底层实现)
- 从整个Java体系来看,如果要你来实现aop,你会怎么实现,编译怎么实现,aspectj aop了解吗(ssm框架只会用,问的好多都只能说很片面或者基础的东西,即使不断引导,也答不出来,太菜了)
- Java异常体系(异常没有系统看过,只记得一个运行时异常),项目中你自定义异常时如何抛出异常,引导:怎么抛出异常信息(没get到意思),那你观察过使用框架时是它们如何抛出异常的(最后面试官说出本意是想让我回答异常信息不只是抛出什么异常还要告知具体异常在哪等等信息)
- 算法:说下解决思路就可以
给你两个50G的文件,文件里包含很多url,但是电脑内存只有4G,用什么方法找出两个文件相同的url(大文件拆分小文件,在进行比较),这样做是不是复杂度太高了,想一下如何进行拆分(url长度相同的进行分组可以吗)嗯...这也是一种分组的方法,但是url很长,分组特别多怎么办(想不到了),那你觉得能结合HashMap的思想来解决吗(最后经过不断引导大概懂了)
反问:(15分钟)这环节相当轻松,面试官跟我聊了不少东西
有什么建议(面试官很好,提了几点不错的建议)
阿里一般需要几面(本科应届生的话一般四面左右吧)
笔试没影响吗,我的笔试好像做的不怎么好,像阿里这种是不是最少都会给个一面的机会(不是很清楚,电话面应该大部分都会有的)
面试时长1个小时4分钟,面试小哥哥比较善良,有耐心,很多答不出来的都会进行引导,但是奈何太菜,引导了也答不出来。总的来说发现了很多问题(不熟悉的都来了),比如异常、JDBC、数据库连接池、Spring IOC和AOP问的好难。面试官说他那没有简历,我又第一次面试完全不知道怎么引导问题方向,哎,太难了,问了好多不擅长的(最近看的集合框架、JUC等等的一些源码都没有用武之地)。主要还是吸收些经验吧,初体验给了阿里也算不错。
全部评论
(3) 回帖