整个过程面试官很和气,面试问题也有一定难度,如果回答不出来直接跳过;
线上面试有hr在场,协调会议进度
1.项目背景描述,流程编排怎么实现,实现思路
2.线程池执行顺序
3.nacos源码,配置更新流程和配置更新方法,服务注册和拉取流程
4.jvm的类加载过程,jvm的内存结构,tlb的作用,堆内存变量为什么没有并发问题的,类加载器的为什么能保证分配内存唯一
5.netty的组件有哪些,IO模型有哪些,netty的直接内存
6.kafka的为这么快,操作系统顺序读写为什么这么快
7.xxl job的线程模型,一次任务的执行流程,任务执行超时的处理策略
8.reactor线程模型和处理流程
9.jvm做的那些调优,jvm调优的思路是什么
总共4面。
一面是技术面,超过了一个半小时,后面有算法题,需要线上编码
二面是技术面,主要是未来的团队领导沟通业务情况,考察抽象能力和架构理论深度
三面是部门领导面,主要也是聊业务和技术在日常工作中的应用,及对方法论的考察理解
四面是HR面,聊薪资等等
1,String, Stringbuffer, StringBuilder 的区别
2,ArrayList 和 LinkedList 有什么区别
3,讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当 new 的时候, 他们的执行顺序
4,用过哪些 Map 类,都有什么区别,HashMap 是线程安全的吗,并发下使用的 Map 是什么,他们内部原理分别是什么,比如存储方式, hashcode,扩容, 默认容量等
5,抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么
6,继承和聚合的区别在哪
7,讲讲你理解的 nio和 bio 的区别是啥,谈谈 reactor 模型
面试过程感觉很轻松,一面面试的面试官看起来文质彬彬的,问的问题一环扣一环,循序渐进的引导,这种方式很好。让人感觉很舒适,不会有紧张的感觉。整个面试过程大概40分钟的样子,一面完成后,很快就收到了二面的通知,第二天就进行了二面。
面试官问的面试题: 一面:
自我介绍
http协议状态码
http请求网页过程
应用层协议
微服务调用用了哪些协议
nacos担任了什么角色
请求转发策略,你会怎么实现
http协议头包含的字段,编码协议类型有哪几种
设计模式
观察者模式在什么场景用到
操作系统相关指令用过吗
java中间件用过哪些
数据库事务,用户扣费失败怎么处理
数据库隔离级别,mysql默认的级别,为什么要用这种级别
脏读。mysql索引,为什么不用b树
hashmap链表转换成红黑树,用b树可以吗
二叉树如何实现镜像翻转
ArrayList,ListedList底层
object类有哪些方法?各是什么意思?
java的特性。继承封装多态,多态讲一讲静态多态和动态多态就行。
重写过哪些方法??
sleep和wait方法区别?可以从属于哪个类,使用方法和应用场景说。