广州视源电子科技股份有限公司校招软件与嵌入式开发面试经验——求职精灵(finsight.work)

收藏 0 浏览 9
2026-10-15 15:18:29

一、面试总体概述

1.1案例背景

本篇整理自广州视源电子科技股份有限公司(CVTE)软件与嵌入式开发方向(C++ / 嵌入式 / Linux)的面试参考资料。一面是专业面,时长约 40-75 分钟,以 C++ 语言特性、Linux 网络编程与操作系统基础为主,并配有手撕代码环节;二面为 HR / 综合面,约 20 分钟,重点看求职动机、技术成长诉求与职业规划。视源面试整体推进很快,有时上午面完下午就出结果,需要提前做好心理准备。

1.2基本信息

公司广州视源电子科技股份有限公司
岗位软件与嵌入式开发
招聘类型校招
用工形式 / 部门直招
面试形式线上或线下(视岗位而定)
面试轮次2 轮
题目数量共 13 题,均附参考答案
整体难度★★★★☆ 偏难

1.3面试轮次与结构

#轮次类型时间时长
1技术一面专业面未注明未注明
2HR 面HR / 综合面未注明未注明

1.4高频考点

考点分类出现轮次次数
网络编程:socket 流程与 I/O 多路复用网络编程技术一面2
C++ 语言特性:虚函数、智能指针、关键字C++ 基础技术一面3
操作系统:进程与线程、堆与栈、内存管理操作系统技术一面3
手撕代码(状态机、报文解析、链表、堆与队列)编程能力技术一面1
求职动机、公司文化认同与职业规划综合素养HR 面5

1.5备考建议

优先级易失分点准备动作
P0C++ 特性只会背结论,讲不出底层实现把虚函数表、shared_ptr 控制块、拷贝语义画一遍内存图,能顺着追问讲到对象布局
P1网络编程只记得 API 名字把 socket 建立连接的全流程和 epoll 的触发模式讲成一条时间线,并说明各自适用场景
P1手撕代码题临场紧张写不出完整逻辑按「状态机、报文解析、链表、两个堆实现队列」四类各手写一遍,标注边界条件
P2HR 面答得像背模板每个回答带一个具体细节(项目、课程、实习),用真实经历替代形容词

二、第 1 轮:技术一面

2.1面试形式与时长

轮次名称技术一面
面试类型专业面
本轮题量8 题

2.2重点考查维度

  • C++ 基础 —— 本组 3 道题
  • 网络编程 —— 本组 2 道题
  • 操作系统 —— 本组 2 道题
  • 编程能力 —— 本组 1 道题

一面为专业面,约 40-75 分钟,面试官会顺着你的回答不断追问底层实现。

2.3面试真题与参考答案

Q1socket 通信的过程是怎样的?网络编程
参考答案

服务端:创建 socket → bind 绑定 IP 和端口 → listen 监听 → accept 阻塞等待连接。
客户端:创建 socket → connect 发起连接。
连接建立后双方通过 send/recv 收发数据,通信结束后 close 关闭连接。
底层是 TCP 三次握手建立连接、四次挥手断开连接。

socketTCP
Q2epoll 与 select/poll 的区别是什么?网络编程
参考答案

select 使用轮询方式,有文件描述符数量限制(通常 1024),每次调用都需要把 fd 集合从用户态拷贝到内核态。
poll 用链表存储 fd,解决了数量限制,但仍有拷贝开销。
epoll 通过内核事件表管理 fd,使用回调机制,无需轮询和重复拷贝,适合高并发场景,并且支持水平触发和边缘触发两种模式。

epollI/O 多路复用LT/ET
Q3C++ 中虚函数和纯虚函数的作用?C++ 基础
参考答案

虚函数用于实现运行时多态,通过虚函数表(vtable)在运行时确定调用哪个函数;纯虚函数(=0)用于定义抽象基类接口,派生类必须实现。
虚函数表通过对象的虚表指针访问,同一个类的所有对象共用一张虚函数表。
构造函数不能是虚函数;涉及继承时析构函数通常应声明为虚函数,以保证正确释放资源。

虚函数vtable多态
Q4智能指针有哪些?shared_ptr 的底层实现原理?C++ 基础
参考答案

C++11 提供三种:unique_ptr(独占所有权,不可拷贝)、shared_ptr(共享所有权,引用计数)、weak_ptr(不增加引用计数,用于解决循环引用)。
shared_ptr 底层维护一个控制块,包含引用计数和弱引用计数:引用计数归零时释放被管理对象,弱引用计数归零时释放控制块。

智能指针shared_ptr循环引用
Q5进程和线程的区别?进程间通信方式有哪些?操作系统
参考答案

进程是资源分配的基本单位,线程是 CPU 调度的基本单位。同一进程的线程共享内存空间,进程之间内存隔离。
进程间通信方式包括管道、消息队列、共享内存、信号量、socket 等。
线程同步方法有互斥锁、条件变量、读写锁、信号量等。

进程线程IPC
Q6C 语言中 static 关键字的作用?C++ 基础
参考答案

修饰局部变量时,变量存储在静态区,生命周期延长至程序结束;
修饰全局变量或函数时,把作用域限制为当前文件,避免命名冲突。

static作用域生命周期
Q7堆和栈的区别?哪个效率更高?操作系统
参考答案

栈由系统自动分配和释放,空间小但速度快,存放局部变量和函数参数;堆由程序员手动分配释放(malloc/free),空间大但速度较慢,容易产生内存碎片。
栈的效率更高,因为只需要移动栈指针。

堆栈内存布局
Q8一面的手撕代码环节有哪些高频题?分别怎么入手?编程能力
参考答案

高频题与入手思路:

  • 处理 UART 串口数据接收:用状态机思路,把接收过程拆成「空闲 → 起始 → 数据 → 校验 → 结束」几个状态,每个状态只处理一类字节,边界值(半包、粘包、超时)单独处理。
  • 触摸报文解析(64 字节格式,完成触点信息解析):先按协议定义划分字节区间(帧头、触点 ID、坐标、压力、校验),再做位运算拆分,最后用 CRC 校验丢弃异常帧。
  • 反转字符串、链表操作(添加 / 删除节点):反转字符串用双指针原地交换;链表注意哨兵节点、断链顺序和空链表 / 单节点边界。
  • 两个堆实现一个队列:用一个大顶堆当队头、一个小顶堆当辅助,入队时按规则搬移元素;实现时要明确复杂度摊销与堆的更新时机。

面试时先口述思路和复杂度,再写代码,写完主动检查边界条件。

手撕代码状态机链表

三、第 2 轮:HR 面

3.1面试形式与时长

轮次名称HR 面
面试类型HR / 综合面
本轮题量5 题

3.2重点考查维度

  • 综合素养 —— 本组 5 道题

二面约 20 分钟,多为行为面试题,重点看态度和稳定性。

3.3面试真题与参考答案

Q1找工进展如何?手头有哪些 offer?综合素养
参考答案

如实说明当前的面试进度,同时表达对视源的强烈兴趣。若有其他 offer,可以说明视源在产品线和发展平台上更契合自己的职业规划。

offer求职意向
Q2选 offer 最关注的三个核心因素是什么?综合素养
参考答案

建议围绕「技术成长空间、团队氛围、产品行业前景」来回答,体现对长期发展的思考,而不是只谈薪资。

选 offer长期发展
Q3你觉得自己最困难的经历是什么?如何克服的?综合素养
参考答案

从学习和项目两个维度里选一个细节充分的案例,突出解决问题的过程和事后反思,避免泛泛而谈「很难但我坚持下来了」。

行为面试STAR
Q4期待什么样的公司文化?综合素养
参考答案

可以提到务实、高效、重视技术创新的文化氛围,与视源「以科技为先导」的理念相契合,并结合自己的实习或项目经历举例说明。

文化契合
Q5你的职业规划是什么?综合素养
参考答案

短期(1-3 年)深耕技术,成为独当一面的工程师;中期(3-5 年)向技术专家或技术管理方向发展;长期(5-10 年)成为领域内有影响力的技术人才。

职业规划
备考提示
备考阶段,我发现很多同学容易陷入「不知道从哪准备」的困境。后来我向学员推荐了一款叫求职精灵的 AI 工具,上面收录了大量真实面经,还能直接搜到目标岗位的面试官常问什么、评分标准是什么。用它做 AI 模拟面试也特别方便,输入公司和岗位,系统自动生成仿真题目并给出反馈,练完之后心里更有底。感兴趣的同学可以直接访问 https://finsight.work/ 体验。

总结收尾

最后真心建议大家在备考阶段用一下求职精灵,网址是 https://finsight.work/ 。它能查岗位JD、一键修改简历、刷15万+道真题题库,还有AI模拟面试功能,整个备考流程基本都能覆盖,已经有超过6万学员用过,效果有口皆碑。别等到面试前一天才开始准备,现在就去用起来。机会永远留给有准备的人,希望读到这篇文章的每一位同学都能拿到心仪的offer。

以上内容整理自学员和应届同学反馈的真实面经,结合广州视源电子科技股份有限公司的最新考情整理,仅供参考学习。祝各位求职者顺利拿到心仪offer! 本文由求职精灵内容团队整理发布 | 官网:https://finsight.work/