字节抖音Java一二面凉经

写在前面:一面问得过于简单,二面过于困难。整体的体验不太好。。

一面

1.Java如何实现线程安全(synchronized,ReentrantLock,AtomicInteger,ThreadLocal,CAS)
2.CAS如何解决ABA问题(版本号)
3.AtomicInteger的原理(UnSafe类,底层是一句CPU指令,避免了并发问题)
4.可重入锁是什么,非可重入锁又是什么(略
5.代码,实现生产者和消费者,一个长度100的buffer,10个生产者线程,10个消费者线程
(我用了ReentrantLock跟Condition,结果忘记了锁的包路径是啥了,我写成了java.util.concurrent.,后来才知道是java.util.concurrent.locks.。。。)
6.对着代码提问,判定条件的while能不能换成if,为什么?为什么用signalAll,可不可以换成signal,二者有什么区别?
7.Spring,AOP是什么,IOC是什么
8.二叉树的概念?红黑树又是什么,红黑树和其他平衡树的区别在哪
9.TCP三次握手的过程,重发报文的过程。
10.TCP和UDP的区别
11.说一下哪个项目觉得最有挑战,有几个模块,介绍一下
12.代码,LeetCode76

二面

1.MySQL的事务特性,事务隔离级别,分别解决了什么问题
2.间隙锁是什么,具体什么时候会加锁(具体什么时候加锁,这里要把所有情况都说清楚。。
3.SQLite如何加锁
4.Java里的锁,有哪几种(synchronized和Reentrantlock)
5.ReentrantLock有哪些特性(可重入,公平锁),可重入是如何实现的(有一个引用数,非可重入只有01值)
6.当某个线程获取ReentrantLock失败时,是否会从内核态切换回用户态?ReentrantLock如何存储阻塞的线程的?(AQS,不断轮询前一个结点是否状态发生了变化)所以什么是自旋锁?
7.JVM,说一下最熟悉的GC(我说了CMS,讲了并行回收,浮动垃圾,最短STW等等),然后追问我CMS的整个回收流程,标记,清理等等,年轻代怎么回收等等。(被问倒了。
7.Redis的持久化如何做到的?(RDB+AOF)
8.RDB具体是如何实现的,RDB生成快照的时候,Redis会阻塞掉吗?(使用BgSave,fork一个子进程去并行生成快照,不会阻塞)
9.既然生成快照的中途依然可以执行Redis,那么从节点获取到快照是不完整的,如何同步?(主从同步,先建立连接,然后命令传播,两个结点中的buffer队列里存储一个offset,差值就是需要同步的值)
10.设计题,设计一个扫码登陆(不会)那换成设计微信红包功能(MySQL的字段,Redis缓存一致性,发红包如何add字段,抢红包如何修改字段,通过一个唯一的版本号去保证CAS的ABA得到解决。但说了很久,面试官依然认为思路混乱)
11.算法题,n*n的矩阵,只能向右或向下移动,从最左上方移动到最右下方,把所有的路径输出(回溯,但剪枝忘了。前面的也答得不好,差不多就溜溜球了,也没有继续挣扎了。。)

碎碎念

一面的面试官爱理不理的,感觉就不是很想招人。但最后出了一题hard,也做出来了,感觉应该还是能过的,确实也通过了。

但二面真的太难了,每一个问题都会一直细问,追问。其实ReentrantLock,还有MySQL的锁,Redis的持久化过程,我都有认真去复习的,但真的追问得太细了。。其实当时他第一题问“MySQL具体什么时候加锁”,我就挺懵的了。因为这个题我确实研究过很久,要综合考虑隔离级别,是否用了主键索引,二级索引,是否 存在回表等等的。所以当时我也不知道怎么回答,然后冷静下来就定位到了间隙锁上也就是肯定为RR级别,接着把大概的select,insert,delete等等的都说了,但后面还要继续说更细节的情况。我也不知道是我对题目的理解有问题,还是面试官想要的答案跟我不一致。反正挫败感很强,因为我记得当时看“这条SQL语句加了什么锁”,真的看了很久,而且自己也动手去测试了,结果还是没能满足面试官。。

面试官看我对锁的理解“不够深入”,于是转向了Java里的锁。问完ReentrantLock的特性,又问什么是可重入锁,说完又问具体是怎么实现的。直到这里我还是完全OK的,但后面的“线程在用户态和内核态的切换”我就完全不懂了,面试官诱导了一下ReentrantLock如何实现,我大概说了一下AQS跟CLH锁,感觉又被挖坑了,跟前面说的“可能答案”自相矛盾。。

接着的Redis持久化,也追问得很厉害,从持久化问到主从同步。。中间追问的时候描述得也比较“模糊”,后来在提示下才知道是问主从同步了,然后把整个过程都说了一下。。

接着的设计题,没接触过。。说了很多,感觉还是不行。

算法题基本上已经是“垃圾时间”啦,确实也出了一题很简单的题,大概做出来之后就算了。面试官问我如何优化,我也深知已经没戏,就直接放弃说不会了。然后面试就到这里。

总的来说,其实二面的面试官挺温柔的,但问的题对于我来说太难了。。所以,第二天收到HR的感谢信。over。

#面经##Java工程师##社招#
全部评论
我昨天也面了一次字节,面试官盛气凌人的态度搞得人特别不舒服,一直怼人,不知道的还以为是我导师呢
11 回复
分享
发布于 2021-06-21 10:49
字节的面试真的是难得可怕
7 回复
分享
发布于 2021-06-21 09:31
英特尔
校招火热招聘中
官网直投
意思是面试很重视底层基础能力是吧
4 回复
分享
发布于 2021-06-21 09:53
这是校招还是社招
4 回复
分享
发布于 2021-06-21 10:14
跟这种面试官对线有点意思
3 回复
分享
发布于 2021-06-21 21:04
这是几年工作经验啊
2 回复
分享
发布于 2021-06-21 11:04
现在为什么动不动就是困难算法题?
2 回复
分享
发布于 2021-06-21 14:25
同字节,二面体验很差,感觉像是审问而非面试。。
2 回复
分享
发布于 2021-06-21 14:48
题主很强哇,同社招,请问下实现生产者和消费者,一个长度100的buffer,10个生产者线程,10个消费者线程,用reentrantLock的目的是啥呀?   用2个线程池+1个阻塞队列应该是可以直接实现的吧
2 回复
分享
发布于 2021-06-21 15:21
都社招了怎么还一个劲的问这种八股文,可能不缺人?
2 回复
分享
发布于 2021-06-21 19:56
哈哈哈哈CMS那个,你被坑了,CMS只注重于老年代的回收。不会管理年轻代的回收。CMS +ParNew一起使用,ParNew是回收年轻代的。常见组合:CMS+ParNew,Serial + Serial Old (早期JDK版本的回收器组合),Parallel scavenge + Parallel Old (简称ps+po,是JDK8默认使用的组合)。G1是再JDK9使用,G1已经不分代了。在jdk8也可以使用G1。G1目前是性能最好的垃圾回收
2 回复
分享
发布于 2021-08-24 15:39
老哥哪个部门
1 回复
分享
发布于 2021-06-21 10:16
简历写了对锁有深入理解吗,为啥问这么多锁的内容😂
1 回复
分享
发布于 2021-06-21 12:47
社招吗
1 回复
分享
发布于 2021-06-21 16:24
这是校招实习吗?暑假实习这个难度吗?
1 回复
分享
发布于 2021-06-21 17:43
是 实习&nbs***bsp;校招&nbs***bsp;社招?
1 回复
分享
发布于 2021-06-21 18:46
这也太难了
1 回复
分享
发布于 2021-06-21 20:26
最后两题是真难,不想招人就别让人来面呀
1 回复
分享
发布于 2021-06-21 22:43
问一下楼主哈 我记得可重入锁底层是用aqs实现的吧,存储阻塞线程应该用的是链表吧,唤醒是unpark吧
1 回复
分享
发布于 2021-06-21 23:00
reentrantlock是可重入可中断的独占锁,对象锁同样是可重入和独占的,但是对于对象锁的争夺没办法被中断,除非获得锁才会被唤醒。对象锁的重量级锁底层依赖的是系统的信号量,当升级到重量级锁,需要陷入系统内核态,也就是需要用户和内核态之间的切换。reentrantlock是底层是aqs,aqsjdk基于竞争队列实现的,如果单纯讲加锁的话,不需要陷入内核态。
1 回复
分享
发布于 2021-06-29 03:06

相关推荐

#非技术2024笔面经# 💼 公司岗位:电商运营给自己积点德1、自我介绍  (我是按照简单个人介绍+校园经历+实习经历+感谢)第一次面试还是有点磕磕巴巴2、你的家乡在哪里 (我说我是广西北海人,去湖北读书回来广东工作 )3、小熊是哪些方面吸引你?(一个是符合我的预期电商专业,一个是地域是我想要的新一线城市,看过公司官网感觉挺有实力)  4、岗位JD的了解  (岗位jd我都忘记了、磕磕巴巴讲了一些)5、电商运营的实操经历——以淘宝店铺为例  (这边我要再继续提炼一下我开店的经历了,一年没有在经营,所以很多东西都忘记了)6、目前还在运营店铺嘛? (因为实习原因,所以就没有继续看下去) 7、店铺是卖什么类目的? (玩具手办、针织类服饰) 8、店铺的运营时间  (2年)9、小熊店铺的布局?  (我没有特别注意他的布局,然后我就主要抓了一个和店铺相关的点把它圆回去了😭)10、你的都是用户运营方面,对私域运营很感兴趣嘛?  11、如果您加入了小熊,您会怎么对小熊私域进行规划?  (我一直讲的都是把人引流到企微然后进行管理,我应该和他说进行精品调研之后再进行相关的操作,我目前没有那么多经验,害~)12、你了解过小熊的哪些推广账号?  (我只看过淘宝的,我就跟他说,嗯,小红书和抖音都有相应的渠道,但是拼多多和京东我没有看,主要看淘宝的)13、家庭情况(兄弟、父母对个人意愿)  14、你的兴趣爱好?  15、你最近喜欢的一本书? 面试紧张忘记了,但是我真的看,但是真的看了!!!!推荐大家去看,大概内容就是一位年轻人和一位哲学家进行人生的探讨,理解课题的分离——《被讨厌的勇气 》16、你还有什么想问我的嘛? 晋升机制 #面试# #面经# #小熊电器# #春招# 对我自身简历、面试感受和经历的建议 (后面我说我不问了,等到假如能够再进行下一面面试的时候再继续询问吧“我是感觉八字还没一撇,问太多好像没什么意义😢”)ps:在线面试大家真的要搞好自己的网络问题,然后电话问题,我刚刚面试的时候就有一个人打电话给我,导致断网了一下。真是的!!!!!生气😠
点赞 评论 收藏
转发
36 288 评论
分享
牛客网
牛客企业服务