字节 C++客户端 1h15mins 一面凉经
项目
1、文件完整性如何验证
2、文件如果传到90断掉怎么办
3、如何知道传入的是旧文件
4、文件整合内容顺序错乱
5、二进制文件如何传输
6、二进制传输的验证和如何做
7、分段求和的段长应该由哪些因子决定
知识
1、内存对齐
struct{ int a; char b; int c; short b; } 16字节
2、大端小端
0x12345678 大端(地址从低到高) 12 34 56 78 大端模式:12为高字节 存储在低地址 小端(地址从低到高) 78 56 34 12 小端模式:12为高字节 存储在高地址
3、如何禁止实例化一个类
定义为抽象类 或 构造函数设置为private
4、抽象类的理解
定义一个纯虚函数,不实现,等待子类定义
5、const与define的区别
1)起作用的时间不同:const在编译允许阶段起作用,define在预处理阶段起作用
2)是否作类型检查:const作类型检查,define不作类型检查只做代码展开
3)备份数目不同:const只定义一次只有一个备份,define有多出代码展开则有多处备份
4)是否可调试:const可调试,define无法调试
6、指针与引用的区别
1)指针指向目标变量的内存,引用则是目标变量的别名
2)指针可不初始化或指空,而引用不可以
3)指针作为函数参数要另起空间,引用不需要
4)指针作为函数参数,对其操作即对实参的操作,引用也是,但是指针需要解引用
7、MySQL优化方法
高频访问优化:分表分库、增加缓存、增加索引
并发优化:主从读写分离、集群与分布式减轻负载
8、什么时候创建索引
索引:为了加快查询效率
使用索引:高频搜索、主键、经常需要连接、经常需要排序
不使用索引:很少搜索、内容多、域值范围少、增删改多
手撕
1、数组求峰值要求o(logn)
二分法,往上坡走 即
nums[mid]<nums[mid+1] left=mid+1 nums[mid]>nums[mid-1] right=mid-1