首页 > 字节跳动c++ 123+HR面(已OC)
头像
Evjing
编辑于 2021-03-31 00:10
+ 关注

字节跳动c++ 123+HR面(已OC)

字节1面 3.16    —— 1h

  • 你对我们岗位有了解吗?
  • 自我介绍
  • 实习的时间?有转正的想法吗?

  • 项目的一些东西?

  • vector的resize和reserve的区别?

  • vector的[]索引和at的区别?

  • 写一个链表结构体?

  • 写一个函数输入链表头返回链表中心节点?
  • 写个例子测试一下你的函数?

  • 如何进一步设计输入数据测试你的函数的功能?(没答上来,面试官提示链表为空或者链表成环)

  • 如何解决成环问题?

  • 构造函数可以为虚函数吗?

  • 虚函数有了解吗,他的机制?

  • 虚函数表什么时候建立?

  • 强制类型转换有了解吗?

  • static_cast和dynamic_cast两者的作用和区别?

  • 下列式子中const的作用?

const& int func(const char* p) const
  • 了解继承吗?下列写法的区别?
class A : public B
class A : protected B
class A : private B
  • 下列式子的输出?为什么?

int createdIndex()
{
    static int idx = 0;
    return idx++;
}
int main()
{
    for (int i = 0; i < 10; ++i) {
        int a = createdIndex();
        printf("%d\n", a);
    }
}
  • 智能指针有了解吗shared_ptr和weak_ptr?

  • 下列式子的输出

#include <iostream>
using namespace std;
class A{
public:
    virtual void F(){cout << 1 << endl;}
    void CallF(){F();}
    virtual ~A(){CallF(); F();}
};
class B : public A{
public:
    void F(){cout << 2 << endl;}
    ~B(){}
};
class C : public B{
public:
    void F(){cout << 3 << endl;}
    void CallF(){F(); A::CallF();}
    ~C(){CallF();}
};
int main(){
    A * p = new C();
    p->CallF();
    delete p;
    return 0;
}

字节2面 3.19 —— 1h

  • 自我介绍

  • 判断输出

class A
{
public:
    A() { cout << "---->A::A()" << endl;}
   ~A() { cout << "---->A::~A()" << endl;}
};

class B: public A
{
public:
    B() { cout << "---->B::B()" << endl;}
    ~B() { cout << "---->B::~B()" << endl;}
};

class C: public B
{
public:
    C() { cout << "---->C::C()" << endl;}
    ~C() { cout << "---->C::~C()" << endl;}
};

int main()
{
    A* p = new C();
    delete p;
    return 0;
}
  • c++的特性?

  • 什么叫多态?他是怎样实现的?

  • 虚函数的原理?

  • c++为什么叫面向对象?

  • 对象和指针有什么区别?

  • 什么是单例模式?手写单例模式?

  • 算法题 (Leetcode 31)求一个数重排列后的后面的一个大的数。

字节3面 3.25 —— 1h

  • 自我介绍

  • 实习时间?

  • 线程间通信的方式有哪些?

  • socket和epoll的区别?

  • 如果一个类定义成模板类,可以在头文件里定义类,在cpp文件里面实现类吗?
  • C++中使用new或者malloc申请空间,假设有1G的内存空间,程序运行中申请内存难免会出现空间的碎片,问怎么样做能够使得内存空间的碎片尽可能地少?

  • 你了解C++的STL中有哪些数据结构?他们中插入和删除操作的复杂度是O(n)的结构有哪些?插入和删除操作是O(logn)的有哪些?

  • map,unordered_map,set,unordered_set的区别?

  • 如何解决哈希冲突?有哪些方法?

  • 排序算法有了解吗?有哪些排序算法?

  • 这些排序算法一般在什么情形下使用?就比如堆排序吧?

  • 多线程安全了解吗?

  • 多线程安全除了锁还有哪些机制?

  • 有用过什么GUI框架吗?

  • QT中程序的生命周期是怎样的?或者说QT中GUI的原理?

  • QT中信号与槽的机制是怎样的?

  • 算法题:实现void *memcpy(void *dest, const void *src, size_t size) 这个函数?

字节hr面 3.29 —— 15min

  1. 自我介绍

  2. 你的为什么想转互联网?

  3. 之前几次面试的感受?

  4. 感觉自己还有什么地方需要提升的?

  5. 你之前没有考虑过找实习吗

  6. 你还有其他公司的面试吗?

  7. 面试的什么岗位?

  8. 你的实习时间?

  9. 反问:

    1. 实习生的培养?

    2. 有往返我们学校的班车吗?

    3. 多久能有面试结果?

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐