字节跳动-抖音直播面经-已收到offer

4.19 一面技术面(55min = 问答35min 算法题20min)

base广州,抖音直播业务,负责对接主播运营公司的平台,开发语言为Go。面试官很准时,一上来先介绍了整个面试的流程,还有大致的时间面试时间(50min)。

  1. 介绍一下你觉得还不错的项目(疫情防控系统和学生咨询平台),深入问了疫情防控系统的架构设计,怎么运作的,轨迹信息怎么存的,匹配是如何进行的,区块链里面有哪些东西,甚至谈到了智能合约是什么,让介绍一下智能合约里面有哪些数据结构。一开始有点犯怵,还想着难道这是个搞区块链的,但后面没有继续追问,应该只是想看看我对于那个项目具体了解了多少吧。
  2. 说一下你了解的加密算法(对称加密、非对称加密,非对称加密的两个用途,数字证书和加密解密)
  3. 数组是不是对象(是的,生成的类名前面有个大写的L)
  4. 八种创建对象的方法(一开始把我吓到了,然后想了下面试官想问的到底是啥,java语言层面就两种,new或者反射,其他的都是设计模式,面试官认可了)
  5. 如何判断两个类是否相同(包名类名),包名类名相同的是否会是同一个对象(类加载器,双亲委派)
  6. 深拷贝浅拷贝(这个很简单啦)
  7. 说一下UDP和TCP的区别(重点讲TCP的滑动窗口、消息重传、流量控制、拥塞控制,公平性问题,扩展了一下谷歌的QUIC)
  8. 说一下内核级线程和用户级线程的区别(内核级线程操作系统可见,之后从TCB讲起,里面有哪些内容,之后扩展讲了java语言和Go语言如何利用二者的关系实现对应的线程的,分别是一对一和多对多的关系,如果不用内核级线程的话用户级线程需要自己完成调度功能)
  9. 你看过哪些开源框架的源码,讲一讲(shiro鉴权功能,感觉意义不大,没有细讲;netty,又是IO多路复用到Reactor,详细讲了如何利用它来设计服务器端,一个服务一个线程的缺点以及线程池的缺点)
  10. 算法题,lc 5. 最长回文子串(这题我第一反应是中心扩展法,但面试官问我能不能优化一下,我卡了半天,因为没看过leetcode题解,也可能当时看了过了太长时间都忘了,最后胡诌了一个,说用map记录下相同字符串有没有出现过,面试官也没有多问,之后就让我实现了,顺利地写出来了)。
感觉字节的面试难度还是比较大一些,但是流程比较专业。值得一提的是,虽然他们是用go,但是会问一些关于jvm的问题,比如两个类是否完全相等这个问题,得要上jvm的类加载器才能说得清楚,但还好没问到不会的。期待下文,会继续更新。

4.22 二面技术面(70min = 问答45min+算法题25min)

这一次真的给我整麻了,每个技术点都会深挖到底,很有压力。(。•́︿•̀。) 这个部门真的是用go的吗,这个面试官咋啥都会,,而且经常打断我说话,不想让我掌控整个面试的流程,每个问题最多讲三分钟,放在之前可能会吹七八分钟吧,人家面试老手了属于是

  1. 介绍一下你做过的项目,背景和用途,说一个你觉得不错的模块,之后便开始疯狂追问和深挖了,感觉比蚂蚁的一面面试官狠不少,面试官开了视频,面不改色,语气也不变,一边问一边做面试记录,着实有点吓人。
  2. 为什么要用websocket,他跟http什么关系(开始跟他扯)
  3. accept在TCP三次握手的哪个阶段。果然问这个坑逼问题了,一开始想了一会儿,之后说三次握手完了accept才会返回一个已经建立的tcp连接,OS将这一层封装了,看不到
  4. ssl在WebSocket的哪一层(感觉这里还在套我,他们不是同一层的东西)
  5. WebSocket解决了哪些问题,不用它行不行(可以,但是得自定义协议,除了应用层协议,还可以用json自定义消息类型,之后讲了项目中的消息类型有哪些)
  6. netty的通信模型是什么,详细讲讲,IO多路复用模型,监听的事件有哪些。问这些问题的时候面试官还经常打断说话,感觉是不想听我长篇大论,只想抓重点打击了
  7. 除了IO多路复用,还有哪些通信模型?(一个请求一个线程,线程池,都不好)
  8. 处理消息有没有排序(有,在客户端进行)
  9. 发送消息的时候网络连接断了怎么办,这个问题他在跟我死抠。(服务端会发送一个ACK消息),但客户端不知道自己消息有没有发出去,如果又网络断了怎么办(还不是很想扯应用层也要三次握手,然后说tcp其实已经实现了可靠性安全性,应用层其实只需要保证socket连接是打开的就好了)面试官还在怼,如果消息断了那肯定不行呀,有问题(没办法了,跟他详细讲了怎么在应用层也设计一个三次握手,哪一次断了会产生什么问题,如何避免),服务器怎么避免消息重新发送(暂存在服务器端,不过是暂存,不能长期存)。最牛逼的来了,他还不满意,说这挺麻烦的啊,有没有优化的方法(我说这是没办法的,既然是不安全的信道,只能通过三次握手来保证。感觉这里他是想试探到我知识和能力的边界,考察反思能力,如何否认和确认一个观点,太牛逼了)
  10. 话锋一转,来到了虚拟内存(从头讲起,背了一遍学过的OS)
  11. 换入换出的算法有哪些?(给他从LRU算法的实现,再到硬件的近似算法clock算法,clock算法的优化,面试官终于没继续问了)
  12. 你了解的jvm里面,内存模型啥样的(从堆、方法区、栈每一个都理清了一遍),方法区没有垃圾回收吗?(确实没有的,类型的卸载很少发生,在jdk8之后从堆的永久代移到了元空间。这个感觉还是在试探我,加压)除此之外我还提到了直接内存的零拷贝问题和栈上分配对象的方法逃逸,他全部都追问了,零拷贝具体怎么实现的,方法逃逸需要满足的条件是什么,牛逼
  13. 聊聊垃圾回收(标记整理、清除、复制)
  14. gc roots有哪些(不在堆中的那些对象)具体有哪些(类加载器、Exception,太多的不记得了,面试官也没有死抠)
  15. 浮动垃圾怎么办(这个已经很深了,讲CMS垃圾回收器,是怎么在并发的时候还能保持垃圾回收,CMS的四个主要阶段)
  16. 讲讲Mysql的MVCC,多版本是通过什么来实现的(undolog),undolog的结构是什么样的(跟执行的操作刚好逻辑相反,insert对应一个delete,update恢复原值)
  17. select * from t1 where a = 'x' and b != 'x' and c = 'x' order by d desc limit 0,10;
    这句sql语句如何建立索引(首先肯定不能全部建索引,因为Select * 不会出现覆盖索引的情况,最后回答建立a,c,d的索引,b用不到索引)
  18. 目前就记得这么多了,接下来到了算法题。因为之前问的比较难,我也基本答上来了,所以给了个很简单的题,合并两个有序的数组。但面试的压力还是有点大,浪费了不少时间,磕磕绊绊写出来了。
  19. 最后问了面试官表现怎样,他说挺正常的,最后算法题不需要太紧张

抖音不愧是抖音,牛逼!


4.24 三面技术面(55min)


第三轮面试明显比正常多了,面试官开了视频,感觉有三十来岁,很和蔼,感觉像是那种部门领导,所以基本上话题在由我掌控。

  1. 一上来先跟我寒暄一下,觉得前两次面试感觉如何,我说感觉难度不小,但自己表现的也还不错,氛围很轻松。
  2. 接下来就来说项目了,就是很愉快地交流了。包括谈了下具体出现了什么困难,团队怎么解决的,其中还夸了半天我的队长鹏哥,说领导品质有哪些,团队领导的过程有哪些,怎么分析调研 分析需求 项目规划 技术选型 安排组员学习 交流近况。
  3. 谈了谈WebSocket。
  4. 谈了谈区块链,凸包算法。
  5. 谈了谈设计模式,聊了几个最熟悉的,装饰器模式、工厂模式、单例模式,说的差不多了就没说了。
  6. 看到我的项目里有Vue竟然让我谈了谈,他跟普通的页面有什么不一样(命令式UI到声明式UI的大前端时代跃进),webpack跟普通的html有啥不一样(配置项目原数据,使得前端成为一个真正的项目,前后端分离)。这里是在考察全栈开发的系统设计能力,也很有意思哈哈哈。
  7. 一个场景题编程题,并发发起若干个请求,接收到所有的数据之后再向屏幕输出,讲了下如何配合java的并发类concurrentHashMap、atomicInteger、countdownLatch来完成这个操作,但面试官后来问我会不会前端发请求,我说可以用ajax发送请求,异步回调的方式,然后他竟然让我写个前端伪代码了哈哈哈哈笑死,然后我用js写出来了。
  8. 一个简单算法题,判断一个链表是否有环,很快写完了
  9. 问了我怎么学习的,能实习多长时间

三面整体还是比较轻松的,其中很好笑的是问了我不少前端的问题,但我不是来面后端的吗 (* ̄︶ ̄) ???最后还有个让我用js写并发请求的很有意思。

今天三面是周日下午五点给我面的,周末也给我加面真的很意外,期待接下来的好消息嘿嘿。


4.26 HR面(30min)

果然字节还是效率高,从一面到现在总共不到一个星期的时间,上午hr收到面试官的面评推送后马上就跟我约下午三点的面试了。

  1. 技术规划与职业规划。
  2. 项目里面遇到问题怎么解决的。
  3. 你认为团队管理最重要的是什么,想过要当队长吗?
  4. 最近看过哪些书。
  5. 个人情况,什么时候可以入职。
  6. 还面过哪些公司?
  7. 介绍了下字节那边的工作时间安排,双休,工作日十点半上班,十二点到两点恰饭+休息,有下午茶和点心,七点恰晚饭,晚上8 9点走人,没事儿的话吃完饭就可以溜了。

最后说可以在五个工作日内给结果,期待后续结果。


#面试复盘##实习##面经#
全部评论
🎉恭喜同学成功投稿参与【面试复盘】,并通过审核! 😉累积5篇即可获得名企面试官1v1面试点评大奖,期待你的获得~~ 👉🏻戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
2 回复 分享
发布于 2022-04-20 14:31
迪佬真的tql
点赞 回复 分享
发布于 2022-04-25 18:12
楼主hr面完过了多久收到offer呀
点赞 回复 分享
发布于 2022-05-12 00:17
哎,是校友啊
点赞 回复 分享
发布于 2022-05-22 22:04
实习生问的这么难吗
点赞 回复 分享
发布于 2022-12-10 23:31 河北
这是实习吗?那么难
点赞 回复 分享
发布于 2023-08-30 10:20 广西

相关推荐

点赞 评论 收藏
分享
评论
10
70
分享

创作者周榜

更多
牛客网
牛客企业服务