上一篇的同学拿到了 bigo 和腾讯的 offer,这一次的分享来自两位同学的面试综合,他们别离拿到了菜鸟、嘀嘀、盒马的多个 offer,因为面试的时间跨度工夫太长,且面试的部门太多,只能回顾到具体的面试题,无奈再具体辨别出几面了,然而面试真题还是能够拿进去分享一下,且看注释。
菜鸟 & 嘀嘀
这些来自第一位同学分享的面试题,因为过于优良,同时面试几个大厂都已拿到 offer,他只能回顾到一些重点的问题。
JVM 内存溢出排查?
依据他的形容,JVM 内存溢出的排查是个必问点,基本上每个公司都被问到,要晓得怎么利用 jstat、jmap 这些命令联合 MAT 等工具导出堆栈信息查看剖析,如果没有实战的教训,最好平时能够本人模仿一下场景,看看具体怎么解决。
网络编程相干的发问
因为大家 Java 可能做业务相干的需要比拟多,如果不是波及到比方 IOT 这种和网络编程相干的话,的确不是很分明,对于这块问题他间接回复不分明,问题也不大。
并发包相干问题
JUC 下的那些常见问题,ConcurrentHashMap、CountDownLatch 等等这些都应该要相熟把握,面试必考点。
线程池原理
根本也是必问点,也比较简单。
mysql 索引,锁机制,隔离级别
同上,这个比拟根底,必须把握的点,如果不是很明确,能够去看我的进大厂系列 mysql 的专题。
Redis 连环炮
Redis 连环炮,数据类型、缓存击穿、雪崩、穿透、热 key、大 key,哨兵、集群,同步机制都应该了然于心,具体能够看我的进大厂系列 redis 专题。
有一个比拟少见的问题,tomcat 起两个 war 包,怎么辨认哪个申请要给到哪个过程?
这个问题同学没有答复上。(欢送你留言给出想法哦)
Linux 的命令,比方怎么查看给文件按大小排序,次要是查看日志相干的技巧命令
这个在上一篇的快手的面试也有,Linux 相干的基本上就是这些了, 对于日志的查问这块 grep、tail 等等这些要用的纯熟。
volatie 内存屏障具体是怎么实现?
对于 JMM 内存模型相干的知识点,必须要把握。
JVM 启动参数有哪些,怎么调优,TLAB 是什么,阻塞队列比照和抉择
JVM 调优,依据理论场景举例,阻塞队列的问题上一个同学也碰到了,都是基础知识,应该把握,TLAB 这个略微有点不常见。
DDD 的了解?
对于阿里来说,很负责任的通知你,基本上 DDD 是必问,然而这个基本上只有你有肯定的本人的了解就能够了。
Reactor 模型
这个问题,至多我在美团、饿了么、阿里多个面试中碰到过,根本也属于必问的问题。
第一个总结
第一位同学的面试题记忆粗浅的就这些了,尽管不多,然而基本上也都笼罩到了高频呈现的问题,参考价值还是挺大的。总的来说,DDD、Reactor 模型可能大部分同学都不是很分明,能够专门筹备一下。
蚂蚁金服
CHM 构造,线程平安保障,加锁实现细节
ConcurrentHashMap7 和 8 的区别,实现原理这些常考点。
JVM 内存构造,垃圾回收原理,GC 配合策略,排查过程细节和调优计划
还是一样的问题,JVM、GC、垃圾收集器,调优的计划。
线程平安的实质?
要说到原子性、有序性、可见性的问题。
并发锁,AQS 原理
都不是难点,频繁问。
ThreadLocal 源码
屡次呈现的问题,肯定要看书。
mysql 幻读,怎么加锁
同样的问题,参考我的进大厂 mysql 系列。
秒杀设计
秒杀从流量过滤、缓存、异步队列、限流、降级这些方面说说就能够了。对于秒杀我的文章外面也写过了。
亮点我的项目
亮点、难点我的项目个别也都是肯定会问你的,当时筹备,如果我的项目切实没有亮点,能够从业务价值或者一些开源的我的项目角度来说说,都没有,咱就聊技术。
淘宝
介绍下我的项目,整体架构,次要性能
嗯,还是我的项目,个别都是第一个问题,从我的项目动手聊技术。
网络模型,NIO,netty
对于 NIOBIOAIO 必须要理解。
JVM,垃圾回收,调优,排查思路
看到有如许频繁的呈现了吗?第几次了?
Redis 为什么快?应用场景?过期策略?
Redis 连环炮,同上。
RocketMQ 场景,如何保障不丢音讯?
面阿里能够多筹备下 RocketMQ 相干的,因为无论是开源的 ONS 还是其余都是基于 RMQ 的。对于 MQ 能够看我的进大厂系列 MQ 专题。
Spring Bean 生命周期
常考点,能够看我的进大厂系列 Spring 专题。对于 Spring 相干的面试题其实很少就这么几个。
线程池参数,执行程序,场景?
线程池原理,牢记。
Mysql 存储引擎,索引
基本上就说 InnoDb 和 Myisam 就行了,区别说分明。
饿了么
CHM 和 HashTable
还是老问题,就不说了吧。个别都会说到 CHM7 和 8 的区别,实现原理区别。
JVM 垃圾回收的原理,GC 排查步骤
第 N 次呈现。
volatile,synchronize
一样的问题,这些问题都能够看我的进大厂 Java 根底系列。
SQL 优化,事务隔离级别
也是第 N 次呈现了。
MQ 的区别以及选型
要记一下,RMQ、Kafka、RabbitMQ 这些区别,撑持的吞吐量,反对的性能等等。
Redis 分布式锁
对于分布式锁,除了根本实现之外,可能还会波及到一个可重入的实现的问题。
业务幂等实现
就说本人的业务中幂等是怎么做的就好了。
分库分表,MyCat 底层实现原理
MyCat 问到原理这个倒是不是很多见,分库分表的很常见,看我的面试专题系列吧。
监控指标,业务剖析,业务指标
依据本人应用的监控零碎来说,哪些监控项,为什么?告警策略是什么,指标,阈值。
亮点业务,好的我的项目
筹备好本人的我的项目,必问。
平时怎么学习的?看什么书?
如果不看书的话,就别吹,一问就露馅。
场景题设计:银行,人,卡,充值记录,怎么进行零碎设计,怎么撑持高并发?
这个场景题还比较简单吧,能够参考看看我的百亿级流量怎么解决。
聊我的项目,聊人生
这是最初一面的最初一个问题,不过过后状态不佳,答复的不好,预计就是因为这个错过了 P7,泪奔 o(>_<)o
盒马
可能晓得我其余 BU 曾经到了终面,没怎么问根底,次要问的都是我的项目亮点,设计,倒退之类的。
总结
第二位同学也是拿到了饿了么、盒马、淘宝的多个 offer,很多人兴许看了会说,啊,这很简略啊,我上我也行,不,我感觉你上你真不肯定行,面试题写进去给你看和当场面试的感触还是不太一样的,很多细节的问题从列举进去的知识点是体现不进去的。而且集体状态、情绪都会对施展产生影响。
对于这个我忽然想到知乎的一个问题“你的编程程度从什么时候开始突飞猛进的?”,我想了很久都没想好怎么答复,就是忽然回头发现自己之前怎么写的代码那么烂?包含当初都会回头看我为什么过后的逻辑是这样写的?如同,不论面试还是平时,其实都是靠着星火燎原的功夫罢了。
对吧,哪有那么多突飞猛进,岁月静好,不过是每天都在负重前行罢了。