Java基础1.进程和线程的区别;2.Java的并发、多线程、线程模型;3.什么是线程池,如何使用?4.数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁;5.Java中实现多态的机制是什么;6.如何将一个Java对象序列化到文件里;7.说说你对Java反射的理解;8.同步的方法;多进程开发以及多进程应用场景;9.在Java中wait和seelp方法的不同;10.synchronized 和volatile 关键字的作用;11.服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达;12.抽象类与接口的区别;应用场景;抽象类是否可以没有方法和属性;13.静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?14.修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法;15.说说你对泛型的了解;16.Java的异常体系;17.如何控制某个方法允许并发访问线程的个数;18.动态代理的区别,什么场景使用;19.Dex加载过程和优化方式;20.Jvm和Gc机制;21常用的设计模式。22.数据结构与算法23.堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面);24.最快的排序算法是哪个?给阿里2万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码;25.求1000以内的水仙花数以及40亿以内的水仙花数;26.子串包含问题(KMP 算法)写代码实现;27.万亿级别的两个URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)28.蚁群算法与蒙特卡洛算法;29.写出你所知道的排序算法及时空复杂度,稳定性;30.自己集合实现一个队列31.自己实现线程安全类32.快速排序和冒泡的排序,怎么转换一下。二、Spring mvc与Struts区别Hibernate/Ibatis两者的区别Hibernate一级和二级缓存Hibernate实现集群部署Hibernate如何实现声明式事务简述Hibernate常见优化策略Spring bean的加载过程(推荐看Spring的源码)Spring如何实现AOP和IOCSpring bean注入方式Spring的事务管理(推荐看Spring的源码)Spring事务的传播特性springmvc原理springmvc用过哪些注解Restful有几种请求Restful好处Tomcat,Apache,JBoss的区别memcached和redis的区别有没有遇到中文乱码问题,如何解决的如何理解分布式锁你知道的开源协议有哪些json和xml区别三、设计模式:设计模式的六大原则常用的设计模式用一个设计模式写一段代码或画出一个设计模式的UML如何理解MVC高内聚,低耦合方面的理解四、数据结构:队列、栈、链表、树、堆、图编码实现队列、栈操作系统:操作系统什么情况下会死锁产生死锁的必要条件死锁预防数据库:范式数据库事务隔离级别数据库连接池的原理乐观锁和悲观锁如何实现不同数据库的数据查询分页SQL注入的原理,如何预防数据库索引的实现(B+树介绍、和B树、R树区别)SQL性能优化数据库索引的优缺点以及什么时候数据库索引失效10.Redis的存储结构网络:OSI七层模型以及TCP/IP四层模型HTTP和HTTPS区别HTTP报文内容get提交和post提交的区别get提交是否有字节限制,如果有是在哪限制的TCP的三次握手和四次挥手session和cookie的区别HTTP请求中Session实现原理redirect与forward区别安全:如果客户端不断的发送请求连接会怎样DDos攻击DDos预防那怎么知道连接是恶意的呢?可能是正常连接其它:说一个你参与的项目、其中作为什么角色遇到最困的问题是什么,怎么解决的你认为自己有那些方面不足平常如何学习的如何评价自己智力题:给你50个红球和50个黑球,有两个一模一样的桶,往桶里放球,让朋友去随机抽,采用什么策略可以让朋友抽到红球的概率更高?从100个硬币中找出最轻的那个假币?总结:以上这些考察的知识点,在强大的互联网上都可以搜索到答案,有些答案可能不是很全,所以需要自己去总结,但是对于一些需要知道原理的知识点,还是推荐看源代码或者对于的书,然后总结得到自己的东西,这样既学到真东西,还不会很容易忘。Java基础的知识点推荐《Java编程思想》,JVM的推荐《深入理解Java虚拟机》,Spring原理的推荐《Spring源码深度解析》,对于网站架构的推荐《大型网站技术架构核心原理与案例分析》。以上面试题答案和资料获取方式,加群:952124565,进群即可获取。