字节广告后台二面(凉)

面试时间

面试时间:2020-12-14 11:00GMT+08:00​

项目

怼我项目

基础

让我手写一个ArrayBlockingQueue,这里我脑子抽了,用了现成的链表实现FIFO,5 分钟搞完,我还在想我真尼玛聪明。然而,两分钟以后我戴上了痛苦面具....

问我为什么用链表不用数组,我嘴贱说了一句链表实现 FIFO 方便嘛,还有现成的 API
他炸了,开始怼我,说:你不是说你看过 JDK 源码吗?这个东西在 JDK 里面是用的链表?你这样写的话,空间复杂度能低到 JDK 里面的ArrayBlockingQueue那种程度么?我让你写这个不是想考察对资源的控制,就是想考察一下你能不能写出循环数组..
我:阿巴阿巴阿巴

Q: CMS 收集器什么时候会变成串行的...
这里我说初始标记的时候会短暂的造成串行,完全没想到浮动垃圾太多会触发串行老年收集器,卒
看我结巴了,又开始问我 Redis 了

Q:Redis 的分布式锁你了解么?假设现在没有外挂式的插件,就让你用原生的 Redis 命令实现一个分布式锁,怎么搞?
我这里说一下抢占式写入然后逻辑获取锁的过程,一步一步细化
Q:刚刚你说的这些命令好像都不是原子性的,会出现什么问题呢?

我说用 lua 脚本可以实现原子性操作,他又问除了 lua 脚本还有没有什么原子命令
我说原子命令好像只有两个,一个直接加一,一个直接减一的命令,其他的忘记了

Q:zset 底层是那些数据结构?
压缩列表和跳表..
后面还问了些啥我忘了..

写了个 sql,问我应该怎么建索引
类似select * from A where A.a = ? order by a.b

最后问了一些 TCP 状态机的问题,问 timewait 是哪一边会产生的状态

回答完之后我大概知道凉了,因为我在讲的时候感觉他已经不太想听了

最后问我一个微电子的干嘛想不通要来做软件?让我在学校好好学习(笑),再多补补基础知识.......

太久之前面试的了,能记起来的就这些了,还有一些小问题想起来了再补

写在最后

刚好一个小时,最后跟我说了一句感谢我来参加面试,彻底凉

#实习##面经##字节跳动##Java工程师#
全部评论
实习吗
1 回复 分享
发布于 2020-12-24 20:09
太难了吧😥
1 回复 分享
发布于 2020-12-27 18:05
有一说一 同大三 我一个都写不出来😓
点赞 回复 分享
发布于 2020-12-24 21:09
点赞 回复 分享
发布于 2020-12-24 22:57
简历写了arrblkqueue么,问你这个
点赞 回复 分享
发布于 2020-12-25 00:48
感觉问的有点难~
点赞 回复 分享
发布于 2020-12-25 10:44
阻塞队列再进一步,写个线程池吧
点赞 回复 分享
发布于 2020-12-26 16:32
。。说真的用数组实现阻塞队列是真的不好写啊。。😂楼主也太黑了
点赞 回复 分享
发布于 2020-12-26 17:00
字节一面完 面试官给我说 我们这里面试者大多是985和211的😂
点赞 回复 分享
发布于 2020-12-27 14:50
太可怕了,我一个都答不出来
点赞 回复 分享
发布于 2021-01-06 23:31

相关推荐

不愿透露姓名的神秘牛友
09-27 17:58
点赞 评论 收藏
分享
7 50 评论
分享
牛客网
牛客企业服务