最近10月份面了两个公司,想想还是挺刺激,字节跳动和微盟,问的问题也是最近一直在学习的东西,再加上就是之前看过的一些重点面试题,本来一直以为看面试题没用,结果还确实有一些问题考上了,比较幸运,不过技术这一块属实也重要呀。
另外整理了一份2020年最新的Java知识点和面试题总结,需要的朋友可以点击:点这个!点这个!,暗号:csdn。
字节后端面
- object的方法,7大方法
- synchronized方法讲解
- synchronized方法实现原理
- volatile关键字的原理
- 锁的分类
- 偏向锁讲解
- NoClassDefFoundError和ClassNotFoundException的区别
- 追问,ClassNotFoundException是不是只发生在编译时,运行时可不可以
- 类加载机 制
- redis过期策略及内存淘汰机制
- mysql的索引种类4种
- Innodb和myIsam的区别
- Innodb的索引结构
- B+树的优缺点
- 海量数据的索引有什么影响
- 选择联合索引还是多索引,最左前缀的规则
- CAP理论的关系
- 见过哪些系统,保证两个牺牲一个的
- 一致性Hash
算法题:
给一个正数N,求这个N的所有的因子分解;
N = 12;
Ans = {12},{6,2},{3,4},{3,2,2}
解法:递归
微盟一面50min
- 自我介绍
- Java集合
- LinkedList与ArrayList
- fail-fast
- CAS
- reentrantlock
- synchronized
- 线程池
- mysql引擎
- 事务隔离级别
- 索引
- B树与B+树,为什么用B+树
- mvcc
- redis的一些命令(了解的不多,因为都是用lettuce来操作)
- 合并有序数组
微盟二面50min
- 自我介绍
- AtomicInteger在什么情景下使用(并发多线程,举例线程池、锁)
- 建立一个数据库,存储抢课的情景
- 根据上面的数据库写sql
- 自己实现一个栈
- 遍历一个路径下文件大小最大的文件路径(写伪代码即可,因为我们都忘了相关的api)
- 手写一个单例(我写了双重检测)
- (忘了用static修饰),然后顺便说了下为什么要用static修饰
- 为什么synchronized要写在两个if中间
- 其他的一些非技术的问题
微盟差不多就是这些了,一面二面过了,现在还在等三面,还是挺期待的,希望大家也加油。
最后提供免费的Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
需要的朋友可以点击:点这个!点这个!,暗号:csdn。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2020年最新大厂面试题。