2019年:阿里、腾讯最新Java面试题 你准备好进BAT了吗?
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和IOC
Spring 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源代码深度解析》,对于网站架构的推荐《大型网站技术架构核心原理与案例分析》。
以上面试题答案和资料获取方式
有需要的朋友可以加一下我的Q群688298281免费获取
