字节飞书Java实习一二三面面经(已oc)
这是菜鸡的第三次大/中厂面试,感谢字节跳动!
一面(12.23):
- 介绍项目
- 项目中遇到的困难
- TCP三次握手四次挥手
- OSI七层模型
- 应用层是干什么的
- 应用层协议有哪些
- Http和Https的区别
- 数据库三大范式
- 数据库的查询
- 索引越多越好吗
- 单例,实现(只答了饿汉和懒汉)
- SpringAOP实现原理
- 抽象类和接口的区别,应用
- String和StingBuilder的区别
- 手撕快排
- 写一个接口,用postman调用,返回传入的两个参数的和
二面(12.25):
二面忘记录音了,全靠回忆,之后想起来再补吧
- 上来就是一道Hard 440. 字典序的第K小数字(没做过,给不出最优解,写了通用的快速选择)
- 上一面哪里答的不好
- 聊项目,分布式事务
- 泛型
- 线程池参数,分别是什么作用
- 可重入锁(结合了AQS谈原理)
- 可重入锁的单位,或者说以什么为单位(懵,扯了好久)
- 一个订单表有三种查询(1)按日期查询订单(2)按用户查询订单(3)查询用户一段时间内的订单 SQL怎么写?怎么建索引?答曰:id-date;date
- 追问:那date-id;id可不可以?为什么?哪个好?
三面(12.29):
1. 介绍项目
2. 怎么防止超卖
答曰:数据库锁
面试官:来两千并发就没了啊
我:玩具玩具
面试官:你还知道是玩具啊
(顿时充满了快活的空气)
3. 怎么保证api的安全
答曰:简单的token,然后数据库token表
4. cookie和session的区别
5. 对redis了解吗
我:不太了解
面试官:不太应该啊
面试官:那了解SpringSecurity吗
我:也不太了解
面试官:拿了个玩具就来面试?
(顿时充满了快活的空气 * 2)
6. ConcurrentHashMap和HashMap的区别
7. Java的GC
面试官:你背的累不累啊
(顿时充满了快活的空气 * 3)
我:???
8. 反问
之后连着HR面,三次快活的空气就真的离谱,真的搞心态。那天晚上直接失眠,菜的睡不着。
收到offer(12.30)
这能拿offer我是没想到的,说实话三面确实搞心态,一度以为凉凉。不过,这真的河里吗?
也确实没想到二本菜鸡的第一个大厂offer居然来的这么早,可能是运气比较好吧。