【字节跳动】Java岗-商业变现后端实习

一面(04-02)40min

1、自我介绍

2、算法题]:给定一个排列,求它的下一个排列,[1,2,3] -> [1,3,2] ;[3,2,1]->[1,2,3]

3、说一下netty的主要组件,有什么作用?

4、直接用nio有什么问题吗?selector的源码看过吗?说一下?

5、epoll说一下?平常写代码有直接用到epoll吗?

6、浏览器输入一个url到页面渲染的整个过程?越详细越好?

7、假设你dns获取到的是负载均衡的服务器ip,那么还会通过这个ip映射到应用服务器ip,如果这个过程中出现问题怎么办?

8、hashmap底层说一下?为什么每次扩容都是2倍?和hashtable的区别?hashtable底层数据结构?

9、jvm内存分布?如果现在有一个静态类,它的数据会存在哪?

10、CMS知道吗?频繁full gc怎么排查?

11、finally中的语句总会执行吗?什么情况下不会?

12、redis的几种数据结构都说一下?跳表说一下?

13、mysql索引知道哪些?然后写了几个sql,问能不能走索引?

14、3层的b+树大概能存多少数据?怎么计算的?

15、mysql的锁有哪些?平常有实际用过吗?怎么用的?

16、mysql主从复制知道吗?mysql分片知道吗?有实际应用吗?具体说一下?

17、我这边没什么问题了,你等下,马上会有另外一个面试官跟你沟通

二面(04-02)50min

一面完几分钟后,二面面试官就进来了

1、算法题:合并k个链表

2、你写的这个还能再优化吗?优先队列怎么实现的?说一下堆的插入和删除过程?

3、项目介绍

4、你这个项目中,数据库和缓存的读写策略?怎么保证一致性?

5、redis结点宕机了怎么办?某个哨兵节点宕机了怎么办?哨兵的数量对新主节点的选取有什么影响吗?

6、redis的持久化说一下?主从复制的过程说一下?

7、你的项目用到了netty的什么特性?

8、项目有碰到粘包和拆包的问题吗?怎么解决的?

9、群聊怎么实现的?消息怎么存储的?消息怎么推送的?如果这个群特别大,怎么去优化?

10、群聊和视频直播有什么不同的地方吗?

11、如果让你设计一个直播系统,你会怎么设计?弹幕怎么存储?

12、消息队列中积累大量消息没有被消费,你觉得是什么问题?你会怎么解决?

反问:

部门业务和技术栈

二面完之后过了几分钟,hr电话跟我说面试通过了,约了三面时间,并且加了一下微信

三面(04-08)45min

1、自我介绍

2、算法题:给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

3、SQL题:

成绩表 SC(S#,C#,score)
S# 学生编号,
C# 课程编号
score 分数,

找出语文成绩及格,平均成绩不及格的学生编号,语文成绩,平均成绩。

4、介绍一下你做的项目,然后对其中一个项目进行扩展,从单机扩到分布式,会出现哪些问题,你会怎么解决?(10min)

5、CPU的调度方式

6、内存管理

7、linux命令知道哪些?

8、DNS的过程知道吗?ping的过程知道吗?

9、微服务了解吗?说一下你用过哪些组件?怎么用的?

10、消息队列了解吗?怎么保证消息能消费到且只被消费一次?

11、平常怎么学习的?看过哪些书?说一本印象最深刻的?有看过非技术的书吗?

12、我这边没问题了,你有什么想问我的?

反问:

对这次面试的评价和对我的建议

hr面(04-08)20min

1、自我介绍

2、前面的面试有做过复盘吗?能具体说一说吗?

3、看你参加的比赛挺多的,也做过很多项目,那你是怎么去利用好自己的时间的呢?

4、你现阶段的个人规划可以说一下吗?

5、你觉得你大学到现在让你改变最大的一件事是什么,可以分享一下吗?

6、除了字节,还有其他公司的offer吗?如果字节这边给你发offer,你会怎么选择呢?

7、什么时候能来实习?能实习多久?

发表评论

后才能评论