ByteDance 一面

in #cn5 years ago

本来以为面试官是一个中年油腻大叔,没想到这么年轻,可能就比我大两三岁,看起来人挺和善的

省略自我介绍
算法题
上来尼玛就是图判断是否有环,我说不会做

然后小哥哥给我换了一个链表奇偶排序问题,详情 LeeCode 328 原题

我只说了我的思路,没撕代码

JavaSE
用过哪些容器类,说说 ArrayList 和 LinkedList 的区别
他们是线程安全的么?有没有线程安全的集合类?
Vector 底层是怎样实现的? CopyOnWriteArrayList 用过么?怎么实现的?
能跟我讲讲 HashMap 的 put 过程么?
ConcurrentHashMap 底层是怎样实现的?JDK1.7 和 JDk1.8 做了怎样的改变?
synchronized 底层是怎样实现的?
volatile 关键字的特性是啥?能跟我解释下这三个特性么?
用你刚才说到的指令重排导致的错误写一个案例(我写的 DCL 单例模式)
知道双亲委派么?双亲委派有什么用?
开发环境中一定要使用双亲委派模式么?给我举一个打破双亲委派的例子
讲一下 CMS 收集器和 G1 收集器的区别?
MySQL
讲一下 InnoDB 查询过程
为什么用 BTree 不用 B+Tree
聚簇索引和非聚簇索引的区别
事务隔离级别有哪些?
简单跟我讲一下 MVCC 是什么
有做过索引优化么?说说?
Framework
Spring Bean 注入的过程
Bean 的生命周期
讲一下 AOP 的用法?两种代理模式的优缺点
@Autowird@Resources 的区别?分别在什么地方用?
MyBatis 中是怎么解析一条 SQL 语句的?
MyBatis 缓存机制了解么?
XML 中的 $ 和#有什么区别?
MyBatis 是怎么把我们传的参数替换到预编译语句上的?
分布式事务了解么?(不了解!!!!!!)
All
整个过程 87 分钟,但是面完以为凉了,我都刷起抖音安慰下我幼小的心灵了,但是突然接到 HR 的电话说一面过了,约时间二面。害。