面试准备

spring的作用:

1:管理对象  IOC+AOP
2:框架/组件的集成

spring的ioc容器是在tomcat启动的时候加载并解析
spring-mvc的ioc容器是在请求第一次到达的时候加载解析

IOC:
一种描述对象如何创建,以及对象之间依赖关系如何形成的技术

spring中提供的两种IOC工厂:
1:BeanFactory的直接实现子类
XmlBeanFactory
2:ApplicationContext的直接实现子类
ClassPathXml  FileSystemxXml  Web

区别:实例化bean的时机不同 
BeanFactory 在getBean()时,实例化指向的Bean
ApplicationContext 解析IOC容器时,一次性将所有的bean全部实例化


AOP:
aop全称 aspect oritened prgramming面向切面编程,是为了弥补OOP编程思想的不足而提出的;
oop在分析一个系统的时候,将整个系统划分成一个个对象,通过对象之间的继承关系实现系统的组装,也就是我们说的面向对象编程;
aop不同,它在分析系统时将系统划分成一个个服务或者二是功能,aop将这些服务划分为两大类:核心业务逻辑+非核心通用服务(权限、事务、异常、安全等),
aop的关注点在非核心通用服务,它将非核心通用服务封装成一个个组件(不再像oop那样分装成object对象),通过在xml中以配置+引用的方式将非核心通用服务添加给需要的核心业务逻辑,从而实现对象的解耦。

WEB:
ContextLoaderListener

MVC:
DispatcherServlet extends HttpServlet


spring-mvc请求处理流程:
客户端提交的hello.do => 提交到web.xml => 被DispatcherServlet拦截 => ioc容器中注册的请求解析器 => 字符?字节? => <context:component-scan> => "/hello" 
=> ioc容器中查找对应的请求处理器 匹配controller requestmapping(path) => 方法返回类型  String、ModelAndView 


事务:
四个特性:
原子性:事务是不可分割的
持久性:要将数据持久化进入数据库
隔离性:事务具有四个隔离级别

一致性:持久化进入数据库中的数据类型不能发生改变


foreach:
    底层使用迭代器实现,允许只读操作,添加删除修改会导致CME(并发修改异常)

volatile:
    volatile关键字修饰的变量在进行写操作的时候回触发两件事情。
      1:将当前处理器缓存行中的数据写到主内存,也就是我们所说的系统内存,也就是物理内存
      2:写回内存的操作导致其他CPU中缓存了该数据地址的数据无效。


      处理器为了提高处理速度,不直接和内存进行通讯,而是先将系统内存的数据读到内部缓存(L1,L2或其他)后再进行操作,但操作完之后不知道何时会写到内存,如果对声明了Volatile变量进行写操作,JVM就会向处理器发送一条Lock前缀的指令,将这个变量所在缓存行的数据写回到系统内存。但是就算写回到内存,如果其他处理器缓存的值还是旧的,再执行计算操作就会有问题,所以在多处理器下,为了保证各个处理器的缓存是一致的,就会实现缓存一致性协议,每个处理器通过嗅探在总线上传播的数据来检查自己缓存的值是不是过期了,当处理器发现自己缓存行对应的内存地址被修改,就会将当前处理器的缓存行设置成无效状态,当处理器要对这个数据进行修改操作的时候,会强制重新从系统内存里把数据读到处理器缓存里。

集合:
  CopyOnWrite : http://ifeve.com/java-copy-on-write/
      是一种程序设计中的优化策略(延时懒惰策略),基本思路就是一开始大家共享同一个内容,当有人想修改这个内容的时候,才会真正的把内容Copy出去一份形成一个新的内容进行修改。
      JDK1.5,CopyOnWriteArrayList||CopyOnWriteSet
      
  Queue : http://blog.csdn.net/paranoia_zk/article/details/72866757
      队列是一种特殊的线性表,遵从FIFO原则,LinkedList实现了Queue接口,完全可以把LinkedList当做队列来使用。

  ConcurrentHashMap : http://www.importnew.com/22007.html


线程:
    
    Thread和Runnable的区别和联系  :http://aijuans.iteye.com/blog/1850109
        实现Runnable接口相比继承Thread类有如下好处:
            1.避免单继承的局限,一个类可以同时实现多个接口
            2.适合资源的共享.
    
    多次start一个线程:
        1:如果是继承了Thread类,直接报错,不允许多次调用start方法
        2:如果是实现了Runnable接口一个线程对象只能启动一个线程,多次start方法,没什么卵用


    synchronized和ReentrantLock的区别:
        http://www.cnblogs.com/fanguangdexiaoyuer/p/5313653.html

    synchronized锁普通方法和锁静态方法:http://topmanopensource.iteye.com/blog/1738178
            所有的非静态同步方法用的都是同一把锁——实例对象本身,也就是说如果一个实例对象的非静态同步方法获取锁后,该实例对象的其他非静态同步方法必须等待获取锁的方法释放锁后才能获取锁,可是别的实例对象的非静态同步方法因为跟该实例对象的非静态同步方法用的是不同的锁,所以毋须等待该实例对象已获取锁的非静态同步方法释放锁就可以获取他们自己的锁。
        而所有的静态同步方法用的也是同一把锁——类对象本身,这两把锁是两个不同的对象,所以静态同步方法与非静态同步方法之间是不会有竞态条件的。但是一旦一个静态同步方法获取锁后,其他的静态同步方法都必须等待该方法释放锁后才能获取锁,而不管是同一个实例对象的静态同步方法之间,还是不同的实例对象的静态同步方法之间,只要它们同一个类的实例对象!

    死锁的原理及排查方法:

Spring:
    
    Spring初始化bean的时候做一些事情该怎么做、想要在bean销毁的时候做一些事情该怎么做:
        通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和...

Session:
    分布式session : ==>   http://blog.csdn.net/u010028869/article/details/50773174?ref=myread

String s = new String("abc");创建了几个String对象?


JAVA中的反射 :http://www.cnblogs.com/hxsyl/archive/2013/03/23/2977593.html


JSON最佳实践

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-21 11:33
昨天是学校最后一场招聘会,鼠鼠去参加了,全场只有一个招聘java的岗位,上来先做一份笔试题,做完后他拿张纸对答案,然后开始问简历上的问题,深圳小厂,6-8k(题目如下),后面还有两轮面试。然后我就在招聘现场逛呀逛,看到有公司招聘电商运营,给的比上年的小厂还多,鼠鼠就去了解了下,然后hr跟鼠鼠要了份简历,虽然我的简历上面全是求职Java开发相关的内容,但是hr还是鼓励我说没关系,她帮我把简历给老板看看,下周一会给我通知。招聘会结束后鼠鼠想了一段时间,也和朋友聊了聊,发现我可能是不太适合这个方向,然后就跟爸爸说回家了给我发条微信,我有些话想跟他说说。晚上爸爸到家了,跟我发了条微信,我立马跑出图书馆跟他打起了电话,这个通话长达一个小时,主要是跟爸爸坦白说我不想找这行了,是你的儿子太没用了,想试试其他行业。然后爸爸也跟我说了很多,说他从来没有希望我毕业后就赚大钱的想法,找不到就回家去,回家了再慢慢找,实在找不到就跟他干(帮别人装修房子,个体户),他也知道工作不好找,让我不要那么焦虑,然后就是聊一些家常琐事。对于后面的求职者呢我有点建议想提一下,就是如果招实习的时间或者秋招开始,而你的简历又很差的情况下,不要说等做好项目填充完简历之后再投,那样就太晚了,建议先把熟悉的项目写上简历,然后边投边面边完善,求职是一个人进步的过程,本来就比别人慢,等到一切都准备好后再投岂不是黄花菜都凉了。时间够的话还是建议敲一遍代码,因为那样能让你加深一下对项目的理解,上面那些说法只是针对时间不够的情况。当然,这些建议可能没啥用,因为我只是一个loser,这些全是建立在我理想的情况下,有没有用还需其他人现身说法。上篇帖子没想到学校被人认了出来,为了不丢脸只能匿名处理了。
KPLACE:找研发类或技术类,主要还是要1.多投 2.多做准备,很多方面都要做准备 3.要有心理准备,投累了就休息一两天,再继续,要相信自己能找到
投递58到家等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务