字节跳动客户端一面:
1)一个类的大小
struct A{
    virtual ~A();
    char *str;
    int len;
}
考虑字节对齐时,32位和64位系统中所占空间大小;
2)const int *p和int * const p;
3)  引用 int &i=1;是正确的吗;
4)B *b; A *a=b; delete(a);正确吗;如何解决;A的析构设置为虚析构;
5)拷贝构造函数
6)成员变量初始化顺序
7)new和malloc
8)  https发送密钥过程采用的是什么加密方式,数据传输过程采用的是什么加密方式,加密的密钥怎么得出的
9)智能指针,unique_ptr和shared_ptr,区别以及shared_ptr内存泄漏的问题,unique_ptr传递指针的方式
10)std::move
11)析构函数能设置为纯虚函数吗,了解纯虚函数吗?
12)宏,内联和普通函数的区别和联系,inline里面如果写for循环等比较复杂的,编译器会有什么处理吗?
13)NULL在C和C++中的区别,介绍一下nullptr
14)堆的数据结构
15)指针转换,比较复杂
16)内存对齐,32位4字节对齐,申请内存块的限制malloc 4的倍数,将其转化为所需类型
struct B{
    int b;
    ....
};
char * buffer=(char*)malloc(1024);
B *b=(B*)(buffer+1);
17) 插入排序,快速排序
全部评论

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务