本文首发于cartoon的博客
转载请注明出处:https://cartoonyu.github.io/cartoon-blog/post/interview-question/java-interview-question22/
- Get和 Post 请求有哪些区别?
- Get方法不改变数据库状态,POST会改变数据库状态
- 回退页面/刷新时,Get不会再提交数据,Post会再次提交数据
- Get能被客户端缓存或保存,Post不能
- Get的数据长度受url限制,Post数据放在requestBody上,不受url限制
- 如何实现跨域?
- 参考博客:https://blog.csdn.net/ligang2585116/article/details/73072868
- 图片ping或script标签跨域
- JSONP跨域
- CORS
- window.name+iframe
- window.postMessage()
- 修改document.domain跨子域
- WebSocket
- 代理
- 说一下 JSONP 实现原理?
- 尚未接触
- 说一下你熟悉的设计模式?
- 代理模式。程序调用子模块通过代理实现
- 观察者模式(观察者角度)
- 主动式
- 观察者持有主题的引用
- 主题发布更新,并通知观察者
- 观察者调用主题成员方法获取更新
- 被动式
- 主题持有观察者列表
- 主题发布更新,并循环列表向观察者发布更新内容
- 主动式
- 单件模式
- 当前类在系统中只有一个对象
- 利用volatile以及synchronized保证多线程下的安全
- 策略模式
- 将实体属性与行为分开
- 行为通过接口注入的形式注入到实体中