面试问题:
一、Java基础方面:
1、Java面相对象的思想的理解(主要是多态):2、集合:ArrayList,LinkedList,HashMap,LinkedHashMap,ConcurrentHashMap,HashTable,HashSet的底层源码实现原理
3、Java虚拟机
(1)组成以及各部分作用: (2)类加载器——ClassLoader: (3)类加载器的父亲委托机制深度详解: (4)JVM调优: (5)垃圾回收:4、异常
5、String,StringBuffer,StringBuilder区别
6、值传递与引用传递:
7、Java中的equals和hashCode方法详解
8、TCP的三次握手和四次挥手
9、多线程
(1)实现线程同步: (2)生产者消费者问题: (3)线程安全 (4)线程死锁 (5)Synchronize实现原理 (7)happen-before规则: (8)线程池 (9)DCL失效原因以及解决办法: (10)线程实现方式:Thread,Runable,Callable的区别10、IO
11、NIO
12、网络编程
13、Java内存模型
二、数据库(MySql)
1、面试题: 2、sql优化: 3、搜索引擎三、设计模式
单例模式,工厂模式,建造者模式,观察者模式,适配器模式,代理模式等等四、数据结构与算法:
1、链表,栈,队列,二叉树: 2、八大排序算法: 3、查找算法五、高并发与海量数据
1、大型网站应用之海量数据解决方案2、大型网站应用之高并发情况下的解决方案
3、在一个千万级的数据库查寻中,如何提高查询效率?
六,Struts,Spring,Hibernate,Mybatis,Springmvc
七、前端:javascript,Jquery
八、Jsp+Servlet
九、linux操作命令(重点服务器方面操作)
十、tomcat调优
十一、Redis/MongoDB等NoSql
十二、Nginx的配置与使用