1.做一个自我介绍。
2.数据结构了解多少?说说B+树。
B+树的应用如我们所熟知的MYSQL索引实现。balaba...感觉最后说了不少,但是没突出重点。
3.了解JDK源码吗?说说ArrayList和HashMap?
因为这是本人中简历中标出的两个,所以被针对性提问。
ArrayList实现List接口,底层是由数组实现,随机查找速度快0(1),插入和删除因为要移动数组元素所以效率慢。
HashMap实现Map接口。底层是数组加链表实现,线程不安全,允许存储Null键值对。装载因子0.75.
4.项目中使用什么ORM框架?
Hibernate
5.Hibernate和Mybatis如何比较?
Hibernate封装的功能完全,不需要手写SQL语句;Mybatis索引效率快,要手写SQL语句,但该特点可实现有针对性SQL优化...
6.说说Spring AOP?
面向切面编程:如声明式事务、日志等功能
7.IOC呢?
解释依赖注入。
之前程序员可通过new创建新实例对象,但是Spring可向容器索取使用注解:@Autowired自动装配....
8.注入方式都有哪些?
构造器注入,set方法注入...
9.说说线程。什么是线程什么是进程?
进程是正在运行的应用,线程是组成进程的单元。
10.项目中有没有用到线程相关的,如何解决的?
没答好...
总体上难度尚可,但是之前还是没摆正自己的位置,低估了本地公司的面试难度。
个人的知识点线还不是很完善,虽然说面试不会再出现紧张说不出话的情况,但是知识点准备的不充足,仍然会很影响面试结果。很多东西知识会用,但是没有深究其原理:
(1)Spring IOC,AOP 途径:github上找到spring开源库查看源码,技术博客总结
(2)框架应用的区别比较.用词还应更专业,途径:多看看技术博客,学习别人的总结
(3)数据结构。基础数据结构基本没问题,但是各种树,尤其应用底层的数据结构,应该好好去了解。途径:《算法4》、技术博客
(4)项目介绍的流程还应更加规范,多去深究底层原理。只会用不会说也很尴尬...
(5)SE基础:集合类、线程
最后一点最重要:摆正自己的位置!