字节跳动多媒体开发工程师面经,offer已拿

约得是下午三点开始视频面试,本来以为就一轮的,结果没想到连着面下去了,结束的时候快6点,hr小姐姐跟我说,我是她见过的流程走的最快的学生,从约面试时间到通过所有流程24小时不到,哈哈哈,还是相当的开心的。
一共三面技术面试+一轮hr面试,第三面的内容记不太清楚了,就把前两面的记录下来了。
【一面】

1.网络中会用到令牌桶,讲一下桶排序的优缺点

2.平衡二叉树的结构是什么样的,插入数据最多会旋转几次。2

3.模板类讲一下。模板类和多态有什么区别。

4.继承、虚函数

5.智能指针的三种,分别讲一下。内部计数器是怎样实现计数的,其实是指向对象A的指针被释放掉了,则整体的计数减1,不是说的释放掉这个对象。

6.selectpollepoll

7.手撕代码。大概就是公司要搞团建,组成两两一组,但是大家只愿意和熟人组队,给了一堆输入,第一行是N个人,第二行分别是 该人的序号,有几个伙伴,伙伴的序号。问最多可以组成多少队伍。

【二面】

1.虚函数是怎么实现的。这里指的是虚函数表的概念。然后问了如果一个类A,里面只有10个虚函数,类B继承A后,Bsizeof是多大。目测应该是40字节,因为虚函数表里面存的都是指针。

2.ping的过程用到了什么协议?ICMP,是哪层的?网络层。

3.数据库的索引用到的是什么数据结构?B+树,那么B+树的特点是什么?为什么要用这个数据结构?因为索引得快,只有叶子节点是存放值的,其他节点都是存放索引,可以比B树存更多的索引。查找效率是跟IO次数有关的,IO次数又是跟树的高度有关的,所以B+这种矮胖的结构很有效。

4.udptcp的区别

5.C++里面申请内存和释放内存的相关知识。newdeletemallocfree的内容。

6.C++里面的存储问题,堆、栈、静态区、字符常量区、代码区。给了一个题,问这段代码存在什么问题么?

char* func()
{
    char *a = "abc";
    return a;
}
int main()
{
    char* p = func();

    printf("%s", p);
    return 0;
}

照理说在func中,函数的返回值是一个指针的拷贝,然后这个指针就被释放掉了,应该会报错。但是因为后面是”abc”,是存放在字符常量区。所以这个地方的地址不会被释放,也就是可以正常显示。所以此段代码没问题。(面试官其实考察的是分析问题的思路,所以要把思路讲清楚,而不是模棱两可的觉得。)

7.给了个迷宫的题,一个8*8的迷宫,从左上角走到右下角共有多少种走法,只能向下或向右移动。

面试官说可以考虑递归,最后也没想出来方法。递归是将大的问题化简为小的问题。

8.1,2,5,10个零钱,要组成N元,总共有多少种组合方式。

9.手撕代码

输出最短路径的题目:/a/b/.././

/a
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
int main() 
{
    string s;
    cin>>s;
    int len=s.size();
    stack<string> data;
    vector<string> svec;
    int m=0;
    for(int i=0;i<len;i++)
    {
        if(s[i]=='/')
        {
            m=i+1;
            for(int j=m;j<len;j++)
            {
                if(s[j]=='/')
                {
                    string temp=s.substr(m,j-m);
                    svec.push_back(temp);
                    i=m;
                    break;
                }
            }
        }
    }
    for(auto c:svec)
    {
        if(c!="."&&c!="..")
            data.push(c);
        else if(c==".."&&!data.empty())
            data.pop();
    }
    while(!data.empty())
    {
        cout<<'/'<<data.top();
        data.pop();
    }
    cout<<endl;
    return 0;
}



#字节跳动##面经##校招#
全部评论
2.1 sizeof B不是4吗 只会存一个虚表的指针吧
5 回复 分享
发布于 2019-09-12 23:03
你好,我能和你交流沟通一下么?我下周也要面试这个岗位,能留个联系方式么?邮箱也可以😁😀😀😀
1 回复 分享
发布于 2019-09-12 21:01
想问一下。楼主是8号笔试的嘛a了几题啊😂
点赞 回复 分享
发布于 2019-09-10 21:45
你好,一共四面这么快就完成了嘛,完成了直接发offer 吗?
点赞 回复 分享
发布于 2019-09-10 22:39
我们多媒体还会问UCPTCP的嘛。。。
点赞 回复 分享
发布于 2019-09-12 21:51
哦哈哈哈哈抓到我怡然~
点赞 回复 分享
发布于 2019-09-12 22:49
楼主,你是多媒体开发工程师-视频架构那一个么
点赞 回复 分享
发布于 2019-09-23 16:51
老哥,你投的多媒体开发工程师的岗,但是问的都是后端的问题,请问一下有问多媒体方面的问题吗?
点赞 回复 分享
发布于 2020-06-19 21:42
C++的存储部分,应该是const char* a = "abc";,不能把字符常量指针赋给字符指针。
点赞 回复 分享
发布于 2022-07-24 15:12

相关推荐

oppo 后端 20*15+0.6*12tp, 19.5*16
一颗宏心:https://www.nowcoder.com/share/jump/9358228571729412230810
点赞 评论 收藏
分享
6 67 评论
分享
牛客网
牛客企业服务