2018-01-26面试题整理

1、Spring MVC工作原理


a.客户端请求提交到前端控制器DispatcherServlet

b.由DispatcherServlet查询HandlerMapping 通过HandlerMapping找到处理请求的二级控制器Controller

c.DispatcherServlet将请求提交到Controller

d.Controller调用业务逻辑处理后 返回ModelAndView

e.DispatcherServlet查询ViewResoler视图解析器 找到ModelAndView指定的视图

f.视图负责将结果显示到客户端


2、jQuery可以对表单进行哪些操作


a.获取值

文本框、密码框、textarea

checkbox radio select

b.控制表单元素

text textarea 清空内容 填充内容

checkbox 设置打勾

radio 设置默认选项

select 添加option 清空option

c.触发事件

submit blur change


3、SQL分页查询


注意事项:

a.使用ROWNUM编号时 不要使用ROWNUM做>1以上的数字的判断 否则该结果集将得不到记录

b.在分页中有排序需求时 先排序再编号 再根据编号取范围

工资按照由高到低排序后取6-10名

排序 select name,sal,job,deptno from emp order by sal desc

编号 select rownum rn,t.* from (select name,sal,job,deptno from emp order by sal desc) t

取范围 select * from (select rownum rn,t.* from (select name,sal,job,deptno from emp order by sal desc) t) where rn between 6 and 10


4、SQL函数


字符串函数:

CONCAT ||

LENGTH

UPPER LOWER INITCAP

TRIM LTRIM RTRIM

LPAD RPAD

SUBSTR

INSTR

数值函数:

ROUND

TRUNC

MOD

CEIL FLOOR

日期转换函数:

TO_DATE

TO_CHAR

日期常用函数:

LAST_DAY

ADD_MONTHS

MONTHS_BETWEEN

NEXT_DAY

LEAST GREATEST

EXTRACT

空值函数:

NVL NVL2

聚合函数:

MAX MIN

AVG SUM

COUNT

SQL左右外连接

左外连接以左表中的数据为基准 若左表有数据右表没有数据 则显示左表中的数据 右表中的数据显示为空 右外连接反之


5、JSP九大内置对象


application

session

request

page

pageContext

config

response

out

exception


6、数据库优化:


a、建立有效的索引

b、sql语句优化 where条件靠前 缩小子查询的结果集 in exist

c、表结构优化,大表分割。


7、数据库缓存


提高访问性能,避免重复访问,执行同一个sql访问的是缓存的数据


8、高并发优化


a、数据库优化

b、代码优化 算法优化

c、服务器优化 分布式部署

d、jvm调优

e、页面优化 简洁 减少页面尺寸


9、使用jquery获取表格某行某列的值


.children().eq(3).children().eq(3).val()

get() eq()的区别 都是jquery提供的方法 get()返回DOM对象 eq()返回jquery对象


10、sleep wait的区别


sleep是Thread类的方法 wait是Object类中定义的方法

sleep()不释放同步锁 wait()释放同步锁 notify() synchronized


11、servlet生命周期


a.初始化阶段 调用init()方法

b.响应客户请求阶段 调用service()方法

c.终止阶段 调用destroy()方法


12、数组排序 集合排序


Arrays.sort() Collections.sort()自定义排序规则 重写Comparator接口 sort()方法里第二个参数new Comparator(){}


13、HashMap Hashtable区别


都实现Map接口 HashMap是线程不安全 性能更高

Map底层是散列表 即数组和链表的结合体

HashMap可以通过下面的语句进行同步

Map m = Collections.synchronizeMap(hashMap);


14、List Set


都实现Collection接口

ArrayLIst    数组 随机访问 异步 线程不安全

LinkedList  链表 插入删除 异步 线程不安全

Vector        数组                同步 线程安全

Set 不可重复集


15、String常量池


final 修饰 String类型是不可变的 因而String类是线程安全的

每当代码创建字符串常量时 JVM会首先检查字符串常量池 如果字符串已经存在池中 就返回池中的实例引用 如果字符串不在池中 就会实例化一个字符串并放到池中

StringBuilder StringBuffer

StringBuilder线程不安全 性能高于StringBuffer 建议使用StringBuiler


16、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法


栈:基本数据类型的变量 对象的引用 函数调用的现场保存

堆:对象

静态区:字面量 常量

你可能感兴趣的:(2018-01-26面试题整理)