首页 > 商汤 C++开发一、二、三、四面面经
头像
嗷呜123
编辑于 2021-08-20 13:16
+ 关注

商汤 C++开发一、二、三、四面面经

还愿:已oc

四轮技术面~~

第四轮太拉跨,估计凉了,发个面经攒攒人品😥

一面

聊项目;

  1. struct定义char、double内存布局(内存对齐问题);

  2. 内存布局;堆区、栈区的区别;数据结构中堆、栈的区别;

  3. 建堆的过程和时间复杂度;

  4. 以下两种返回的区别:

    (1)String s=a+b; return s;

    (2)return a+b;

  5. 析构函数需要是虚函数吗?为什么?

  1. 函数调用用参数是怎么传递的?
  1. 函数调用的参数什么顺序压栈的?
  1. 为什么函数调用的参数要从右往左压栈?

手撕代码:实现计算器

二面

  1. 对C++封装、继承、多态的理解;

  2. 常见的排序算法以及他们的时间复杂度;

  3. C++ static的作用;

  4. C++智能指针;

  5. C++类型转换;

  6. 左值引用和右值引用的区别;

  7. Gdb调试;

  8. 多线程编程

  9. 内核介绍(不是很清楚介绍啥),面试官指导下介绍了进程、线程同步方式;

  10. 构造函数的种类;

手撕代码:

  1. 合并k个有序链表;
  2. 反转给定区间的链表;

三面

机器视觉

  1. 给定一些滤波算子,判断是哪一类滤波?

  2. 介绍SIFT?

机器学习

  1. 给定矩阵方程,求极值对应下的向量值?矩阵求导、求梯度?(让直接写推导过程)

C++

  1. 内存堆和栈的区别?那个更大,那个更快?(堆更大、栈更快)

  2. C++内存布局?整个内存空间的内存分布?

  3. 文字常量区为啥要和代码区放在一起?为什么不可以和全局区交换位置?

  4. 给定一个函数调用,在主函数中设置变量,并调用函数,问此时栈中从高地址位到低地址位的数据分别是什么?

  5. 为什么函数调用要从右向左压栈?

  6. 类默认会生成那些函数?

  7. new创建一个类和malloc创建一个类的区别?

  8. float数据的组成,C++是如何对他进行存储的?float32 a = 10^20 + 10^-20的输出是啥?

代码(说思路就好)

  1. 求x的开方?(牛顿迭代法)

  2. 求滑动窗口的最大值?(力扣239:单调队列)

  3. 求滑动窗口的中位数?(力扣480)

四面

四面主要就是面试官根据你的简历问你简历上的东西(比如学过的课程、实验室研究内容等等),然后会问一些场景题(好多课程都是学了就还给老师了😥)。最后让实现一个非极大值抑制,以前没了解过,然后还理解错面试官的意思了,写了好久好久好久都没写出来~凉凉

不过商汤流程是真的快~

(以上内容凭记忆搜索而得,并不完整)

**

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐