面试提问

1.怎么理解spring中的aop(面向切面编程)和ioc(控制反转)

2.线程池的原理,怎么实现?谈谈对进程的理解?进程死锁的原因?如何解决进程死锁?线程安全是什么?

3.连接池的原理和机制

4.内存溢出与内存泄漏

5.不增加服务器的情况下,怎么解决高并发

6.扩容和底层:hashmap,list  hashtable,concurrenthashmap

7.String stringBuff与StringBuillder区别

8.什么是索引,索引的优缺点是什么?如何创建和删除索引?


9.sql优化

创建索引

where子句查询的时候先分组后查询

where里面尽量用>=替换>

不用*,用表中的关键字段

where子句查询的时候,oracle是从后到前面,所以oracle的索引在where第一顺位 mysql 相反,索引要放在后面

sql语句都大写

索引尽量不计算 若是计算就取消索引

不做外键约束,做等值查询

不做检查约束,在java代码中或者前台页面中约束


10.乐观锁与悲观锁


11.mybatis和springmvc的工作原理--阿里面试


12.redis的缓存和数据类型

数据类型:string,hash,list,set,zset

Snapshotting与AOF的对比

    1>RDB体量更小,AOF文件体量更大

    2>RDB的同步时间间隔大,AOF同步时间间隔小

        所以,AOF更能保证数据的安全

    3>RDB有更快的恢复速度,可以用来做数据版本控制

    4>通过使用RDB和AOF,用户可以在重启或系统崩溃后保留数

        据,但随着负载量变大和数据安全越来越重要,可以使用 

        redis的复制特性做更好的数据安全保障

Snapshotting与AOF的文件存储目录

  在redis配置中: dir  /usr/local/redis/7007


13.shiro的使用配置


14.aop前置环绕(mysql的日期字符串功能)


15.mysql日期转换, 分页处理


16.高并发的原理,解决方案


17.数据库中有没有事务


18.拦截器的使用


19.AJAX技术体系的组成部分有哪些

HTML,CSS,DOM,XML,XMLHTTPRequest,javascript

你可能感兴趣的:(面试提问)