二面还是两个面试官,一个问基础一个问实习,时长依旧是一个小时
问基础的那个面试官很有流程化的问下来,分别问了JVM、Java集合、Mysql、Linux、Spring框架
1. JVM:内存模型,常用的参数,JVM优化,产生OOM的几种原因,模拟一个StackOverFlow的场景,类加载机制以及双亲委派模型,各个类加载器分别加载的是什么
2. Java集合:主要问的是HashMap,包括底层实现,红黑树与其他平衡二叉树的区别,红黑树的结构,红黑树的优势,平衡二叉树插入或者删除一个元素之后如何左旋或者右旋,底层扩容机制,加载因子,put方法的执行流程,迭代HashMap的几种方法,具体的方法名(entrySet、keySet)
3. Mysql:主要问的是索引,给场景问索引是否失效,还问到了分库分表分区
4. Linux:问到一些常用命令,例如帮助命令,df命令和du命令的区别,如何查看运行中的进程,如何解决端口冲突
5. Spring框架:AOP,动态代理,基于接口和基于子类两种方式的区别,基于接口方式涉及哪些类,哪些方法?
问实习的面试官基本就是对着我简历上实习经历写的内容来问的,一个点一个点的问,不放过任何一个点
1. 问了简历上写的那些功能具体是如何实现的,以及是基于什么需求和业务背景
2. 问了我接手过的几个项目,哪个最熟悉,从技术实现到数据库层面一点点问
3. 版本管理工具用的是Git吗?Git的常用命令,然后就问平时如何进行版本管理,例如接到一个需求之后,需要做什么操作;如果发生线上故障,会基于哪个版本基于bug fix;还给了另一个场景:就是你现在正开发到一半,突然有一个优先级更高的需求,那会怎么处理?(实习的时候刚好遇到这种情况,我回答了git stash工具)
4. 我简历上写了旧服务Docker的迁移,然后就问了以前是基于哪种方式部署的,如何进行Docker部署,以及k8s如何管理一个个的节点
5. 对于大数据量的表,如何优化?
同样,面试体验还是挺好的,希望不要挂!
全部评论
(6) 回帖