字节跳动 ailab 后端一二面面经

一面

1.自我介绍

2.问了一下为什么大三做毕业设计

3.上了哪些课程

4.多态原理了解吗?

5.虚表的内存结构了解吗?

6.定义一个虚类,会占多少空间?

7.c++的内存结构

8.堆区和栈区有什么区别?

9.平时都会使用哪些STL?

10.还有其他的STL?

11.hashmap简单介绍一下(讲了开链法),怎么查询?

11.其他hashmap了解吗?

12.双哈希如果两个都冲突呢?

13.平衡树了解吗?(不了解)

14.splay树,treap了解吗?

15.vector的push_back会发生哪些事情?

16.vector的push_back对象会发生哪些事情?

17.不希望有一个拷贝构造的方式,有什么其他优化方法吗?有了解其他接口吗?

18.讲一下你常用的图论算法?

19.讲讲EK算法(太久不用,忘了),讲讲Dinc(还好记得)?有什么区别?

20.AC自动机了解吗(woc,字典树和kmp我都会,就是不会AC自动机)

21.有了解过跳表吗?

22.了解cache吗?

23.平常cache用到的算法有哪一些(讲了一下常见页面置换算法)

24.TCP的三次握手和四次挥手。

25.TCP和UDP的区别。

26.代码题:判断二叉树是否同构?(说了几种方法都被hack了,然后让我写一仲暴力写法)

二面(一度以为一面挂了)

1.实习的时间(我说一年)。

2.除了acm还做过其他项目吗?

3.看你有python项目,对python掌握怎么样?

4.python有用过多进程吗?

5.python里面byte和string有什么区别吗?(完全不知道)

6.python写个脚本会吗?

7.Linux环境熟悉吗?

8.C和C++哪个更熟悉?

9.C++的多态机制。

10.虚函数的内部机制。

11.

#include <cstdio>
class A{
public:
    A(){
        f();
    }
    virtual void f(){
        printf("A::f\n");
    }
};

class B:public A{
public:
    virtual void f(){
        printf("B::f\n");
    }
};

int main(){
    B b;
    return 0;
}

这个输出是什么?为什么?

12.析构函数为什么要弄成虚析构函数?你有试过吗?

13.Windows下同步互斥都有哪些方法?哪个效率更高一点?为什么?

14.进程的内存分类。

15.栈和堆有什么结构性的区别吗?

16.你刚刚说到内存碎片,如何避免内存碎片呢?

17.项目里面如何解决内存碎片的问题,比如用一些开源的内存池。

18.STL的双端队列如何实现的?

19.C++一般为了减少这种复制拷贝,会有什么措施。

20.hash的方法。

21.设计模式了解吗?

22.讲一下单例模式。

23.Windows下多线程调用这个单例怎么用,写一下。

24.怎么保证线程安全?(上锁)

25.写了加锁的伪代码(他不断告诉我怎么加有什么问题)

26.写下快排或者堆排。(选择写了堆排,告诉了思路)



#字节跳动面经##字节跳动##C++工程师##实习##面经#
全部评论
问一下楼主后续怎么样了
点赞
送花
回复
分享
发布于 2020-05-03 01:24
请问楼主HR面完多久以后出的结果呀
点赞
送花
回复
分享
发布于 2020-06-05 14:54
滴滴
校招火热招聘中
官网直投
请问楼主,面试AI Lab的后端开发,和其它部门的后台开发,区别大吗?   面试官没有询问AI方面的问题嘛?
点赞
送花
回复
分享
发布于 2020-06-29 13:35
楼主这个是哪里的ailab呀。面经写的很详细,感谢!
点赞
送花
回复
分享
发布于 2022-03-07 22:22

相关推荐

15 83 评论
分享
牛客网
牛客企业服务