字节提前批飞书Java二面面经(被吊锤)

面了1h20m,面试官看起来30多岁,有股大佬的气场。
一上来就说:先做一道编程题,然后聊一下基础,之后聊20分钟系统设计。
  1. 大数加法(10min,中途出了个bug面试官直接给我说出来了)
  2. synchronized放在静态方法和非静态方法有什么区别?(一个类锁,一个对象锁,两个锁不冲突)
  3. synchronized(null) 会发生什么?这个线程拿到锁还是没拿到锁?(这里有坑,面试官直接问拿到锁还是没拿到锁,我就说null没有对象,那应该是无锁)
  4. 你跟我讲讲synchronized锁升级过程(cas修改对象头里的markword...)
  5. 好,那么你再跟我说说,synchronized(null) 会发生什么?(null没有markword,cas修改markword不成功会返回false,所以无锁? ... 后来又绕了一些,我说报空指针异常,他说是。好吧...我感觉我掉坑里了)
  6. synchronized(Integer)会发生什么问题?(Integer在[-128,127]有缓存对象。也就是说如果两个线程都执行到synchronized(1),这两个线程会抢同一把锁。比如线程1和线程2执行不同的方法,但是因为synchronized(1)导致线程1执行时线程2没法执行
  7. 线程池有coreSize和maxSize,如果coreSize=50, maxSIze=30,会创建几个线程?(我当时没注意,答曰:50)什么?再跟我说一遍?(噢噢,maxSize小于coreSize,我的天,哪有这样写的)程序员有手误的时候嘛。(我没看过源码,不知道怎么处理这种边界条件的,如果是我设计,我会选择抛异常)为什么要抛异常?不能给他创建30个线程?(这样处理是不符合用户预期的,我们要让用户及时感知到错误)
  8. 如果线程池coreSize = 50, maxSize = 50,会创建几个线程?(50,如果阻塞队列满了直接触发拒绝策略)
  9. Reentrantlock默认公平还是非公平?(非公平,因为性能好),公平锁怎么实现的?(AQS有个队列,队首是Runnable状态的线程,后面都是Waiting状态的线程,公平锁是在cas修改state之前先判断队列里是否有Waiting状态的线程,如果有就将当前线程加到队尾)
  10. 操作系统哪些状态?(创建,运行,就绪,阻塞,终止),运行态之后到什么状态(阻塞,不是,就绪,口误了)...(后面还说了些,不记得了)
  11. 操作系统死锁的条件?(互斥,占有和等待,不可抢占,循环等待,还说了如何预防)
  12. 1. b=1 and a=2 and d=3
    2. c=1 and a=2 and b=3
    3. b>1 and a=2 and c=3
    4. a>1 and b=2 and c=3
    5. e=1 and a=2 and c=3
    (a,b,c)复合索引,哪些生效?(又有坑,我又掉进去了呜呜呜... 我还没看仔细我就说只有4用到index级别的索引)我们写SQL一定要按a,b,c顺序写才能生效吗?(不是的,MySQL内部有个优化器,可以帮我们排好序)那你再跟我说说哪些生效?(噢噢,1是a和b ref级别生效...)
  13. HashMap线程安全,ConcurrentHashMap扩容(balabala...)
  14. 聊聊系统设计吧。假设这样一个场景,给你一个电梯... (大概意思就是把整个电梯数据结构设计出来,要求这些数据结构能让电梯的策略正常运转)这一部分说了很多,面试官各种挖坑:用户在2楼同时按了上下你怎么支持?用户在里面按了1,2,3,4... 你怎么支持?(分了里层和外层,里层按的用最小堆存),你电梯在2楼,往上走,你最小堆只能取1出来(噢噢,维护一个最小堆和一个最大堆,当用户按按钮的时候根据电梯当前楼层选择加到哪个堆里,当电梯上去是从最小堆里取要停的楼层,电梯下来是从最大堆里取要停的楼层) 如果这时候同时支持两个电梯...
  15. 反问环节:我go零基础,如果我进去之后会不会压力比较大?(还好,这边校招生和实习生也有一些转过来的,基本1-2月后就可以开始做一些小需求上线了)
总的来说,被吊锤。还是想稍微许愿一下三面的,虽然多次掉坑里了但我也算是爬出来了吧,呜呜呜...
#字节跳动秋招提前批##面经##校招##字节跳动##Java工程师##提前批#
全部评论
确实有难度,楼主已经很强了,加油!
点赞 回复
分享
发布于 2021-07-30 23:42
楼主,我可以把你的问题总结下答案发布出来吗
2 回复
分享
发布于 2021-07-31 22:17
帆软软件
校招火热招聘中
官网直投
lz,12题好像都用到了索引吧
点赞 回复
分享
发布于 2021-07-31 10:34
太强了,我感觉看你的面经我也学到很多
1 回复
分享
发布于 2021-08-16 01:26
base哪的
点赞 回复
分享
发布于 2021-07-31 00:46
请问楼主base哪里
点赞 回复
分享
发布于 2021-07-31 00:46
加油
点赞 回复
分享
发布于 2021-07-31 10:28
点赞 回复
分享
发布于 2021-07-31 14:54
谢谢分享!
点赞 回复
分享
发布于 2021-07-31 20:30
synchronized(null)让我想到了sleep(0)
点赞 回复
分享
发布于 2021-07-31 20:44
楼主是周五面的嘛 出结果了吗
点赞 回复
分享
发布于 2021-07-31 23:20
老哥,,医美部门咋样啊
点赞 回复
分享
发布于 2021-07-31 23:39
第10个不是线程状态吗
点赞 回复
分享
发布于 2021-07-31 23:43
高质量面试啊,楼主太强了
点赞 回复
分享
发布于 2021-08-02 11:51
Synchronized(null)编译都通过不了啊😂
点赞 回复
分享
发布于 2021-08-02 22:07
楼主牛逼 楷模
点赞 回复
分享
发布于 2021-08-10 21:05
牛逼
点赞 回复
分享
发布于 2021-08-10 23:04
太强了
点赞 回复
分享
发布于 2021-08-15 08:51
字节大佬的公众号猿侠令狐冲,会分享经典面经,我实验室一个师兄的独家秘籍,offer收割机,现在写成公众号了,偷偷告诉你,他写了一个降龙十八掌,在我们实验室封神了,可以加公众号私信给他要。和大家一起加油,共勉!!!
点赞 回复
分享
发布于 2021-08-19 00:32
太强了
点赞 回复
分享
发布于 2021-08-25 08:59

相关推荐

9 202 评论
分享
牛客网
牛客企业服务