PCG腾讯视频客户端
一面(3.28)
介绍项目
c++
面向对象特点
#define和const区别
类和结构体的区别
设计模式
深拷贝和浅拷贝
虚函数和纯虚函数
指针和引用的区别
STL的map有哪些,实现原理是什么
堆排序?时间复杂度
c++的类型转换有哪些?
操作系统
进程与线程区别
进程间通信和线程间通信
死锁,死锁条件,解决方法
线程池
计网
传输层有哪些协议介绍一下
TCP拥塞控制
https和http
算法题
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
3.29约二面
二面(4.1)
项目介绍
rust重写的网络协议栈有没有去测试一下性能以及安全性测试(回答还没完全完成,这个还没开始做)
那对这个测试有什么想法,思路吗。
有没有考虑过兼容性测试
如何进行重写呢,直接翻译C语言版本的吗
选择rust,除了安全性还有没有其他方面的考虑?
rust比c/c++的优势
项目中遇到的印象比较深的问题
用rust获得安全的同时可能会影响效率,考虑效率优先还是安全优先?
c++
介绍c++中的几种智能指针
unique_ptr所有权被转移后再使用他会怎样?那rust中的变量的所有权被转移了再使用会怎样?
虚函数和纯虚函数
虚函数以及多态性底层是怎么实现的?
静态绑定、动态绑定
new和malloc区别
操作系统
进程通信哪些方式?
项目中用过哪些进程通信方式呢?
自旋锁和互斥锁区别
计网
TCP协议如何保证可靠传输
为什么要三次握手,两次不行吗
如何解决TCP包的乱序问题
如何保证发送方发送速度能让接收方来得及处理
代码题
1.线程安全的单例模式
2.给一个数组和一个整数s,找出数组中和大于等于s的连续字串的最小长度,如果没有返回0
三面(4.2)
介绍项目
项目中遇到哪些问题、如何解决
遇到新技术如何学习
查询资料通常去哪里查
是否会关注一些新的前沿技术
项目如何分工
做项目过程中是否会做一些总结,写文档、博客啥的
对安卓客户端有什么看法(安卓客户端部门的面试)
介绍一下rust,这个项目为什么选择rust
c++和rust有什么区别
思考题:
1001个球,两个人轮流拿,每个人只能拿1、2或4个,拿到最后一个球的人输。如果你先拿,怎么拿才能赢。