1,说说JVM原理?内存泄露与溢出区别,何时产生内存泄露? 
2、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计? 
3、mysql支持事务吗?DB存储引擎有哪些? 
4、mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC? 
5、hibernate支持集群吗?如何实现集群? 
6、tomcat 最多支持并发多少用户? 
7、map原理,它是如何快速查找key的?map与set区别? 
8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G??? 
9、在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户? 
10、Spring如何实现IOC与AOP的,说出实现原理? 有几个还不是很清楚,请牛人一一回答,能给出更清晰的答案

解决方案 »

  1.   

    1.泄露是由于申请的内存没有回收,溢出是指开辟的内存区不够用。
    2.多个mysql。
    4.mvc优点:层次清晰,适合于扩展。 缺点:更大的开发量,更复杂的架构设计,不适合小程目。不知道说的对不对。对第8,9题答案很感兴趣。
      

  2.   

    1,说说JVM原理?内存泄露与溢出区别,何时产生内存泄露?  
       编译源代码为本地机器码执行。
       内存泄露是一部分内存无法回收。溢出是说内存不够用了。泄露可能在将来会导致溢出
       当对象在程序中不会被使用,但却有其他对象持有该对象时会发生溢出。比如出现持有的环的情况。
    2、用java怎么实现有每天有1亿条记录的DB存储?mysql上亿记录数据量的数据库如何设计?  
       此题条件太少无解。1亿条记录是什么记录?什么数据类型?文本还是音频视频?这些记录是以什么方式进入Java系统的?从时间分布上看有什么规律?平均每秒XX条还是正态分布的?
       不论什么数据库,在大数据量的情况下,按时间分表都是可行的。3、mysql支持事务吗?DB存储引擎有哪些?  
       支持事务。InnoDB支持,MyISAM不支持。存储引擎有很多,自己去度娘上搜吧。你用哪个?4、mvc原理,mvc模式的优缺点,如果让你设计你会怎么改造MVC?  
       应届毕业生面试题,假大空,拒绝回答5、hibernate支持集群吗?如何实现集群?  
       肯定支持。如何实现不知道,自己去搜
    6、tomcat 最多支持并发多少用户?  
       同时并发,貌似默认是300-400来着。你也可以自己去修改配置属性7、map原理,它是如何快速查找key的?map与set区别?  
       貌似是通过hashcode做了树状存储。与set的区别?自己去搜8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???  
       如果是把用户与其看过的影视剧对应起来合成文件。可以。用流读用户信息文件,读一个用户创建一个临时文件。然后另一个流去读看过的影视剧。分别去存储到用户临时文件中。
       最后遍历所有临时文件,合并。
    9、在1亿条用户记录里,如何快速查询统计出看了5个电影以上的用户?  
       这记录存在哪?数据库里还是文本文件里?数据库里的话,去建索引吧,group by的字段建不唯一非聚集索引。文本文件?去死吧。10、Spring如何实现IOC与AOP的,说出实现原理?  
       自己搜
      

  3.   

    对最后一题,我只说IOC是反射+工厂方法,AOP是代理。完了~~
      

  4.   

    8、描术算法,如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。内存只有1G???  
    要使用newio是必然的,再者要充分利用1G的内存,达到时间与空间的最佳配合.
      

  5.   

    7、map原理,它是如何快速查找key的?map与set区别?
    map是基于哈希筒机制的,大概原理是根据hashcode值除以哈希筒的个数的余数,可以定位到只在某一个筒中遍历查找.
    MAP与SET的区别就不说了,比较简单.