【面试】面试相关 - 01
前言
这两天在北京面试中,面试的时候是真的紧张,一紧张脑子里面装的东西就全都不见了。比如说:抽象类和普通类的区别这样简单的东西,顺带吐槽一下北京这边天气确实很干燥,刚来那几天还是有点不太适应。下面整理下一些提问到我的和其他的一些面试中问到的题目。
面试题
普通类和抽象类的区别?
- 抽象类不能被实例化;
- 抽象类可以有构造函数,抽象方法不能被声明为静态;
- 抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体;
- 含有抽象方法的类必须申明为抽象类;
- 抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类。
JDBC连接数据库的流程
- 注册驱动;
- 建立连接;
- 创建Statement;
- 执行sql 语句;
- 处理结果集(若sql 语句为查询语句);
- 关闭连接。
Statement和PreparedStatement有什么区别?
- 两者都是用于执行sql的语句句柄;
- Statement执行的SQL语句必须是一个完整的SQL语句;
- PreparedStatement可以使用问号(?)作为占位符,然后使用set方法设置占位符的值;
- Statement如果SQL当中出现了引号(')或者减号(-)等符号时,要用转义字符(\)来进行转义;
- PreparedStatement会对SQL语句进行预编译,执行时需要给对应的占位符赋值;
- PreparedStatement效率比Statement高。
如何让优化SQL?
- 写清楚具体的查询字段,减少*的使用,返回无用的字段会降低查询效率;
- 避免在字段开头模糊查询,会导致数据库引擎放弃索引进行全表扫描;
- 尽量避免进行null值的判断,会导致数据库引擎放弃索引进行全表扫描;
- 在表中建立索引,优先考虑where、group by使用到的字段。
SpringMVC的controller是单例的还是多例的?
- 默认情况下controller是单例模式
总结
第一次面试经验不足,很多东西不会说,一紧张什么都忘记了,不过嘛多试几次就能习惯了吧。下次继续加油,以上就写了一部分,不想写了就这样了!!!
大佬牛逼,来帮忙拔草了
没这么多草(≧m≦)