PDD面试
8.26一面
1、自我介绍
2、项目的难点
3、用cuda去优化矩阵乘的时候,常见的优化思路
4、有没有对程序做性能分析
5、一段代码分析那个时间耗时长,怎么分析
6、通用的矩阵乘常见的优化方案
7、矩阵运算为什么行优先更快
8、C++引用的概念、使用引用的场景
9、C++动态多态的实现方式
10、具体展开讲一下虚函数表、子类和父类共用一份虚函数表吗?虚函数表里面函数的顺序是怎么样的
11、C++对象的内存模型
12、内存对齐
13、结构体和类的区别
14、类型转换,dynamic和static_cast的区别
15、构造函数能不能是虚函数
16、析构函数能不能是虚函数
17、普通的成员函数是存储在哪里的
18、既然存储在代码段,那么运行的时候是怎么找到它的
19、一个普通的C++函数是怎么寻址的
20、手撕代码:正序数组中找一个数出现了多少次
9.4 二面
1、自我介绍
2、介绍第一个项目
3、在项目主要负责什么
4、每个分系统之中以什么逻辑去划分的
5、你的数据很多,一下到达接收部分了应该怎么做,你的接口应该怎么做
6、设计模式哪些
7、Socket通信怎么做
8、UDP怎么保证数据按序的到达接收方
9、Tcp的可靠性是怎么保证
10、http和https超文本传输协议,它在http基础上做了哪些改进
11、https在传输过程中怎么保证对称密钥不会丢失
12、你项目是进程还是线程
13、进程之间通信的方式
14、数据库了解
15、说一说事务
16、数据库的范式
17、数据库的游标
18、手撕:看一段代码:常量指针和指针常量,写说明和注释
19、指针和引用的区别
20、智能指针
21、STL模板中map是怎么实现
22、手撕:写一个二叉树的深度遍历
23、Vector的头插法比尾插法的效率低为什么
24、假设让你设计一个数组,怎么做到前插法和尾插法效率一样
25、手撕代码:leedcode151
26、反问环节:
客户端做什么?技术栈是什么?
面试部门主要做C++音视频开发的还有图形渲染
9.13三面
1、自我介绍
2、项目
3、项目中负责那一部分
4、你在矩阵优化的过程中有没有发现负优化的过程
5、CPU拷贝GPU的时间
6、没有采用GPU渲染去显示波形的方式吗
7、项目周期
8、项目还有哪些可以优化的地方吗
9、在需求沟通的过程中有没有遇上一些不一致的点
10、公司擅长的地方
11、给师弟师妹分配任务出现不一致的地方
12、Soctet编程在项目怎么用的
13、TCP为什么比UDP慢
14、让UDP快点和可靠点
15、Soctet编程中哪些函数是阻塞的
16、怎么样做到异步非阻塞
17、了解IO多路复用吗、
18、做题:和二面一样的题
19、100万数据中怎么找到中位数
20、快排、堆排序以及归并排序的区别,为什么同样复杂度快排用的多
19、反问环节:客户端主要做哪些部分?可以把我分配到哪里
ios/安卓app开发 + c++音视频开发 、图形渲染 +更底层的引擎,可能用到汇编
可以把我分配至c++音视频开发 + 图形渲染
更新:9.24号hr面