技术一面(主要是集合,JVM,线程,算法,40分钟)
1.介绍项目
2.用过哪些锁,在项目中是怎么使用的,使用的场景?Synchronized和Lock的区别?了解哪些并发编程中使用的容器?
3.介绍Map,Treeset,Arraylist,Llinkedlist的区别,从数组讲到链表,再讲到Hashmap,再讲到Hashcode()和equals()方法,哈希冲突的解决,再讲到了Concurrenthashmap的实现,JDK下1.7与1.8实现的区别,TreeMap与Treeset的区别。
4.spring相关bean对象循环依赖是怎么回事,怎么解决?AOP的动态代理是怎么实现的?
5.知道哪些排序算法?每个时间复杂度说一下,快排讲一下流程
6.volatile的作用
7.了解过MYSQL的哪些索引吗?MYSQL的引擎?索引查询数据为什么快?什么时候该建立8.索引?什么时候使用索引查询比全表扫描更慢?为什么会发生两次IO的情况?
9.java内存模型讲一下?
10.什么时候发生垃圾回收?有哪些垃圾回收算法?
11.线程池的参数?拒绝策略?
二面(主问了数据库,Redis,网络等,50分钟)
1.Redis单线程吗?为什么这么设计?
2.Redis的事务怎么处理的?怎么保证事务之间互不影响?
3.数据库的ACID讲一下
4.可重复读innodb怎么实现的?innodb有哪些索引?怎么建立的?
5.Java的lock的底层实现?
6.什么是意向锁?MyISAM比innodb好的地方在哪里?具体应用场景?为什么?
7.设计模式知道哪些?(单例模式,适配器模式,模板模式,装饰器模式,代理模式,工厂模式)
8.装饰器模式和代理模式本质区别是什么?
9.拥塞避免和流量控制怎么实现的?具体讲一下
10.Mybatis怎么使用事务?
11.TCP怎么保证是可靠的?
12.在浏览器上输入网址,访问网页,分析整个过程
13.XSS攻击知道吗?怎么防止?DDOS攻击实现原理?怎么防护?
14.HTTPS的原理?非对称加密和对称加密?(RSA,AES和证书的原理)
三面(问了分布式,架构设计等,1小时)
1.画项目架构图,讲项目流程
2.NIO BIO IO的区别?相关NIO的框架有使用过哪些?
3.mysql的分布式事务怎么实现的?
4.谈谈Java相关的锁?
5.2PC和3PC的区别?3PC会有什么问题
6.RPC框架的实现原理?有使用过哪些主流RPC框架?
7.RPC和SOA 微服务的区别
9.分库分表有哪些方式讲一下?mycat知道吗?
10.使用过哪些Nosql
11.mapreduce简要介绍下?大概说了下原理。
12.redis中有哪些基本数据结构?redis持久化的设计?
13.redis有哪些集群方案?
14.你有什么问题要问我吗?
面试总结:
java的基础知识点,主要围绕在集合类和多线程等:ArrayList、LinkedList、HashSet、HashpMap的数据结果,以及如何扩容、以及ConcurrentHashMap相关的多线程安全等。
JVM的内存分配、几个常见的垃圾回收算法以及原理、还有对应的JVM优化参数需要牢记。
网络:TCP的三次握手等网络都必问,重点掌握网络协议。
Redis:作为分布式缓存的主力,基本也是BAT每次必考,重点是Redis的数据结构、内存、算法、持久化,以及与别的缓存memcached的优劣势。
多线程:状态流转、多线程的实现,以及与高并发的区别等。
Spring框架问得是最多的,BAT非常喜欢问,重点掌握。
最后就是分布式架构设计
常用的分布式架构设计方案:单点登录、分布式缓存、存储、消息的选型,还有就是数据库端的优化方案(需要提前了解)。
最好能提前了解深入一个类似秒杀这样的项目,如果面试官问到类似的项目,你能把设计思路讲出来,这对你的面试结果是很大的加分项。
以上就是网易Java题目,以下最新总结的阿里P6资深Java必考题范围和答案,包含最全MySQL、Redis、Java并发编程等等面试题和答案,用于参考~
资料免费领取方式:加群:1017599436即可获取免费领取方式!
更多笔记分享
网友评论