就目前的一线企业面试模式来讲,尤其是一面与二面都涉及到很深的Java基础功底及知识面,在面试前积极的准备面试,复习整个Java知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多朋友却苦于没有合适的复习资料来回顾整个Java知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。
1.何为编程
Java内存模型规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存中保存了该线程中是用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存。不同的线程之间也无法直接访问对方工作内存中的变量,线程间变量的传递均需要自己的工作内存和主存之间进行数据同步进行。
最流行的NIO框架,由JBOSS提供的,整合了FTP,SMTP,HTTP协议
核心:可以同时处理多个connection,调用系统select和recvfrom函数每一个socket设置为non-blocking阻塞是被select这个函数block而不是socket阻塞缺点:连接数不高的情况下,性能不一定比多线程+阻塞IO好(多调用一个select函数)
1.唯一索引比普通索引快吗,为什么唯一索引不一定比普通索引快,还可能慢.
2.MySQL由哪些部分组成,分别用来做什么Server连接器:管理连接,权限验证.分析器:词法分析,语法分析.优化器:执行计划生成,索引的选择.执行器:操作存储引擎,返回执行结果.2.存储引擎:存储数据,提供读写接口.3.MySQL查询缓存有什么弊端,应该什么情况下使用,8.0版本对查询缓存有什么变更.查询缓存可能会失效非常频繁,对于一个表,只要有更新,该表的全部查询缓存都会被清空.因此对于频繁更新的表来说,查询缓存不一定能起到正面效果.对于读远多于写的表可以考虑使用查询缓存.8.0版本的查询缓存功能被删了( ̄. ̄).4.MyISAM和InnoDB的区别有哪些**InnoDB支持事务,MyISAM不支持.InnoDB支持行级锁,MyISAM支持表级锁.InnoDB支持多版本并发控制(MVVC),MyISAM不支持.InnoDB支持外键,MyISAM不支持.MyISAM支持全文索引,InnoDB部分版本不支持(但可以使用Sphinx插件)
5.MySQL怎么恢复半个月前的数据通过整库备份+binlog进行恢复.前提是要有定期整库备份且保存了binlog日志.6.MySQL事务的隔离级别,分别有什么特点