辞职半个月后,这次算是毕业以来第一次正规面试,之前应聘也有过面试也不是说不正规,只能说都是适合没有开发经验、技术不太熟悉的应试者的,进门先给一份试题让填,上面都是问List、Map、Set的区别,是否使用过框架,String、StringBuff的区分等(以上个人观点,不喜勿喷)
这次面试是公司发起的邀请,去了之后对公司第一印象不是很好,但是想到只是一个驻点也就释然了。面试失败的原因主要在自己身上,辞职之后休息了一段时间期间不做任何复习,导致接到面试邀请后匆忙的去面试。
面试官问的问题或许我们都知道是什么,但是如果不能用文字表达出来面试官是不清楚你是否了解或者掌握这门技术,以下是我面试的时候面试官问的部分问题:
一、Spring是什么?
1. Spring是一个IOC和AOP容器框架。
2. Spring的核心就是控制反转(IOC)和面向切面编程(AOP)
3. IOC(控制反转),将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合
4. AOP :将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,实现了按照方面编程,提高了复用性
延伸: 请你说一下Spring的优点?
a:低侵入式设计,独立于各种应用服务器
b:依赖注入特点性将组件关系透明化,降低耦合度
c:与第三方框架具有良好的整合效果
二、Springmvc怎么访问控制层(怎么确定访问哪个控制层)?
1. 用户请求发送到前端控制器(DispatcherServlet)
2. 前端控制器调用处理器映射器(HandlerMapping)根据请求的url查找相应的Handler(控制器/层)。(根据xml配置或注解进行查找)
3. 前端控制器调用处理器适配器(HandlerAdapter)去调用控制器的方法后,就会向前端控制器返回一个ModelView,包含我们需要信息的pojo对象和视图信息。
4. 前端控制器开始解析视图信息,通过视图解析器(View Resolver),进行视图解析,解析完视图信息后,就把modelview中的model信息传递到我们的view界面上
三、hibernate的数据状态?
1. 临时态(Transient ):不存在于session中,也不存在于数据库中的数据,被称为临时态。
2. 持久态(Persistent):存在于session中,事务还未提交,提交之后最终会进入数据库的数据。
3. 游离态(脱管态,Detached ):存在于数据库中,但不存在于session中的数据,被称为游离态。
四、MySQL触发器的写法?
CREATE TRIGGER 自定义名称
触发时机 触发事件 ON 触发事件所在的表名
FOR EACH ROW
触发需要执行的逻辑;
五、怎么利用Maven打包成war或jar?
打开cmd,切换到Maven项目的根目录,然后执行命令:mvn clean package
延伸:如何确定打包结果是否为war或jar?
主要是通过pom.xml决定你要打什么包
七、freemarker怎么判断大小?
freemarker判断大小最好使用 gt、lt 来进行判断,gt 表示大于,lt 表示小于
八、mui APP项目和web项目的区别
APP项目:将web的资源全部打包为本地文件,这样的app上线后不会再从服务器请求资源,每次更改需要重新上传新的app。
web项目:可以用浏览器打开,一般用手机浏览器使用或者微信公众号。
wap2app:用app原生代码先搭一个框架,然后我们的网页通过webview嵌入到里面,这时的网页是从服务器请求的,所以只要服务器的文件发生更改,就可以随时改变app里的内容了。
九、jQuery循环list方式
$.each(list, function(index, e){
// index list中的索引
// e list中的元素
});
十、解释一下MySQL的左右连接
1.内连接,显示两个表中有联系的所有数据;
2.左链接,以左表为参照,显示所有数据,右表中没有则以null显示
3.右链接,以右表为参照显示数据,,左表中没有则以null显示
总结:失败的原因是因为没有好好去温习回顾,以至于最基本的原理或者理论知识都忘记了
以上问题如果有不对的地方希望大神指点一下,谢谢!