商汤 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)

四面

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

不过商汤流程是真的快~

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

**

#面经##校招##商汤科技##C++工程师#
全部评论
C++开发也得会算法吗...
2 回复 分享
发布于 2021-08-13 17:45
楼主是面的哪个部门啊
点赞 回复 分享
发布于 2021-09-16 15:54
非极大值抑制不就是yolov3里检测用的么
点赞 回复 分享
发布于 2021-09-15 14:59
三面过去十几天了还在流程中
点赞 回复 分享
发布于 2021-08-20 12:29
滑动窗口的中位数 这题有点难啊
点赞 回复 分享
发布于 2021-08-13 18:16

相关推荐

嵌入式面试专栏:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk#牛客AI配图神器#金三银四,嵌入式岗位今年“卷”得怎么样了?每年的“金三银四”都是跳槽与求职的高峰期,尤其对于嵌入式开发这种偏硬核方向,更是每年春招秋招的主战场。今年,嵌入式圈的朋友们,大家还好吗?我们来聊聊目前的真实情况,也分享一些建议,供正在求职路上的小伙伴参考。一、行情真的不好吗?从整体招聘市场来看,今年的嵌入式岗位确实有点“卷”。不少人都说:“同一个岗位动不动几百人投,稍微大一点的厂子,筛简历都靠 AI 了。”  为什么会这样?1. 硬件需求收缩:过去几年“芯片热”“IoT 热”推动了大批嵌入式岗位增长,但这两年消费电子、智能硬件的增速趋缓,需求端在收缩。2. 市场更加挑人:企业不愿意再“培养新人”,更偏向有经验、能立刻上手的选手。3. 转行回流+毕业生增多:一批从其他领域“转回”嵌入式的人,以及23、24届的毕业生,让竞争更加激烈。---二、企业需要什么样的人?目前来看,企业对嵌入式人才的要求有明显的“倾斜”趋势:- 上手快:能迅速接手代码、调试板子、搞定驱动;- 能写能调:纯写代码不够,最好还能动手抓 log,跑 oscilloscope;- Linux 驱动、RTOS 熟练:熟悉设备树、内核编译、FreeRTOS/RT-Thread 都是加分项;- 通信协议懂点更香:CAN、SPI、I2C 不在话下,有 GNSS、蓝牙、Wi-Fi、5G 经验更好;- 有项目成果:最好能展示你完整做过的项目,包括设计文档、调试过程和最终效果。---三、有没有上岸的朋友?有,当然有。也有不少同学顺利拿到大厂 offer 或者小而美公司的核心岗位。这些同学往往有以下几个特点:- 简历写得非常清晰,有亮点;- 预判题型、刷题量到位,准备充分;- 熟悉底层+理解高层架构,沟通能力强;- 有自驱力,不靠“投一投运气”。---四、建议给正在求职的小伙伴1. 简历要“专精”而不是“广撒网”     针对岗位投递简历,而不是一个简历投所有岗位。2. 项目经历一定要写实、写细    包括使用的芯片平台(如 STM32、ESP32、RK)、通信协议、调试手段、遇到的问题等。3. 准备一些常见的 C/C++ 面试题    包括内存管理、指针、栈堆、函数指针、volatile、位运算、宏展开等。4. 多上手写代码和调板子    刷 LeetCode 不如多练裸板实验和 Linux 驱动代码。5. 广撒网 + 精打细算     多投,但每次面试都认真准备,尤其是第一轮技术面。---五、一句话总结今年“金三银四”确实竞争激烈,但也并不是完全没有机会。打铁还需自身硬,不断学习、不断优化项目,才是求职的核心法宝。如果你还在坚持中,不妨留言分享下你的经历,也欢迎互相交流打气。找工作,不是一个人的战斗!
点赞 评论 收藏
分享
评论
5
46
分享

创作者周榜

更多
牛客网
牛客企业服务