字节暑期实习 - 后端开发三面(已拿offer,反馈牛客)

2020/3/11 - 12:00 - 56分钟

1. 自我介绍

2. 闲聊

  • 为什么不读研

  • 以后的职业规划

3. 讲讲第一个项目

先聊了技术方面的,然后又聊到项目管理、任务分配、收获等等。

4. 讲一下客户-服务端通信方式

大概讲了一下HTTP请求报文、响应报文。

5. 服务端之间的通信,RPC了解吗

听过,没了解过。

6. 讲一下HTTPS

HTTP+SSL,讲了一下SSL握手阶段,服务端会向客户端发送机构颁发的证书,其中包括机构私钥加密的服务器公钥,然后,(省略。。。

那假如第三方从中先拿到证书,然后,比客户端更快地与服务器通信呢?

瞎说了一通,也不知道对不对。。。

7. 知道序列化吗?知道怎么实现的吗

知道序列化,但不知道内部实现。。。

8. 讲一下redis和MySQL

redis是key-value型数据库、非关系型数据库,存储在内存中。

MySQL是关系型数据库。

9. 讲一下redis数据类型

10. redis中的set类型是如何实现的

我猜是红黑树(这里说错了,实际上是hash表。。。

11. 讲一下MySQL

两个主要的引擎。然后,大概讲了一下innodb引擎、事务、索引等。

12. 代码题

第一题

问题:

10亿用户数据中分别存在100个文件中,每个文件存储1000万行,每行一个用户信息

userId(32字节的字符串),活跃度(double),找活跃度数值最大的10000个userId和活跃度

这道题刘大佬三面的时候也问过,我也看了,结果当时脑抽,说成建一个大小10000的大顶堆。然后,面试官问我具体怎么实现,我还沿着最大堆说下去了(自己跳进了自己的坑。。。

后来,越说越不对。面试官就开始质问我,你没有发现什么问题吗?我才醒悟,是小顶堆。。。然后,就说了遍小顶堆怎么操作。

(这道题说完,心态有点崩。。。

第二题

问题:

有一个数组n个元素,随机等概率获取m个不同元素的方法?

刚看到题有点懵。懵了一会,说用随机数。面试官说,这样还是会取到重复元素啊。

那就把上一次取到的元素剔除。面试官又说,这样时间复杂度会很高吧。

那就取到重复元素时再随机一遍。面试官说,还是不行。

后面实现想不到,就跳过了。

(网上说正确解法是,蓄水池抽样算法。

第三题

问题:

输入n,输出n*n的二维数组,其特征如下:

1   2   3   4    5

16  17  18  19   6

15  24  25  20   7

14  23  22  21   8

13  12  11  10   9

思路:

顺着规律走就行。面试官说,那你写一下,15分钟。

代码:

#include 

using namespace std;

int main() {

    int n = 4;

    int num[n][n];

    for (int i=0; i<n; i++) {

        for (int j=0; j<n; j++) {

            num[i][j] = 0;

        }

    }

    int k=1;

    for (int i=0; i<n/2; i++) {

        //printf("%d\n", k);

        for (int j=i; j<n-i-1; j++) {

            num[i][j] = k;

            k++;

        }

        for (int j=i; j<n-i-1; j++) {

            num[j][n-i-1] = k;

            k++;

        }

        for (int j=n-i-1; j>i; j--) {

            num[n-i-1][j] = k;

            k++;

        }

        for (int j=n-i-1; j>i; j--) {

            num[j][i] = k;

            k++;

        }

    }

    if (k < n*n) num[n/2][n/2] = n*n;

    for (int i=0; i<n; i++) {

        for (int j=0; j<n; j++) {

            printf("%d ", num[i][j]);

        }

        printf("\n");

    }

}

13. 有什么想问的

#字节跳动##实习##面经#
全部评论

相关推荐

5 12 评论
分享
牛客网
牛客企业服务