奇安信Java社招面筋分享
1、session和cookie的区别?
2、cookie里一般存些什么?
3、什么东西可以让你每次请求都把SessionId自动带到服务器呢?
4、IOC,AOP
(1)IOC:
控制反转,是一种设计模式。一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制;第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。他们的依赖关系只在使用的时候才建立。简单来说就是不需要NEW一个对象了。
(2)AOP:
面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。这个简单来说就是可以在一段程序之前或者之后做一些事。
(3)Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。但AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便。
5、索引的底层原理,特点。索引字段的长度对索引的影响。
6、hashMap及解决冲突的方式。
7、项目中用ThreadLocal的原因及源码。
8、jvm,gc,新生代晋升到老年代的方式。
(1)Eden区满时,进行Minor GC,当Eden和一个Survivor区中依然存活的对象无法放入到Survivor中,则通过分配担保机制提前转移到老年代中。
(2)若对象体积太大, 新生代无法容纳这个对象,-XX:PretenureSizeThreshold即对象的大小大于此值, 就会绕过新生代, 直接在老年代分配, 此参数只对Serial及ParNew两款收集器有效。
(3)长期存活的对象将进入老年代。虚拟机对每个对象定义了一个对象年龄计数器。当年龄增加到一定的临界值时,就会晋升到老年代中,该临界值由参数:-XX:MaxTenuringThreshold来设置。
9、bean的作用域。
10、联合索引,若(a,b,c)是主键,根据b,c查询会不会用到索引,怎么知道?
11、项目中是怎么用redis的,redis的一些基础问题。
12、知道的mysql的优化方式。
(1)选取最适用的字段属性
(2)使用连接(JOIN)来代替子查询(Sub-Queries)
(3)使用联合(UNION)来代替手动创建的临时表
(4)事务
(5)锁定表
(6)使用外键
(7)使用索引
(8)使用优化的查询语句
13、做索引需要有哪些条件?
14、mybatis的一些基础?
15、说一下http协议。