Java社招面试经历分享
1、final finally finalize的区别
2、synchronized关键字的作用以及在什么时候使用,concurrent包里面其它的锁。
3、有遇到过死锁的问题吗?(死锁的原理和解决方法)
4、hashmap的实现原理,hashmap和hashtable的区别
5、分库分表优化
6、分布式系统唯一ID的生成(顺序ID需要用到分布式锁,顺序ID的优化,非顺序ID)
7、分布式系统如何保证数据一致性
8、分布式锁的实现方法
9、redis的内存模型以及为什么性能这么好(内存数据库,IO多路复用)
10、zookeeper是保存数据的流程(选举算法要知道)
11、七层/五层架构, 路由器是在哪层, tcp http等各种协议是哪层
12、tcp建立连接的过程,断连过程
13、第2次挥手的之后,这时候给服务端发大量的包,服务端会怎样处理
14、java的IO模型
15、java内存模型,volatile关键字的作用
16、elasticSearch为什么搜索比较快
17、hbase和hive底层的存储方式
18、spring bean 的生命周期,BeanFactory 和ApplicationContext的区别
19、spring aop的实现原理(代理有哪些类型,默认的代理是什么)
20、mybatis把查询结果转换成类的流程
21、springboot或者springioc有什么好处
22、jvm垃圾回收器(不是垃圾回收算法),你项目中用到的垃圾回收器是什么
23、多线程通信
24、threadlocal的实现原理,使用的注意事项和使用场景
25、关注过哪些新技术(jdk1.8新特性一般会问)或者开源项目,看过哪些开源代码
26、消息中间件怎么实现远程调用
27、线程池实现原理,线程池的几个比较重要的参数,如果线程池达到最大数量,后续submit的新任务会怎么样
28、tomcat线程数量配置及优化(io密集型,cpu密集型,压测)
29、是什么原因让你选型了kafka(kafka的特性),问的比较深的会问kafka isr机制,partition的选举
30、你在项目遇过哪些印象比较深刻的问题,或者比较有成就感的事情
31、mysql索引优化,索引存储结构,执行计划
32、redis数据持久化机制,redis有哪些数据结构
33、CAP的概念,分析一下kakfa或者其他数据库是哪几种
34、什么是CAS
35、spring原型模式用过吗
36、spring单例模式是如何做到线程安全的
37、什么样的代码算是好代码
编程题:
1、共计9个苹果,有2只猴子,一个猴子每次拿2个苹果,一个猴子每次拿3个苹果。如果剩余的苹果不够猴子每次拿的数量,则2只猴子停止拿苹果。请用java多线程模拟上面的描述。
2、数字反转。
3、树的遍历。
设计题:
A系统和B系统需要交互,A系统需要更新B系统的大量数据,但是更新失败了,有什么解决方法。
#Java工程师##面经##社招#