首页 > 笔经面经 > 字节跳动客户端三面面经(附答案!!!)

字节跳动客户端三面面经(附答案!!!)

头像
BJUT071010
编辑于 2021-01-25 22:43:09 APP内打开
赞 6 | 收藏 22 | 回复0 | 浏览1483
先看看之前的(一面二面
主题一:C++

t1.vector的扩容机制?

1) vector通过一个连续的数组存放元素,如果集合已满,在新增数据的时候,就要分配一块更大的内存,将原来的数据复制过来,释放之前的内存,在插入新增的元素;

2) 对vector的任何操作,一旦引起空间重新配置,指向原vector的所有迭代器就都失效了;

3) 初始时刻vector的capacity为0,塞入第一个元素后capacity增加为1;

4) 不同的编译器实现的扩容方式不一样,VS2015中以1.5倍扩容,GCC以2倍扩容。

t2. 虚函数的定义及用法?

虚函数虚就虚在所谓“推迟联编”或者“动态联编”上,一个类函数的调用并不是在编译时刻被确定的,而是在运行时刻被确定的。由于编写代码的时候并不能确定被调用的是基类的函数还是哪个派生类的函数,所以被成为“虚”函数。
class A
{
public:
    virtual void foo()
    {
        cout<<"A::foo() is called"<<endl;
    }
};
class B:public A
{
public:
    void foo()
    {
        cout<<"B::foo() is called"<<endl;
    }
};
int main(void)
{
    A *a = new B();
    a->foo();   // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的!
    return 0;
}

t3. 构造函数和析构函数一般都定义为虚函数嘛?

构造函数不能为虚函数,而析构函数可以且常常是虚函数。

主题二:操作系统

t1.说一下虚拟内存?

主题三:计算机网络

t1.MSL、TTL和RTT的区别

t2.TCP四次挥手中客户端的最后一次挥手为什么要等待两个MSL?

t3.套接字(Socket)的具体用法?

主题四:算法题

t1. 给定两个链表,找到其相交节点

t2.两个玩家先后手掷硬币,先投出正面的获胜,问先手获胜概率



点这里查看全部答案,还可获取PDF版面经


更多模拟面试

0条回帖

回帖
加载中...
话题 回帖

相关热帖

笔经面经近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐