93 lines
3.1 KiB
Plaintext
93 lines
3.1 KiB
Plaintext
# 一面
|
||
## 问有没有做过JAVA Web的项目,选一个讲
|
||
答:选择了一个做的CMS来讲,因为我是这个项目的总负责人
|
||
|
||
|
||
## 问项目上有没有遇到什么困难
|
||
答:没有。。
|
||
## 技术选型是如何决定的。
|
||
答:感觉不是真让回答技术选型的过程。我就对比了SpringMVC和struts的优缺点,Mybatis和Hibernate的区别。
|
||
然后他又问了为什么选择了shiro而不是spring security。我就说因为之前没有接触过权限管理的框架,在网上看帖子说spring security比shiro更为复杂和庞大,对于我们项目没有很多的时间和学习成本去接触spring security,shiro更容易上手。
|
||
|
||
|
||
## 数据库查询
|
||
三个表,其中一个表是其他两个表的关系表。问如何根据一个表的字段查找出另外一张表的字段。
|
||
回答出sql。
|
||
我回答了子查询,其实用join更好点,但是一时间不知道怎么join。
|
||
|
||
|
||
## 数据库索引有了解吗?索引的优缺点。
|
||
|
||
|
||
查询快,插入慢。所以适合查询为主的字段。
|
||
|
||
|
||
## 常用的集合有哪些
|
||
LinkedList,ArrayList,Hashmap。
|
||
|
||
|
||
## LinkedList和ArrayList的区别
|
||
底层实现不同。LinkedList双向链表,ArrayList数组。ArrayList插入慢,但是查询快。LinkedList插入快,查询慢。
|
||
|
||
|
||
## LinkedList的底层实现是怎么样的?假如往LinkedList的第k个位置插入数据,时间复杂度?最后一个位置插入呢?
|
||
双向链表。
|
||
第k个位置插入数据:k+1 ,遍历k位,插入一次。
|
||
最后一个位置:1。因为是双向链表。
|
||
|
||
|
||
## Hashmap能不能用对象做key。
|
||
可以。但是得重写hashcode方法和equals方法。
|
||
|
||
|
||
## Hashmap用对象做key时,put后,又修改了这个对象,会发生什么。
|
||
我就说那得看你设计的这个hashcode和equals方法跟你修改得属性有没有关系,假如有,那会导致put进去,get不出来
|
||
|
||
|
||
## java的异常分类
|
||
|
||
|
||
Error、Exception,还有一个比较特别的RuntimeException
|
||
|
||
|
||
## Java如何捕获异常
|
||
回答:try...catch..
|
||
然后问finally不是吗?
|
||
回答:不是。finally只是配合使用的,没有异常的时候单独使用finally也是可以的。
|
||
然后问 什么情况下会在finally里面写代码?
|
||
回答:举了数据库连接的例子。。
|
||
|
||
|
||
## JVM何时会发生内存泄露
|
||
不知道。。可以看这个帖子
|
||
http://blog.csdn.net/anxpp/article/details/51325838
|
||
|
||
|
||
看了这个帖子。。估计面试官是想问我数据库连接也会导致内存泄露吧。。。
|
||
## JVM的内存划分是如何的
|
||
堆,栈,方法区,程序计数器什么呢。
|
||
|
||
|
||
## 方法区都存放了哪些东西
|
||
类的信息,静态类和静态变量。
|
||
|
||
|
||
|
||
|
||
## 平常私下会做什么事
|
||
讲了我github一直在维护的个人项目。爬虫和tinyjvm。
|
||
|
||
|
||
## 算法题:0~n共n+1个数,从中随机抽取一个数,剩下的n个数都知道是什么,问随机抽出的数是什么。
|
||
|
||
|
||
刚开始回答了0~n加起来,然后减去剩下的n个数之和,就可以得到了。
|
||
他问假如n很大会发生什么情况?
|
||
我说会超出int或者long的最大值。
|
||
然后选择了bitmap的方式来解决,一个数对应一个bit。
|
||
#二面
|
||
聊项目
|
||
#HR面
|
||
聊性格
|
||
|