CS-Notes/notes/面经/亚辉的面试经验-cvte.md.txt
2018-02-22 14:47:22 +08:00

93 lines
3.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 一面
## 问有没有做过JAVA Web的项目选一个讲
选择了一个做的CMS来讲因为我是这个项目的总负责人
## 问项目上有没有遇到什么困难
答:没有。。
## 技术选型是如何决定的。
感觉不是真让回答技术选型的过程。我就对比了SpringMVC和struts的优缺点Mybatis和Hibernate的区别。
然后他又问了为什么选择了shiro而不是spring security。我就说因为之前没有接触过权限管理的框架在网上看帖子说spring security比shiro更为复杂和庞大对于我们项目没有很多的时间和学习成本去接触spring securityshiro更容易上手。
## 数据库查询
三个表,其中一个表是其他两个表的关系表。问如何根据一个表的字段查找出另外一张表的字段。
回答出sql。
我回答了子查询其实用join更好点但是一时间不知道怎么join。
## 数据库索引有了解吗?索引的优缺点。
查询快,插入慢。所以适合查询为主的字段。
## 常用的集合有哪些
LinkedListArrayListHashmap。
## 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面
聊性格