为了账号安全,请及时绑定邮箱和手机立即绑定

面试小记

这几天面试整理一下问题和答案方便复习。
框架
Spring工作原理或特点(ioc,di,aop)?
Ioc 控制反转
Di 依赖注入
Aop 横切思想

Spring的AOP那些地方用过?
横切思想,在权限管理,敏感词汇拦截,日志记录可以使用。

SpringMvc和strust2的区别?
SpringMvc是单例设计模式,springMvc特点:有rest风格,可以数据绑定。
Strust2是非单例设计模式

Mybatis的作用?

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

#{}和${}的区别?
#{}更安全,是预编译过的,会自动加双引,可以防止注入式攻击。
${}不安全,字符串拼接,会被注入式攻击。

Hibanate缓存?
一级缓存,存于session中。有事务提交时就被销毁。
二级缓存,存于xml文件中。一般在查询时使用,提高效率,缓存中有要的数据就不用再次访问数据库。(像股票这种不支持脏数据,不能有缓存。)


JAVA基础
Cookie和session的区别,cookie的生命周期怎么设置?
Cookie 只能存字符串,存在本地中,能设置生命周期。
Session 可以存对象,作用域介于浏览器开启到关闭。
Cookie的生命周期可以通过max-age来设置有效期。

String和StringBuffer区别?
String 不可变字符串,非线程安全。
Stringbuffer 可变字符串,线程安全。

序列化?
用关键字Serializable修饰,用于解决对象流输出是遇到的问题。
序列化,把对象转换成字节码进行读取。
反序列化,把字节码转成对应的对象。

线程和进程的区别?
线程是进程的一部分。一个进程可以包含多个线程。

按值和按引用传递?
值传递,只传递值。相当于传递了一个对象副本。副本的值被改变,原对象不受影响。
引用传递是指对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象的改变会反映到实际的对象上。

抽象类和接口区别?
接口的方法都是抽象方法,抽象类可以有非抽象方法。
接口只能定义静态变量,抽象类都可以。
抽象是单一继承,接口可以多重实现。

单例模式的好处?
节省内存,一个类只有一个实例
要知道饿汉模式(一开始就创建,定义时new出来)和懒汉模式(定义时为null,要用时才创建)   会写。

事务?
一起完成,一起失败。
ACID 原子性,隔离性,一致性,持久性。

集合的接口有哪些?线程安全的有哪些?
Map,Set,list
线程安全:vector,hashtable

反射作用?
调用一些私有方法,实现黑科技。比如双卡短信发送、设置状态栏颜色、自动挂电话等
实现序列化与反序列化,比如PO的ORM,Json解析等
实现跨平台兼容,比如JDK中的SocketImpl的实现
通过xml或注解,实现依赖注入(DI),注解处理,动态代理,单元测试等功能。比如Retrofit、Spring或者Dagger

前端技术
Ajax的运用,有哪几种?
$.ajax
$.get
$.post
$.getJSON

JQuery选择器哪几种?
标签选择器,类选择器,id选择器,子选择器。

Jq和js的区别?
可以把jquery 理解成js的封装,使js更加简洁,快捷。它把相同的操作封装起来,使用的时候直接调用。

一个input的id是a,分别用js和jq获取值。然后删除这个标签?
Js:document.getelementbyid("a").value
Jq:$("a").val()
删除标签可以用remove。

数据库
Oracle数据库char和varchar的区别?
CHAR的长度是固定的,而VARCHAR2的长度是可以变化的。
CHAR的效率比VARCHAR2的效率稍高。
CHAR(10)若输入数据的字符数小于10,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。VARCHAR(10)数据类型的存储长度为实际数值长度。


游标,存储过程,触发器?
创建游标:create or replace package mypackage as type myCursor is ref cursor end package.
往游标赋值:open
获取游标里的值:fetch
创建存储过程:Procedure
入参用in 返回值用out
调用:call procedure
Trig


数据库连接(左连,右连,内连,外连)?
左连,显示左表所有数据,右表没有的显示null
右连,显示右表所有数据,左表没有的为null
内连,只显示两边中共有的
外连(完整连接),显示所有,没值的为null
https://img1.sycdn.imooc.com//5b6a2b5e0001bdcc02700698.jpg

怎么优化数据库?
建立索引(聚集索引和非聚集索引)
优化查询语句(limit 1)

数据库设计三范式?
一,保持原子性,即列不可再分割(例:地址或是电话,电话可分公司电话和私人电话)
二,非主键字段要依赖主键。避免冗余。(例:订单id,订单名称,订单时间,用户,地址。用户,地址应在用户表中。)
三,普通字段不可相互依赖(表分离)


持续更新中。。。

点击查看更多内容
10人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消