page contents

面经||【字节跳动】-Java岗-抖音直播后端

一面 首先面试官跟我说了一下他面试的时候,可能会记录下我的表现,提前跟我打了个招呼。 上来先是简单的自我介绍。 你简历里,项目里都是偏向Android的,那为什么现在要面java后端的呢?s...

attachments-2021-12-vAUYFCKq61ca6dcba0ea6.png

一面

首先面试官跟我说了一下他面试的时候,可能会记录下我的表现,提前跟我打了个招呼。

上来先是简单的自我介绍。

  • 你简历里,项目里都是偏向Android的,那为什么现在要面java后端的呢?
  • springboot和spring cloud最大的区别是什么?在概念上有什么区别,或者说适用的场景有什么区别。
  • spring中的配置,讲一讲主要是用到了什么样的技术。
  • 说一下注解都包含哪些类型?
  • 如果你定义了两个注解,然后一个是运行时的,一个是编译时的,那它们两个在整个程序,从准备阶段、编译和运行阶段,有什么区别?就是为什么要有这些type。
  • 运行时还能拿到编译时候的注解吗?
  • Redis适用的场景是什么?假如一个系统有了redis,就有哪些功能,Redis和它的同类替代品有什么区别?
  • Redis的主从节点之间的区别是什么?什么时候进行切换?
  • Redis单机大概能撑多少的QPS吗?
  • Redis都有哪些数据结构?先说下五种基本的。
  • 说一下zset用到了哪些底层数据结构。什么时候发生这些数据结构之间的切换。
  • 跳表的查询时间复杂度,按照member查询和按照score查询,时间复杂度分别是多少。
  • 你觉得rabbitMQ适用于什么场景
  • 那么MQ的主要作用是什么?
  • 说下你对解耦的理解。关于MQ上,在解耦方面上,你可以说说自己的想法。
  • Nginx怎么解决跨域的问题。你先说下什么是跨域。那么APP中的跨域呢?

    面试官说项目就先聊到这里。

  • Redis中的分布式你是怎么实现的?

  • 那如果在集群中,Redis中锁的创建和释放,对于整个集群来说,意味着什么,发生了什么,可以说下嘛?
  • 写一个Linux命令,查出当前目录中,所有创建时间在一个月以前的文件,并压缩到指定文件夹。你可以查资料,就是你可以使用搜索引擎。(把我惊呆了,第一个面试让我用搜索引擎的…)
  • java的concurrenthashmap和hashmap的区别
  • 说一下它们俩的内部实现。
  • 说一下ConcurrentModificationException,遇到过吗?具体是什么?
  • 新生代和老年代的区别,为什么要这么分代呢?
  • 听说过sync-flood攻击吗(应该是syn-flood,面试官的发音有点emmm)
  • 说一下死锁的产生条件。
  • 内存碎片是如何产生的。

先考一个智力题,有100只狼和1只羊,狼吃了羊就会变成羊,那么狼会不会去吃羊。

接下来是代码题,给定两个有序的数组,求出所有的元素中,第k小的。

最后就是反问。你投递的是抖音直播,关于直播这块有什么想问的吗?我感觉我回答的有些送命,我说的是我基本不怎么看直播…

然后面试官说:你稍微等会,一会二面来找你。

二面10分钟后就开始了。

二面

先做个自我介绍。

  • 我看你做客户端比较多,为什么现在做了java后端呢?
  • 技术方面你觉得自己掌握的比较好的方面有哪些?

  • java中有一个叫泛型,我有一个这样的例子(面试官手打的例子)

    List<A>list
    
    Java
    Copy

    我想放入B,其中的AB这两个对象毫无关系。怎么写呢?事后想想不会是直接把泛型去掉吧??

  • 那假泛型有哪些坑?

  • java典型的垃圾回收是怎么做的?

  • 有哪些可以作为GC Roots。

  • 以一种体系化的方式,给我介绍一下垃圾回收。

  • 垃圾回收会stop the world,这一步会发生在什么时候,以及如何避免?

  • 为什么必须要stop the world?

  • 标记复制的标记,是先去找gc root吗?那你想过这么一个问题吗,我做新生代垃圾回收的时候,我怎么去处理被老年代引用的对象。

  • 回到stop the world,用户线程是怎么被停下来的?

  • 什么样的点是safe point呢?为什么要选择这些点做safe point呢?

  • TCP在建立连接的时候是三次握手,而挥手是四次呢?

  • 断开连接的时候有个状态是TIME-WAIT,为什么要有这个状态?这个状态的时间是多少呢?

算法:给定一棵二叉树,然后呢我们要把它就地按照中序遍历使它变成双向链表。

  • mysql用在哪些场景呢?
  • 数据库的隔离级别,有一个repeatable read,这个隔离级别什么时候会用到,为什么要用到这个?什么时候需要可重复读?
  • volatile的作用是?那你觉得它和repeatable read是冲突的吗?为什么这两个技术是截然相反的呢?
  • 为什么会有可见性问题?工作内存具体在哪里?
  • 为什么要进行指令重排?
  • 指令重排会带来什么问题?

你有什么想要向我了解的吗?

总结

今天字节的两位面试官真的是我秋招以来遇到的12位面试官中,最最nice的了,问的问题非常有水准,然后人也特别棒,跟这种面试官面试就完全能查出自己哪里不足,然后进行查漏补缺,给字节跳动点赞!

以上就是本次分享内容,更多大厂面试经验持续关注六星社区

想要高效学习,指路微信公众号——【python编程学习圈】每日分享学习干货,关注即可免费领取整套Python零基础到入门资料及学习教程,走过路过,千万不要错过!!快行动起来!!

attachments-2022-05-ZwUUz0Co628f2e3079c7b.jpeg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1472 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1471 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章