一面(以下顺序不代表面试问的顺序,记不清了)
java基础方面
- 了解map吗?经常用的map有哪些?里面的方法?
- map的底层源码了解吗?他的存储数据的方式和结构是怎么样的?扩容机制?
- hashmap的线程安全问题,底层源码?后续:怎么才能让hashmap变为线程安全的?ConcurrentHashMap底层实现?
- 包装类和基本数据类型之间的,你的认识,包装类的源码了解过吗?问了一个Integer的相等问题,包装类中有缓存机制,-128- 127之前,用== 进行比较的话是相等的,返回true,超过这个范围就是false了
- String的了解多吗?看过源码没有?回答完之后,String可变吗?为什么?然后出了一些题目,都是String的常考的那些题,可以在网上看,就是一些例子
- 多线程的知识?用过没有,理解,网上的高频题那些东西
- ps: java很看重源码
项目和mysql方面
- 做过什么项目?用到的技术栈
- 前端框架和后端的框架了解那些?
- 在做项目时进行了数据的优化或者结构的优化没有?
- 写模糊查询的sql语句,然后写完问,很大数据量的时候该怎么办,自己项目中有遇到过吗?怎么优化的当时?当时只答了优化思路,自己没写过,上了天百条数据量的级别。建立索引
- 建立索引的原则,索引什么时候会失效?
- jdbc中是怎么处理事务的
- 在项目中有没有优化过接触过事务?怎么处理并发情况?例如转账
- jdbc要注意什么?你是怎么编写的?在用完之后,需要干什么?
- 有用框架写项目吗?进行数据库连接你是怎么连接的?是德鲁伊连接池还是普通jdbc?要注意什么,怎么引入连接
- mysql四大特性和四大隔离级别?详细说明还有会出现的各种读取数据错误的情况,举例说明?脏读,不可重复读,幻读
算法
- 判断链表是否有环?
- 给定一个数组,找出现次数?去重?所有的思路?
总体面试感觉不错(是感觉,不是说正确率和回答的很好),面试官很好,有回答错的都指出来了,并且和我说了正确的答案,让我又学习了一波。自己还是要加油,不会的还是有很多。