一、集合
作为一个程序员八大基本数据类型我竟然没有按照顺序去记
1.byte short int long (由小到大的整数)
float 单字节 double双精度 char字符 boolean
2.List set 与map的区别
3.性能方面与容错方面分析两者remove方法的区别
Iterable (remove方法) | Conllection (remove方法) |
---|---|
无参 | 有参(object) |
必须结合next()方法 拿下个删除 | 单链表结构 从第一个开始找目标 |
下标会变 可能会报错 |
4.结合了胡哥的图自己简短的总结一下
5.怎样用List打乱顺序
6.HashMap的工作原理
- 数组转集合:toarray
集合转数组:aslist
二、框架
我们今天来整理一下框架
1.Spring:(容器)轻量级框架 / 非侵入式框架(不依赖于任何框架)
- Ioc:控制反转 / 依赖注入(把原本应该我们去new对象的这个操作转到Spring容器中)
- Aop:面向切面编程(本质拦截器)
2.ssh与ssm的区别
ssh(struts2+spring+hibernate)
ssm(spring+springmvc+mybatis)
所以总的来说就是struts与springmvc 和 hibernate与mybatis的区别
struts2 | springmvc |
---|---|
基于类(每发一次请求都会实例一个Action) | 基于方法 |
入口是Filter | 入口是Servlet |
开发效率较低 | 开发效率高(支持JSR303验证接口/处理ajax请求更方便 |
hibernate | mybatis |
---|---|
重量级框架(全封装) | 轻量级框架(半封装) |
性能低 | 性能高 |
自动生成sql不可优化 | sql可优化 |
完整的ORM框架 不可管理 | 可管理(ORM对象管理 自行管理映射管理 |
mybatis:
#{} :
${} :
一级缓存:session(默认)
二级缓存:sessionFactory(默认)
三、面试总结
模拟面试总结
1.存储过程:一段预编译的sql代码
2.数据优化:
- 遵循三大范式
- 建立索引
- 为提高查询
- 分表分库存储
- Sql代码全部大写
- 查询尽量不用*
- 适当建立视图与存储过程
- 子查询尽量用连表查询代替
3.三大范式:
- 对属性的
原子约束 - 对记录的
唯一约束 - 对字段行的
约束
四大特性:原子性 隔离性 持久性 唯一性
3.多线程:
4.String StringBuffer StringBuilder之间的区别
- String:长度不可变 最慢 用于少量字符串操作
- StringBuffer:用于多线程大量字符串操作
- StringBuilder:运行速度最快 最不安全 用于单线程少量 字符串操作
5.JSP的九大内置对象:page request session application (jsp四大作用域) response pagecontext config exception out
6.SpringMvc的工作原理
正式面试总结
-
数据结构的几种形式存在:list set map
-
Linux的目录切换命令:
-
redis缓存作用: 用于几乎不修改的大量数据查询
redis缓存怎样实现与数据库同步:(注解) -
前端的主键有哪些:
easyui有哪些参数:
easyui的主键怎样生成: -
springmvc(区别:分别如何定义)
返回jsp页面 | 返回json数据 |
---|---|
- springmvc的注解:
@RequestMapping:
@constroller:控制层的注入
@Autowired:
@responsebody