首页 > 字节提前批一二三面面经
头像
天启sky
发布于 2021-09-24 19:40
+ 关注

字节提前批一二三面面经

字节跳动

商业化技术广告部门

2021.08.16 14:00 60min 一面 视频


1.自我介绍

2.介绍一下你的RPC项目吧?

3.为什么用zookeeper作为服务注册中心?其他的不行吗?

4.项目里面遇到的最大的难点?

5.讲讲RPC的具体实现吧?

6.说一下RPC的调用流程?或者说反馈链?

7.了解zookeeper的选主吗?那再说一下Paxos算法

8.说说netty为什么这么高效?

9.说说Java里面的锁?

10.乐观锁和悲观锁如何实现?结合业务?

11.你如果要设计一个注册中心你觉得从哪些方面考虑?

12.怎么做到负载均衡的?

13.说说你知道的负载均衡方案吧?(这里我多说了一点分布式session的内容,无非是哈希化,nginx代理之类)

14.限流方式了解吗?(了解,令牌桶,漏桶法,要不咱写个令牌桶?笑)

15.spring用过是吧?讲讲有哪些你知道的设计模式?(随便说,单例,代理,策略)

16.看你了解过它的核心容器,那说说IOC的底层原理吧?

17.说说bean依赖怎么解决的?

18.你觉得从IOC设计思想你学到了什么?在什么地方用上过这些东西?

19.AOP有什么设计模式?为什么需要AOP?你了解其他框架有类似的容器吗?

20.动态代理和静态代理区别?别说动态代理了,静态代理原理说一下?业务里面一般怎么做?

21.好,问问数据库。你了解数据库的底层数据结构吗?

22.B树和B+树区别?B+树叶子结点存的是什么?说清楚。

23.数据库的四大隔离级别说说?

24.你说你会数据库SQL优化是吧?说说一般分几个步骤?

25.explain命令一般怎么使用?详细说一下。

26.linux里面查看TCP连接用什么命令?

27.查看进程?每两秒刷新一次?

28.进程和线程的区别说说?切换的区别呢?(提到了TLB缓冲区,页表查询)

29.你学过计算机网络是吧?说说OSI七层网络模型每一层涉及到什么协议?

30.说说TCP的三次握手吧?说清楚两端状态。

31.说说HTTPS和HTTP区别?S是什么?

32.对称加密和非对称加密?(本来想结合RSA算法说一下TLS四次握手,面试官说够了)

33.知道time_wait状态是吧?为什么是2MSL,过多过少有什么影响?

34.SYN洪泛攻击怎么通过设置linux内核参数预防?(tcp_max_syn_backlog设置SYN未连接队列数量阈值,tcp_abort_on_overflow设置RST机制)

编码

35.做个题吧,简单点。大数相加(自己没有大规模刷题,只是有意识地刷一些类型题,听说过,没做过,很难过:( )

面试体验

无反问,面试官很严肃,给人压力挺大的。没有正面反馈,但是你说错了会立即提醒。看别人面经一面都没涉及到项目,我这里一顿怼业务。面试官虽然看起来不太友好,但是很效率。5分钟HR约二面。


2021.08.23 16:00 60min 二面 视频

1.自我介绍(说到自己的博客网站,自己的作息和爱好,面试官夸赞相比于我前面面试的好多人,你很不错,说了下谢谢面试官)

2.说一下你的RPC项目吧?我挺感兴趣(心里一凉,看发量面试官是个狠人,但是很温柔)

3.简要说说RPC的整体框架和结构?

4.你为什么要做RPC?不是已经有了很多RPC框架了吗?

5.所以你是为了学习RPC这种网络框架底层原理是吧?那造轮子时对比过其他框架吗?

6.说说用到了哪些技术或者框架吧。

7.你提到了netty的高效性,那为什么它是高效的?(IO线程模型,多路复用,零拷贝)

8.零拷贝是吧?你既然实现了socket和netty两种方式,说说优劣势吧?从底层原理讲讲如果不用netty,socket怎么实现传输的?

9.说说零拷贝底层原理(说了下DIRECT BUFFERS,面试官说不错)

10.项目里面还有哪些难点或者说亮点?(说了下序列化方式,kryo,Json,对比了一下)

11.差不多,了解spring是吧?你知道spring用了哪些设计模式?挑一个喜欢的设计模式讲讲。

12.spring的底层设计你学到了什么?如何应用在业务里面?

编码

13.我们来写个题吧。

判断链表有环(手撕)

判断环的位置(口述思想)

14.计算机网络了解吗?说说TCP的三次握手和四次挥手吧。(主动提一下time_wait状态和它的机制)

15.操作系统熟悉吗?说说如何查看进程状态?

16.CPU满载排查原因?(top命令,fullGC,死锁)

17.日志文件查找top10频率的IP地址(cat log | sort | uniq -c |sort -n -r -k 1 | head -10 )

18.讨论一下负载均衡和分布式算法。(轮询(伪随机),随机,加权轮询,Nginx_IP_Hash)

19.知道类加载机制吗?说一下具体过程?

20.双亲委派模型好处?为什么不直接使用一个加载器?

编码

21.现在每台服务器都有权重,你怎么做负载均衡,给出具体算法?(和面试官讨论了一会儿,然后说我思路没问题,让我实现一下,具体参数自行想象,给个host,weight权重)

自己采用数组来做的,因为增强for循环习惯了,面试官说其实用类和属性实现更方便,看完我写的代码,说也不错。(吐槽codingUI,稀碎)

反问

1.请问您这边主要业务和技术栈是什么?

我这边团队主要是做商业化广告投放模型,也有研究流式处理和计算算法等等。技术栈前面给你介绍过,主要是Golang,C++,当然Java也有。语言不是问题,你学过Java,上手其他语言很快的。

2.想问一下您对我本次面试的整体评价?

公司一般不让透露这些细节,不过从应届生基础来说,你的基础和经历都很错,特别是对于netty的线程模型和零拷贝底层原理,以及socket编程有一定了解。知道DIRECT BUFFERS,还有内存模型,不错,看得出来你确实是有深入学习技术这个习惯。计算机网络和操作系统我看也很熟悉,放心吧。

3.那么大概多久会约下一面呢?

这个你还是问HR,我这边没办法知道具体通知时间。应该很快。那就到这,感谢你的时间~

面试体验

面试官看起来憨憨的,发量凸显技术,很温柔的一个人,问技术问题喜欢深究,直到你不会为止。回答不错他会有正面反馈或者点头示意,这一面基本没什么负面反馈或者压力,很愉快的一次面试。

反馈

这次没有5分钟出结果,所以半小时后自己等不及去问我的HR,查到已经过了,说完三面约面邮件就过来了。


2021.08.31 14:00 三面 视频

抖音电商负责人,全程不尊重候选人,懒得写面经。挂~

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖