快手 鸡架C++ 一面面经 已挂
更新:
已挂,明明都回答上了,到底是差在哪儿
沉淀了,春招抄底
快手真是海面,约个面试改了两次时间
面试官说我会做一些记录,我问你答就好
面试时长:65min
面试内容:
* 自我介绍
* coredump还原
* gdb断点
* 孤儿、僵尸进程
* 多进程怎么实现
* 多线程用过吗
* ip数据包分片
* mss和mtu区别, 如何确定
* linux查看监听端口命令
* 空对象指针为什么能调用函数
* shareptr线程安全吗
* push_back左值和右值的区别
* move()底层实现,内存复制
* 完美转发的原理
* c11特性有哪些,至少回答七八个
* 空类有什么函数
* explicit用在哪儿
* 成员变量初始化顺序
* 手撕:二叉树和为target的路径
* 手撕:只出现1次和3次的数字
反问:
* 鸡架部
已挂,明明都回答上了,到底是差在哪儿
沉淀了,春招抄底
快手真是海面,约个面试改了两次时间
面试官说我会做一些记录,我问你答就好
面试时长:65min
面试内容:
* 自我介绍
* coredump还原
* gdb断点
* 孤儿、僵尸进程
* 多进程怎么实现
* 多线程用过吗
* ip数据包分片
* mss和mtu区别, 如何确定
* linux查看监听端口命令
* 空对象指针为什么能调用函数
* shareptr线程安全吗
* push_back左值和右值的区别
* move()底层实现,内存复制
* 完美转发的原理
* c11特性有哪些,至少回答七八个
* 空类有什么函数
* explicit用在哪儿
* 成员变量初始化顺序
* 手撕:二叉树和为target的路径
* 手撕:只出现1次和3次的数字
反问:
* 鸡架部
全部评论
* 自我介绍
* coredump还原 -g编译 gdb .exe core 进行gdb调试 通过bt显示崩溃时的内存状态信息
* gdb断点 -b 打断点 -n下一行 run执行到断点位置 -i 查看断电 -p打印变量
* 孤儿、僵尸进程 孤儿:父进程先于子进程结束 僵尸:子进程结束后,父进程没有回收子进程的资源
* 多进程怎么实现 fork 根据pid不同执行不同的代码段
* 多线程用过吗 pthread_create创建线程 --detach分离线程 指定函数指针作为回调函数,在回调函数中进行事件循环
* ip数据包分片 IP数据包大于MTU会在IP层进行分片 默认1500字节 分片之后在目标主机的IP层进行重组 缺失的话数据报作废
* mss和mtu区别, 如何确定
MTU:一个网络包的最大长度
MSS:一个网络包去除IP和TCP头部的最大长度
TCP数据包大于MSS,会在网络层进行分片
UDP数据包大于MTU,在传输层进行分片
* linux查看监听端口命令 netstat -apt
* 空对象指针为什么能调用函数 this指针保存着类对象地址,通过this指针调用函数
* shareptr线程安全吗 shared_ptr的引用计数本身是安全且无锁的,但对象的读写则不是,因为 shared_ptr 有两个数据成员,读写操作不能原子化。
* move()底层实现,内存复制
将左值引用转换为右值引用
首先有一个接受万能引用的参数,如果传递的是左值,推导为左值引用,static强转为右值引用,返回一个右值引用。
如果传递的是右值,推导为右值引用,static强转为右值引用,返回一个右值引用。
* 完美转发的原理
将函数参数转发给特定函数,保持函数参数的类别不变。
首先接受一个万能引用的参数,推导参数类型,然后根据引用折叠的结果,用static强转后返回。
引用折叠:除了右值引用的右值引用之外,都可以视为左值引用
* c11特性有哪些,至少回答七八个 智能指针 lambda表达式 基于范围for循环 unordered_map/set 初始化列表 右值引用 auto
* 空类有什么函数 构造 析构 拷贝 拷贝赋值运算符 移动赋值运算符 移动
* explicit用在哪儿 防止编译器在某些情况下执行意外的隐式类型转换,从而增加代码的安全性和可读性。
* 成员变量初始化顺序 先初始化基类成员 有初始化列表(根据成员变量的声明顺序)按照构造函数体的初始化顺序进行初始化
基架做什么方向的?
佬,手撕代码是核心代码模式,还是需要自己构建链表节点?
mark
m
m
佬是一边实习一边面吗?😶
这也太难了
ip数据包分片这个有啥好问的
校招已经很厉害了
这已经很厉害了,这都能给挂?
有时候不缺人你有什么办法呢
他们不缺人😅,我被这样一面挂了两次
m
相关推荐
投递华为等公司10个岗位
点赞 评论 收藏
分享