模拟面试总结3
1、String、StringBuffer、StringBuilder的区别
String 字符串常量、StringBuffer 字符串变量(线程安全)、StringBuilder 字符串变量(非线程安全)
参考链接:
https://www.cnblogs.com/goody9807/p/6516374.html
2、int和Integer的区别
Integer是int的包装类,int则是java的一种基本数据类型
参考链接:
https://www.cnblogs.com/guodongdidi/p/6953217.html
3、Object类里面的方法
构造函数,hashCode() 和 equals() 函数用来判断对象是否相同,wait(), wait(long), wait(long,int), notify(), notifyAll() 线程等待和唤醒。toString() 和 getClass(),clone(),finalize() 用于在垃圾回收。
参考链接:
https://baijiahao.baidu.com/s?id=1623176133818131097&wfr=spider&for=pc
4、接口和抽象类的区别
抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。
接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。
参考链接:
http://www.importnew.com/12399.html
5、线程的生命周期
在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。
参考链接:
https://www.cnblogs.com/sunddenly/p/4106562.html
6、MySQL的事务隔离级别
补充:
1、SQL规范所规定的标准,不同的数据库具体的实现可能会有些差异
2、mysql中默认事务隔离级别是可重复读时并不会锁住读取到的行
3、事务隔离级别为读提交时,写数据只会锁住相应的行
4、事务隔离级别为可重复读时,如果有索引(包括主键索引)的时候,以索引列为条件更新数据,会存在间隙锁间隙锁、行锁、下一键锁的问题,从而锁住一些行;如果没有索引,更新数据时会锁住整张表。
5、事务隔离级别为串行化时,读写数据都会锁住整张表
6、隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大,鱼和熊掌不可兼得啊。对于多数应用程序,可以优先考虑把数据库系统的隔离级别设为Read Committed,它能够避免脏读取,而且具有较好的并发性能。尽管它会导致不可重复读、幻读这些并发问题,在可能出现这类问题的个别场合,可以由应用程序采用悲观锁或乐观锁来控制。
参考链接:
https://blog.csdn.net/dagailv/article/details/79905894
7、合并分支和Git工作流
参考链接:
https://www.cnblogs.com/zsh-blogs/p/10622753.html
8、排序算法
插入、快排
参考链接:
https://blog.csdn.net/hellozhxy/article/details/79911867
9、Redis基本数据类型
String、Hash、List、Set、Zset
参考链接:
https://www.cnblogs.com/zsh-blogs/p/10630444.html
10、GET请求参数长度限制
Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。
Google (chrome)
URL最大长度限制为8182个字符。
参考链接:
https://blog.csdn.net/a460550542/article/details/72511343
11、Restful风格接口
参考链接:
https://www.cnblogs.com/wangwiz/p/restful.html
12、单例设计模式、设计模式及其作用
单例模式、工厂模式、策略模式、观察者模式、迭代器模式
参考链接:
https://blog.csdn.net/kefengwang/article/details/81430694
13、跨域问题前后端解决方案
(1)利用SpringMVC @CrossOrigin注解
(2)使用nginx作为反向代理
(3)修改浏览器配置解决跨域
(4)使用jsonp解决跨域
(5)CORS解决跨域
参考链接:
https://blog.csdn.net/cuixiaogang110/article/details/81948173
https://blog.csdn.net/qq_43486273/article/details/83272500
14、native关键字
用于Java调用其他语言类库
参考链接:
http://www.cnblogs.com/Qian123/p/5702574.html#_labelTop