猿辅导后台二面凉经

1.完全二叉树与平衡二叉树的概念
2.两道算法题。求完全二叉树的最大深度与节点个数,要利用完全二叉树的特性。
3.JUC包下面一些类的原理解析。
ThreadPoolExector
AQS
4.线程池。首先介绍一些工作原理。然后挖一些细节问题。
(1)现在线程池设置的核心线程数为10,最大线程数为100.
问:假如现在有两个线程,1个在工作,1个空闲,又来一个任务,如何运行?
(2)现在线程池里面的线程数已经超过了核心线程数,小于最大线程数。
问:如果线程池里某一个线程执行完任务了,设置的空闲等待时间是1秒,该线程是怎么知道自己到1秒了,然后销毁的。
5.JVM。主要问CMS与G1,问得很细。
比如:CMS工作时,具体怎么标记对象是否可达的。假如现在CMS在进行垃圾收集了,同时用户线程又在工作,会有新的对象分配,那么CMS能否感知到用户线程是否产生了垃圾,本次垃圾收集时候,如何避免回收掉用户产生的新对象(我猜测本次新分配的对象留到下一次GC,但是具体CMS怎么判断出来该对象是新分配的对象,真不知道)。
G1也有用户线程与GC线程同时工作的情况,那么是如何进行垃圾收集的,具体怎么实现的。
反正就是问得很细
6.有看过源码嘛?平时怎么学习的。
Java NIO的实现原理。服务端怎么通知客户端来取数据的,具体怎么实现的。

总结:大概50分钟,问得很细,好多知识点以前自己没想的那么深入。还有就是关键那两道算法题,对完全二叉树的特性不够了解,写代码的时候不知道怎么利用特性。面试官提问前都问先问你熟悉什么,然后针对性的提问,深入理解。感觉面试官非常专业,很有耐心,最后建议我以后要去理解一些细节方面的知识点。
#猿辅导##面经##Java工程师#
全部评论
『假如现在CMS在进行垃圾收集了,同时用户线程又在工作,会有新的对象分配,那么CMS能否感知到用户线程是否产生了垃圾,本次垃圾收集时候,如何避免回收掉用户产生的新对象』 这里想问是浮动垃圾吧
3 回复 分享
发布于 2019-08-17 11:54
好人啊,其他那几个面完了二面都不发面经,祝楼主一定过呀!!!
点赞 回复 分享
发布于 2019-08-16 14:30
太强了
点赞 回复 分享
发布于 2019-08-31 16:22
你算法题写出来了吗
点赞 回复 分享
发布于 2019-08-28 08:56
太难了,感觉自己白学了
点赞 回复 分享
发布于 2019-08-28 06:04
线程池怎么回答
点赞 回复 分享
发布于 2019-08-28 03:03
应该是RSet 和 CSet 有关
点赞 回复 分享
发布于 2019-08-24 10:35
连dfs都不用
点赞 回复 分享
发布于 2019-08-24 10:07
求完全二叉树的最大深度与节点个数,这个用程序遍历求树高可以吗?我不太懂用完全二叉树的特性是什么意思
点赞 回复 分享
发布于 2019-08-16 22:49
同一个面试官。也是疯狂手撕代码。同样的二叉树的题,还加了一道hash表。
点赞 回复 分享
发布于 2019-08-16 19:16
好难
点赞 回复 分享
发布于 2019-08-16 14:26

相关推荐

最终还是婉拒了小红书的offer,厚着脸皮回了字节。其实这次字节不管是组内的氛围、HR的沟通体验,都比之前好太多,开的薪资也还算过得去,这些都是让我下定决心的原因之一。但最核心的,还是抵不住对Agent的兴趣,选择了Ai Coding这么一个方向。因为很多大佬讲过,在未来比较火的还是属于那些更加垂类的Agent,而Ai Coding恰好是Coding Agent这么一个领域,本质上还是程序员群体和泛程序员群体这个圈子的。目前也已经在提前实习,也是全栈这么一个岗位。就像最近阿里P10针对前端后端等等不再那么区分,确实在Agent方向不太区分这个。尤其是我们自己做AI Coding的内容,基本上90%左右的内容都是AI生成的,AI代码仓库贡献率也是我们的指标之一。有人说他不好用,那肯定是用的姿态不太对。基本上用对Skill、Rules 加上比较好的大模型基本都能Cover你的大部分需求,更别说Claude、Cursor这种目前看来Top水准的Coding工具了(叠甲:起码在我看来是这样)。所以不太区分的主要原因,还是针对一些例如Claude Code、Cursor、Trae、Codex、CC等一大堆,他们有很多新的概念和架构提出,我们往往需要快速验证(MVP版本)来看效果。而全栈就是这么快速验证的一个手段,加上Ai Coding的辅助,目前看起来问题不大(仅仅针对Agent而言)。而且Coding的产品形态往往是一个Plugin、Cli之类的,本质还是属于大前端领域。不过针对业务后端来看,区分还是有必要的。大家很多人也说Agent不就是Prompt提示词工程么?是的没错,本质上还是提示词。不过现在也衍生出一个新的Context Eneering,抽象成一种架构思想(类比框架、或者你们业务架构,参考商品有商品发布架构来提效)。本质还是提示词,但是就是能否最大化利用整个上下文窗口来提升效果,这个还是有很多探索空间和玩法的,例如Cursor的思想:上下文万物皆文件, CoWork之类的。后续也有一些Ralph Loop啥的,还有Coding里面的Coding Act姿态。这种才是比较核心的点,而不是你让AI生成的那提示词,然后调用了一下大模型那么简单;也不是dify、LangGraph搭建了一套workflow,从一个node走到另外一个node那么简单。Agent和WorkFLow还是两回事,大部分人也没能很好的区分这一点。不过很多人说AI泡沫啥啥啥的,我们ld也常把这句话挂在嘴边:“说AI泡沫还是太大了”诸如此类。我觉得在AI的时代,懂一点还是会好一点,所以润去字节了。目前的实习生活呢,除了修一些Tools的问题,还包括对比Claude、Cursor、Trae在某些源码实现思想上的点,看看能不能迁移过来,感觉还是比较有意思。不过目前组内还是主要Follow比较多,希望下一个阶段就做一些更有创新的事情哈哈。这就是一个牛马大学生的最终牧场,希望能好好的吧。说不定下次发的时候,正式AI泡沫结束,然后我又回归传统后端这么一个结局了。欢迎交流👏,有不对的🙅不要骂博主(浅薄的认知),可以私聊交流
码农索隆:和优秀的人,做有挑战的事
点赞 评论 收藏
分享
评论
8
123
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务