成都 Java 社招面经(5年经验)
裸辞是真的爽,找工作也是真的痛苦,尤其今年环境这么差,以后再也不敢了hhhh
在此整理一下面经,留个记录的同时也希望能帮到各路朋友~
掌阅(转go)
一面 30min
项目相关
hashmap扩容机制
mysql索引,最左匹配,索引覆盖,索引下推,索引失效情况,查询优化
jvm调优参数
redis底层结构,跳表实现,分布式锁实现,缓存一致性
算法:获取所有回文子串
二面 30min
项目相关
protobuf为什么快
kafka顺序消费
kafka和rocketmq区别,使用场景
kafka如何存储数据
redis数据类型,hash底层,为什么使用ziplist,如何扩容
redis如何保障高可用(持久化,集群架构)
redis哨兵如何选主
mysql索引失效情况
mysql和mongodb区别
mysql和mongodb索引区别
mysql事务实现
算法:双线程打印1-100
抖音(转go)
字节面试是真的难啊,每一面都要考算法,而且对项目和基础挖的很深
一面 1h
项目相关
kafka如何保障高可用
kafka高吞吐量原因
kafka文件索引实现
kafka重平衡过程,会造成什么问题,是否可对外服务
kafka ack设置
redis架构
redis哨兵模式选主策略,优先级是否可变
redis aof重写流程
redis过期删除策略,定期删除如何检索key
redis主从复制过程
算法:岛屿最大面积
二面 1h
项目相关
msyql和mongodb索引,mongodb b+树区别
mysql事务ACID,实现
mysql MVCC 实现
mysql 为什么用b+树索引
mysql聚簇索引,非聚簇索引,回表
msyql char和varchar,varchar和text区别,varchar支持的最大长度
redis 数据类型,sds、跳表实现
java并发类,关键字
volatile关键字作用
synchronized底层实现,性能表现,锁升级
算法:z字型打印二叉树
三面 1h20min
疯狂拷打项目
jvm内存结构
方法区存储什么数据
jvm调优参数
可重入锁,底层实现
synchronized是否可重入
netty了解吗
网络io分为哪几种
反射,使用场景
aop实现,动态代理
java类加载流程
算法:lc143,重排链表
美团
面试难度比字节简单,但二面的系统设计没答好给挂了,有点可惜
一面 50min
项目相关
kafka如何保障顺序消费
秒杀场景
redis持久化
redis热点key问题
mysql主从复制
mysql innodb和myisam区别
MVCC实现
双亲委派机制
synchronized和lock区别
指令重排序
spring ioc aop
线程上下文切换,什么情况下会导致
hash碰撞如何解决
ABA问题
为什么离职,有哪些offer
算法:lc92,反转链表
SQL:三表联查,login,user,client
二面 1h
项目相关
spring aop实现,动态代理
jvm内存结构
concurrenthashmap 底层原理
设计模式,工作中应用
系统设计:动态线程池
系统设计:多机房数据一致性
多人项目流程
离职原因,有哪些offer
算法:三数之和
拓展:四数之和,k数之和
招银
面试感觉很水,尤其二面感觉啥也没问,最后还给挂了,问了下在招银的同学感觉应该是给不起薪资。。。
一面 40min
项目相关
hashmap扩容细节
hash碰撞解决方案
一致性hash算法
java锁机制,synchronized锁升级
lock是否公平,能否实现非公平,如何实现
springmvc三层好处
kafka如何保障不丢失
kafka如何保障顺序消费
kafka不同应用设置同一消费组消费不同topic是否有问题
kafka重平衡
kafka发送失败如何处理
算法:已排序数组找到第一个指定数字位置
二面 30min
项目相关
tcp与udp区别
tcp三次握手四次挥手
tcp快速重传机制
海量数据
一家做国产数据库的公司,不过成都这边人很少,只有几十个,最后也是因为团队配置问题给挂了
一面 40min
项目相关
hashmap中将对象作为key需要注意哪些问题
介绍下索引
oom异常如何排查
看过哪些框架源码
系统设计:不同数据库sql转换,词法分析
场景:mysql binlog读取写入kafka,服务挂掉了如何处理
场景:消费kafka一批数据写入数据库,服务挂掉如何确认某一消息是否已写入
算法:lc3,无重复字符的最长子串
二面 50min
项目相关
线上问题处理流程
垃圾回收算法
mysql主从复制,binlog
算法:lc3184,构成整天的下标对数目1
三面 40min
项目相关
能接受的工作压力(?)
个人优势
对开源技术的关注度
马上消费金融
问的问题有点奇怪,可能是岗位不匹配吧,一面完就没后续了
一面 40min
介绍下cas
线程池参数
rpc调用中,trace-id如何传递
并发包,threadlocal
aop,动态代理
实现一个springboot starter
用过哪些设计模式,策略模式和代理模式区别
synchronized,锁升级
java原子类,atomicInteger,底层实现
场景:数据库读写分离,如何改代码
蚂蚁金服
电话面试,所有问题几乎都是依赖场景提问的,可惜业务方向和过往经历不匹配给挂了
一面 40min
项目相关
hashmap,扩容,为什么是2倍
hashmap多线程put会引发什么问题
spring事务下,多线程修改数据库,失败后是否全部回滚
spring循环依赖,如何解决
redis故障恢复,rdb和aof区别
aof日志写入流程,刷盘策略
mysql索引,最左匹配,走不走索引的结果区别
for update语句,innodb加了哪些锁
场景题:多线程转账,如何确保转账成功
阻塞队列底层实现
字节飞书(转go)
抖音挂了被隔壁飞书捞起来了,又来一轮拷打,麻了
一面 50min
项目相关
项目重新设计的话可以有哪些优化
场景:海外规避隐私合规获取用户数据
算法:智能水龙头
二面 1h
项目相关
varchar、char、text区别
索引覆盖
长文本如何建立索引
分库分表
mysql自增id问题
缓存一致性
微服务问题排查流程
线上问题定位
系统设计:短链服务
算法:打印数组中所有比前面小比后面大的数字
东方财富
一面问的基础都很深,但没咋问中间件相关的;二三面感觉纯走过场,最后还是因为过往经历不匹配挂了,可惜
一面 50min
项目相关
JMM相关
线程池多线程操作对象,是否需要加volatile保障可见性
volatile关键字,禁止重排序如何解决多线程可见性
final关键字,和可见性是否有关
事务消息
mysql事务隔离级别,不同级别的锁机制
算法:lc122,买卖股票的最佳时机2
二面 20min
在oppo负责的工作
部门架构与职能
为什么主动离职
三面 10min
在oppo负责的工作
为什么主动离职
未来的职业规划
对oppo有什么不满意的地方
期望薪资
京东
官网投递了很久都没消息,还是上猎聘投递才约面试,绝了。。。
过程很效率,三场面试一周内结束,不过发的offer按照20薪计算压月base,感觉有水分拿不满。。。
一面 50min
项目相关
kafka如何保障顺序消费,多消费者情况下呢
caffeine底层实现
hashset底层实现
redis hash实现细节
如何实现公平锁、非公平锁
synchronized和lock区别
MVCC实现
间隙锁实现
mysql主从同步,binlog分为哪几种模式
mysql慢查询优化
springboot bean生命周期
spring事务实现,@Transaction注解原理
垃圾收集器,jvm调优参数
场景:线上cpu100如何排查
场景:接口有大量第三方接口调用,如何优化
场景:线上机器频繁full gc如何排查
二面 30min
项目相关
场景:实现一个定时调度组件
jvm结构,方法区存储的是什么
堆gc时的流转
场景:线上机器频繁full gc如何排查
用过动态代理吗
平时对哪些技术方向感兴趣
高并发情况下优化
限流算法
个人的优点和缺点
有哪些offer
三面+hr面 30min
项目相关
springboot核心模块有哪些
消息队列使用场景
平时工作中遇到的问题
绩效和晋升情况
优点和缺点,老板评价
职业规划
oppo的优点和缺点
阿里诚云
投的时候没看清以为是阿里云,结果面试的时候跟我讲是阿里诚云科技,回去搜了下发现是内包公司,感觉没啥意思。。。
不过面试体验倒是挺好,最后hr面因为时间来不及就直接拒掉了
一面 45min
项目相关
创建线程的方式
线程底层执行的具体方法
双亲委派机制,如何打破
@Transaction注解实现原理
AOP,动态代理
mysql,int索引和字符串索引有什么区别
字符串索引怎么实现比较好
mysql原子性如何保障
除了undo log还有哪些log
binlog和redolog使用场景
redis分布式锁如何实现
缓存击穿如何处理
算法:lc82,删除排序链表中的重复元素2
算法:lc295,数据流的中位数
二面 40min
项目相关
过往经历,为什么离职,对未来的方向规划
为什么选择使用mongodb
印象深刻的技术提升
arp协议
linux僵尸进程和假死进程区别
linux df和du区别
算法:lc98,验证二叉搜索树
算法:lc163,寻找峰值
美团
又被捞起来了hhh,一面常规问题,二面面试官感觉是架构师,问了很多架构以及系统设计上的问题
hr面过了还在定薪流程中,如果给发offer不出意外就选团子了,毕竟离家近hhh
一面 1h
中间件开发注意事项
mongodb和mysql区别,如何选型
mongodb复杂查询、排序
事务四大特性,mysql如何保证
mysql锁机制
mvcc具体实现
varchar和char区别,最大长度
redis优势,解决了哪些问题
redis内存淘汰策略
分布式锁实现
redis热点key问题如何解决
kafka如何保障顺序消费
kafka ack有几种,什么区别
kafka底层如何存储数据,文件索引具体实现
java类加载过程
线程池使用场景,核心参数
拒绝策略有哪些
如何实现一个动态线程池
算法:lc114,二叉树展开为链表
二面 1h
离职原因
项目相关
涉及到多个大型子系统,如何做架构设计,方法论
DDD
hr面 20min
离职原因
个人及家庭情况
过往经历
自我评价,周边人评价
职业规划
更希望做偏业务还是偏底层
期望薪资
非凸(转rust)
一家做量化交易的,面试体验还可以,两场面试一起搞定很效率
一面+二面 2.5h
算法:实现滑动窗口时间限流算法
项目相关
hashmap和concurrenthashmap
redis hash扩容,渐进式rehash
kafka不丢失配置
并发包类
abc线程按序执行
主线程等待两个子线程执行
BIO、NIO
IO多路复用
线程池参数,如何配置
CAS
对于转rust语言的看法
有哪些offer
#面经##社招#