一面
1、简单说说面向对象的特征以及六大原则;
(1)面向对象的三大特征:
①封装:一个类封装了数据以及操作数据的代码逻辑体。定义了数据的可访问属性
②继承:可以让一个类型获取另外一个类型的属性的方式。分为实现继承和接口继承
③多态:类实例的一个方法在不同情形下有不同的表现形式,即不同的外在行为。使具有不同的内部结构的对象可以共享相同的外部接口。
(2)六大原则
单一功能原则、开放封闭原则、替换原则、依赖原则、接口分离原则、迪米特原则
2、谈谈final. finally. finalize的区别;
3、Java中==、 equals与hashCode的区别和联系;
4、谈谈Java容器ArrayList. LinkedList. HashMap. HashSet的理解,以及应用场景;
5、谈谈线程的基本状态,其中的wat( sleep) yield(方法的区别;
二面
1、JVM性能调优的监控I具了解那些?
2、简单谈谈JVM内存模型,以及volatile关键字;
3、垃圾收集器与内存分配策略;
4、垃圾收集算法;
5、MySQL几种常用的存储引擎区别;
6、数据库的隔离级别;
7、最后一个算法方面的:5亿整数的大文件,怎么排?
三面
1、Java内存模型;
2、full gc怎么触发?
3、gc算法;
4、JVM回收策略;
5、ClassLoader原理和应用;
6、高吞吐量的话用哪种gc算法?
7、ConcurrentHashMap和HashMap;
8、volatile的底层如何实现,怎么就能保住可见性了?
9、有参与过开源的项目吗?
10、线程池原理,拒绝策略,核心线程数;
11、1亿个手机号码,判断重复;
12、线程之间的交互方式有哪些?有没有线程交互的封装类( join )?
四面
1、项目介绍;
2、两次点击,怎么防止重复下订单?
3、数据库表设计,索引;
4、Redis的缓存淘汰策略、更新策略;
5、dubbo、netty、 RPC介绍原理;
6、限流算法;
7、zk挂了怎么办?
8、分布式锁的实现方式, zk实现和Redis实现的比较;
9、秒杀场景设计,应付突然的爆发流量;
10、分布式数据一致性;
11、一致性哈希;
12、消息队列原理介绍;
13、注解的原理;
14、数据库原理,数据库中间件,索引优化;
15、ioc原理、aop原理和应用;
16、大数据相关, MapReduce;
17、Docker的原理;
全部评论
(0) 回帖