字节电商暑期实习面经
在牛客看了很多面经,现在终于轮到我面试了,所以打算记录一下面经来回馈社区。
笔试-4.10
这场笔试还挺简单的,就ak了。
一面-4.18
面试官首先上来自我介绍,然后我也自我介绍。
面试官问了我一些比赛中的细节,平时怎么安排时间的这类。
然后对着我的项目问了几个问题,因为是一个很简单的crud项目,也没太多深究了。
接下来就是八股了。
- 进程和线程
- 线程间通信的方式
- 死锁
- 虚拟内存
- 页面置换算法
- https与http的区别
- https加密的过程
- 怎么防止中间人攻击
- http请求方式
- get和post的区别
- http常见状态码
- TCP与UDP的区别
- TCP如何保证可靠传输
- TCP四次挥手
- mysql的join
- 索引是什么
- 聚簇索引和非聚簇索引
- 什么是回表
- 可以不回表吗
- 索引底层数据结构
- 竞赛中用的一些高级数据结构(说了线段树、树状数组、主席树、珂朵莉树等等)
手撕算法题
给两个数组,求这两个数组的子序列的点积最大值。
num1 = {-5, 3, -5, -3, 1}
num2 = {-2, -3, 1, 1, -5}
max = (-5 * -3 + 3 * 1 + -5 * -5)
n^2 dp就可以了,设dp[i][j]为num1前i个数和num2前j个数的子序列点积最大值,转移方程就为dp[i][j] = max(max(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1] + num1[i] * num2[j])
第二天就收到二面通知了