字节跳动客户端一面:
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) 插入排序,快速排序
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) 插入排序,快速排序
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享