2020年字节跳动秋招面经(抖音全栈已oc)

综合体验

面试官水平较高

有耐心听完我的答案

感觉题目写不出来很难过

知识点总结:

网络通信中的加密算法

路由过程的细节

传输层常见协议

数据结构和算法分析

字节教育一面 时长 65 分钟

自我介绍

在华为干什么?为什么需要这个功能?采用的什么算法?和原来的算法相比有没有改进?改进了多少?这个算法为什么好?

论文是什么级别的期刊?写得什么?老师提供的思路还是自己想的?

网络 OSI 模型各层的作用以及运行在上面的协议

你如何理解 TCP 中的面向连接?

HTTP 报文的结构和内容

接下来问问数据库的内容。我:我不会数据库,完全没接触过。

面试官:那操作系统学过吧 我:我自己看过,您问吧,我不保证我一定会

线程和进程的区别

TIME_WAIT 和 CLOSED_WAIT 的区别、

懂多线程吗?我:完全不了解,没用过

12 个球,一个天平,找不一样的,小学智力题

有很大很大的数据流,不断有数据插入,要设计一个随时可以返回中位数的方法。

面试官:咱们写几道题吧

手撕代码环节:

1.LCA

2.输入一个数组和target,输出所有的和为 target 的二元组和三元组。类似这两道题的组合:

三元组

两数之和

反问:进入团队有没有一个过渡期?

第二天邮件过来了,经过讨价还价,二面定在两天后

字节教育二面 时长 60 分钟

自我介绍

华为干什么?为什么?怎么做?一键三连。

三次握手,没有第三次会有什么影响

四次挥手最后 client 要等多长时间,为什么?

脏读,幻读? 我:我不会数据库。面试官:OK,那咱们继续问网络

对称加密和非对称加密的区别,在 HTTPS 中的情况是怎么样的

ssl 的原理

路由器工作在哪一层,路由表是什么时候干什么用的?

常见的路由选择算法能说一下吗?

操作系统学过吗? 没有,会一点点

进程通信方式,哪个最快,哪个不受信号量的限制

javaGC(这里不是很会,随便扯了扯):

Rust 比 java 好在哪里?

三人纸牌的推理

手撕代码(终于到这个环节了,我太难了):

1.快速幂

2.迷宫题,简单的 DFS

反问:进去之后需要转换技术栈吗?有什么框架是自研的吗?

字节教育三面 时长 60 分钟

自我介绍

华为实习一键三连

论文一键三连

浏览器输入 URL,如何得到页面?

四次挥手

如果系统中出现很多 TIME_WAIT 和 CLOSED_WAIT 怎么处理,会有什么影响

加密算法了解吗? 我:非常了解密码学

SSL 原理过程

AES 知道吗,原理是什么?作用是什么

网络通信中滑动窗口的原理,作用。

慢启动算法了解吗?

堆和栈的区别和应用场景。

页式结构的好处。

死锁的条件,怎么解决(我就知道个回滚)

手撕代码:

1.原子数量

我使用递归解决,面试官问可不可以继续优化,没有想出来。

反问:为什么不问项目?你没有计算机相关的项目。

字节教育 HR 面,吹就行了。

然后听说教育部门不太好,所以决定转换部门。

抖音一面 时长45分钟

自我介绍

为什么换部门

linkList 和arrayList的区别

hashmap的数据结构,链表和红黑树解决hash冲突,红黑树的特点,使用条件。

concurrentHashMap分段锁结构

广播风暴产生的原因,如何避免?(控制洪泛的两种方法+生成树)

TCP报文段的结构,各部分的作用。

拥塞控制的过程和节点

100亿无符号整数,求最大的前100个,你的内存无限大

手撕代码(这次差点挂了,用了分治)

合并K个升序链表

面试官问有没有其他的解决方案?没想出来。

反问:这道题可以怎么优化,面试官讲了优先队列的一个解法。

抖音二面 时长75分钟

自我介绍

聊了我的通信相关的项目,问得很详细,我从802.11a和g开始,讲到802.11i中的加密,然后到802.11n和ac。

大概讲了一个小时,穿插着提问和项目。

手撕代码(估计是看我是非科班,没给我整太难):

[给定前序和中序,进行建树]](https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)

抖音HR面 时长30分钟

简单聊了聊,就过了。

最后更新于