一、问题记录
1、给你三个线程如何保证线程的执行顺序性?
t.join(); CountDownLatch; CycleBarrier
2、java8 Stream终止操作符如何执行的,中间操作符?
终止操作符实现Sink的begin,end,apply,cancel,生成数据。中间操作符,处理后转发回调下一个Sink。
3、kafka为什么基于磁盘文件读写效率并不是太低?
写高性能:顺序、异步、分批;读高性能:顺序、分批、零拷贝 提高性能:分区
4、请你谈谈双亲委派机制,以及如何打破打破?
BootStrapClassLoader、ExtClassLoader、AppClassLoader、自定义ClassLoader
继承ClassLoader、重写loadClass方法禁止调用父类的findLoadClass方法、调用自己重写的findClass方法。
5、springboot如何引入自定义的starter,以及如何自定义starter?
建立starter项目,引入spring-boot-starter依赖;
建立属性配置类XXXProperties,建立自动配置类XXXAutoConfiguration;
spring.factories增加自动配置类xxx.EnableAutoConfiguration=\xxx.XXXAutoConfiguration
6、什么是公平锁与非公平锁?
7、如何计算出一个对象的大小?
8、Synchronze实现原理?java线程是用户线程还是内核线程?
基于底层锁内存地址实现。java线上是混合类型的线程,通过用户线程LPW陷入到支持的内核线程。
9、tomcat、springmvc如何完成一次请求的?
10、MESI和JMM有什么区别?
二、面试记录
0915
采贝教育:自我介绍不连续,redis锁如何不被它人删除,springboot启动机制,springbootapplication注解作用,splingcloud组件机制,hystrix什么时候降级回调,spring事务什么时候失效,缓存雪崩有多少种办法,tomcat线程池与jdk线程池有什么不同,kafka高性能原因,大量cas带来什么作用,eureka核心接口有哪些,架构师应该具备哪些能力(复试,基础架构、技术架构、业务架构),设计架构应该要考虑什么(复试)
美的支付:接口幂等有多少种方法(乐观锁 > 唯一约束 > 悲观锁),简历补充,java内存模型,支付业务开发需要关注哪些点(安全性、幂等性、一致性),如何保证系统的稳定性(复试,技术架构高可用、高并发、监控告警,功能接口幂等性、一致性、高效性),如何保证接口安全性(复试,rsa加密,https传输,密码加密,验签,日志安全,环境隔离,防越权,防攻击)
0916
亿车科技:车载终端设备和netty怎么完成一次请求的,hbase有多少数据量
0917
予信科技:给你个复杂业务怎么设计架构解决,对自己下一份工作期望,redis的rdb和aof优缺点
0918
联动云:hbase的rowkey设计,es的api接口,dubbo的限流原理,压测怎么做,常用的jvm参数有哪些
0921
运个货:kafka原理,为什么用微服务(解决业务复杂度、解决高并发)
碧桂园博智林机器人:epoll原理,hbase的zk可以用ap架构么
0922
屈臣氏:kafka注意的问题,微服务如何拆分,中间件如何使用
腾讯:hbase底层架构,redis的经纬度,最新版的redis持久化方案,用es有遇到过什么问题
0924
akulaku:架构技术难点,hbase热点key,设备通讯安全
0925
稳健医疗:queue的实现类(ABQ,LBQ)及适用场合,http的常见状态,paxos协议,kafka与rabbitmq异同,容器编排