一面
1.自我介绍
2.谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里
3.Spring的bean的作用域?(比如:singleton,prototype等)
4.Spring的IOC实现原理?没有无参构造函数能实例化吗?有参构造函数注入?(xml配置)
5.通过反射,谈到了方法区,然后,类加载机制?
6.synchronized的实现原理?Volatile能保证原子性吗?为什么?
7.hashmap和concurrenthashmap的size方法怎么实现的
8.JVM的调优参数?(-Xmn,-Xms等具体参数设置)
9.线程池优点,参数,如果我想实现newSingleThreadPoll,应该怎么配置,构造方法传什么参数
10.mysql死锁,怎么解决,如果不要求执行顺序,死锁怎么解决
11.ioc和aop原理
12.线程的五态?转化过程?
13.TCP三次握手,为什么三次握手?
14.JVM内存分区?(主存,工作内存,堆,栈。。。。)
15.讲一下GC?
16.为什么要用老年代和新生代?
17.新生代进入老生代的情况?
18.新生代的分区?
二面
- 变着法的问了一大堆线程池的知识 (主要考对应的参数)
- java内存模型
- lock和synchronized的区别
- reentrantlock的实现
- hashmap和concurrenthashmap
- B+树和B-树的区别
- 复合索引
- 聚集索引和非聚集索引的区别?
- 数据库索引 主键和唯一索引有什么区别
- 索引失效条件,什么时候该建立索引
- innDB和MyISAM的区别?
- 线程安全(阻塞同步,非阻塞同步,无同步)
三面
主要高并发和分布式架构设计
- 服务器模型以及之间的区别
- 线程池的设计
- 线程池如何做负载均衡
- 如何实现线程调度算法
- 复合索引是如何实现的?
- 如何设计单点登录,单点登录的原理
- redis缓存和memcached缓存的区别,以及各自的优劣势
- 大型高并发网站如何做性能优化:Web性能、数据库性能、应用服务器性能等。
- 实践中如何优化MySQL:SQL语句及索引的优化、数据库表结构的优化、系统配置的优化、硬件的优化
- 分库分表和读写分离如何设计
- 微服务架构:dubbo和springcloud的区别,以及各自对应的使用场景。
以上是阿里最新技术三面题目,以下是最新总结出的阿里等BAT面试java必考题目和答案。
2018最新BAT高级java面试68题和答案
领取方法:
关注微信公众号,回复关键词 【java】即可领到题目和答案链接!