一面
2021.9.15
- 自我介绍
- 项目基本情况(腾讯的项目)
- 是嵌入后端?PC客户端。
- 软件要推广出去,你会怎么办
- C++
- C++11新特性?智能指针…
- 多线程
- 如何让保证资源同步?答:锁
- 互斥锁 和 自旋锁
- lambda表达式,引用 / 赋值
- 计算机网络
- 网络7层模型
- HTTP 1.0 1.1 2.0 3.0 每个版本的区别
- 长连接 依靠哪个字段实现?Connection:Keep-Alive
- 多路复用 的实现,二进制分帧没讲
- 3.0是UDP实现
- 为啥有TCP层和IP层?答:逐步封装数据。问:这两层的侧重点是?答:TCP层主要是封装端口,IP层主要封装IP地址
- TCP、UDP,TCP 如何保证可靠,UDP的应用场景
- 拥塞控制:慢启动、拥塞避免、快速重传、快速恢复…… 拥塞窗口大小
- IP寻址,IP会变吗,答:不会,说:分情况,IPv4 nat 的时候就会变(逻辑ip与真实ip的转换)
- 网络编程
- IO多路复用
- linux命令
- 查看 CPU占用情况、网络情况
- 对文本操作,答:vi、vim,问:比如替换文本……
- git
- merge 和 rebase 的区别
- 代码提交冲突怎么办
- 算法题(简单)
- 只有6、9组成的数字,只变换一位,将6变9,或将9变6,使它变最大
- 接口 int conversion(int num)
- 说思路:首先考虑正负,正数将第一个出现的6变9,负数将第一个出现的9变6
- 实现代码