阿里的面试质量是真的非常高。
- 自我介绍
- 看过hotspot哪些模块,模板解释器工作说一下,生成的native code放在哪,怎么处理safepoint的
- 说项目,实现了哪些字节码指令;monitorenter monitorexit怎么实现的;GC;new Thread怎么实现的;synchronized怎么实现的,对象锁是每个对象都有吗,怎么确定是否给对象分配对锁;怎么进行对象分配的,STW之后用户线程还能继续吗so on
- 算法题,无向图的复制;不消耗额外空间重写一个;如果多线程怎么做,说一下
- lookupswitch和tableswitch区别
- 学校开过哪些课,编译原理自己学的吗
- Collections.sort(),归并快排区别,为什么jawa老版本用归并不用快排
- HashMap说一下,cpp的map和jawa的HashMap区别,hash冲突有哪些解决方法,unordered_map怎么解决hash冲突的
- GC新生代复制怎么解决对象指针改变(移动)的问题的,CMS写屏障,三色标记
- 调试方法有哪些,条件断点打过吗
- 有什么要问的
二面
- C 和jawa区别,确定性gc非确定性gc区别
- JMM 看过哪些,volatile重排序,sfence lfence mfence
- X86/x64 加不加volatile原子性与否,如果用jawa你会怎么做
- 口述引用计数智能指针实现
- C RAII, jawa能实现RAII吗
- C 怎么做一个内存检测,那种可以看内存分布情况的
- C 怎么做一个内存泄漏检测工具,类似valgrind
- 如果让你给C 加一个gc怎么做
- 参加过哪些开源社区,提交的请求为什么没有merge;成绩怎么样,实习满分是什么概念,英语怎么样,翻译的effective modern cpp是帮老师翻译的吗etc
- 标量替换,逃逸分析,标量是什么
- 你的JVM怎么处理safepoint,这种实现有什么问题,如果for循环很久到不了safe point就内存溢出怎么办,回边有了解吗
- 有什么要问的
三面
三面问了一个宇宙。。。
- HotSpot的oop是什么,简单说一下
- JVM的偏向锁,轻量级锁,重量级锁。偏向锁怎么做的,轻量级怎么膨胀到重量级。
- JVM新生代划分,TLAB
- CMS详细阶段以及做的事情
- C 的RAII,lock_guard,有什么好处
- C 的shared_ptr和unique_ptr
- Full GC是什么,在什么时候发生,这个正常吗,解决方案
- Safepoint知道吗,如果在JNI方法里面走到JNI的safepoint,hotspot大概是怎么实现safepoint的
- G1GC用过吗,用户能控制吞吐量吗,CMS和G1GC各有什么好处,什么场景用什么
- 一个程序的编译流程,词法分析语法分析,中间IR,代码生成
- MySQL分库分表,思路就行 (!)
- 分布式锁怎么实现 (!)
- 如果一个问题你实在解决不了怎么办,就是gdb coredump,文档都搞不定的情况
- 如果项目很急,另一个同事非常不给力,你怎么办
- SpringBoot用过吗,相对于传统spring有什么好处 (!)
- MVC是什么,分别说一下,你觉得VUE做MVC和后端做有什么不同 (!)
- Go语言用过吗,协程说一下,和线程比较一下
- Maven可以做什么,能自动管理依赖吗,自动下载的jars大概放在哪个目录,git rebase,git merge区别
- 持续集成用过吗,是什么东西,为什么要用它,交叉编译不也是可以吗
- CAS在底层做了,lock cmpxchg怎么做的
- SIMD知道吗,说一下 (!)
- JVMTI说一下 (!)
- 算法,二叉树的分层遍历
四面
- 自我介绍
- 创建线程的方式有哪些,Java线程模型;1:1和N:M优缺点
- 线程死锁怎么排查;jps jmap分别用于什么,如果上述方案排查不到怎么办
- 怎么查看Java线程对应的OS线程PID
- synchronized和ReentrantLock
- 线程池工作原理,怎么处理IDLE线程的,代码上说一下
- ConcurrentHashmap和JDK8之前有什么区别;size是怎么求的
- 对象的hashCode底层有哪几种方法;
- 快排原理,非递归怎么实现;堆排序原理
- MySQL隔离级别,脏读幻读是什么,会在哪一级发生
- 索引的底层在InnoDB和MyISAM上的不同
- 参加过什么开源社区;生活学习比赛etc;
- 有什么要问的
本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。同时我经过多年的收藏目前也算收集到了一套完整的学习资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货,希望对想成为架构师的朋友有一定的参考和帮助
资料领取方式:关注我后加入我的Q群809389099 即可免费获取
即可进群