阿里一面 二面 攒攒人品
一面 (7月9号 80分钟)
1.自我介绍,为什么要学java,会不会前端
2.JDK版本,
迭代历史中有什么变化
3.并发编程需要遵守哪几个性质-可见性,原子性,有序性
4.volatile的原理
5.synchronize final
6.synchronize和lock有哪些区别
7.Object类有哪些方法
8.线程的sleep方法和object类的wait方法有什么区别
9.线程有哪几种状态
10.解释一下timed_waiting状态
11.为什么object类需要有equals方法
12.每个对象的hashcode方法结果都是相同的吗
13.hash map是不是线程安全
14.hash
map是如何设计的,get put中key的判断
15.java的类加载机制
16.对象什么时候会出现在老年代
17.java有几种对象引用-强 软 弱 虚
18.什么是弱引用
19.什么是软引用
20.内存不够用时会回收软引用,那什么时候会发生这种事
21.NIO是什么
22.NIO除了可以让开发者使用本地内存之外还有什么优势
23.线程池有哪些类型,single
***d和scheduled的各应用场景
24.线程池的原理,corepoolsize,maxpoolsize和queue
25,线程池的核心线程数如何设置,选择标准是什么
26.为什么要用线程池
27.http状态码,301和302的区别
28.为什么需要长连接,怎么实现长连接
29.Cookie的原理
30.为什么需要Cookie
31.如果服务器是分布式的,如何应对Session的一致问题
32.mysql的引擎
33.行锁,哪个引擎支持行锁,行锁的优点
34.mysql的索引是如何实现的,B+树的结构
35.事务的隔离性
36.什么是未提交读
37.spring支持的事务,spring如何管理事务
38.spring如何实现IOC的
39.如果配置了两个同类但不同id的bean,IOC容器如何处理
40.hibernate的get和load有什么区别
41.hibernate的设计上有什么性能的改进或优化,它是如何实现的
42.对实习的时候做的项目进行介绍
1.项目简介
2.对象锁 和 类锁的区别
3.servlet是不是线程安全的
3.文本统计次数,能不能用已有的框架实现
4.3点15分的分针时针夹角
5.有没有研究过别人研发的项目