【嵌入式面试】记录我的面试经历

记录了一次在北京新材料创新创业大厦的面试经历,包括自我介绍、低功耗实现方式探讨、传感器开发见解及项目经验交流等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        今天(2018/9/10)在北京的新材料创新创业大厦经历了我来北京的第一个面试。因为面试是在八月份就约好了,所以在学校一报道,我就匆匆忙忙的赶过来了。

        昨天约了今天早上十点或者下午五点去面试,为了给面试官留下好印象,我早上七点就吃个饭出发了,九点半到达了目的地(周一的北京是真的堵)。

       1. 面试的过程大致是先进行一下自我介绍,在这一步我介绍了我自己以及我的校园经历,大致说了一下我的项目经历;

       2. 然后面试官问了一下低功耗是大致怎么实现,我在学校的时候并没有做过关于低功耗的考虑,所以也只能说了一下我自己的想法:降低时钟频率、关闭不用的时钟、以及把功耗比较大的通信功能尽可能的缩小传输时间(这里面试官和我举例了一下蓝牙4.0的低功耗实现方法:在极短的时间把数据发送出去,然后迅速断开连接或者保持极低功耗的连接。这样即使数据传输这个地方功率开销比较大,也会因为时间极短而变成低功耗设备)

        3. 然后问了一下对传感器开发有什么见解没有,这一点因为大学期间玩过超声波传感器和PM2.5传感器等等,所以还是比较熟悉关于传感器的模式选择和数据接收等等功能的。

        4. 然后就问了一些项目上的东西以及网络编程Socket编程和Linux的掌握程度(然后他也建议了我很多知识,比如多学习一些Linux,多玩玩树莓派和arduino,多学习一些操作系统层面上的东西)这些都没有超出我的简历范围(所以说大家一定不要在自己的简历里挖坑,不能展开讨论的知识不要写在简历里。万一面试官问到你简历里写的东西,而你却不会,那就基本宣布你凉凉了)。

 

今天已经很晚了,所以就先写到这里,后续还有面试或校招的话我会继续更新的

### 嵌入式系统面试常见问题及答案 #### 1. C 和 C++ 的主要区别 C 是一种过程化编程语言,主要用于编写底层系统程序。C++ 则是在 C 的基础上增加了面向对象特性,支持类和对象的概念,提供了更好的抽象机制[^1]。 ```cpp // C++ 支持类定义 class MyClass { public: void myMethod() { std::cout << "This is a method of MyClass"; } }; ``` #### 2. 实时操作系统的特征及其应用场景 实时操作系统(RTOS)专为实时应用设计,能够在外设触发事件后的限定时间内作出响应。其特点包括高实时性和高可靠性,在诸如工业控制、汽车电子等领域广泛应用[^2]。 #### 3. Git 中 merge 和 rebase 的差异 Merge 操作会保留所有的合并记录,形成复杂的图状提交历史;Rebase 可以创建更加线性的历史路径,简化日志查看体验。对于公开共享的分支建议采用 Merge 来减少冲突风险,而对于私有工作流或者追求简洁历史的情况可以选择 Rebase[^3]。 #### 4. 如何检测与修正嵌入式系统里的内存泄露? 为了定位内存泄漏,可以利用工具如 Valgrind 或者集成到 IDE 内的记忆分析器来进行动态监控。一旦发现异常增长的对象实例,则需审查对应的分配释放逻辑,确保每一块申请的空间都能被正确回收。 ```c void *ptr = malloc(10); if (ptr != NULL) { free(ptr); // 确保每次malloc都对应一次free } ``` ### 面试准备技巧 - **深入理解基础概念**:掌握计算机组成原理、数据结构算法等基础知识。 - **积累实际项目经历**:参与真实世界的工程项目有助于展示解决问题的能力。 - **熟悉常用开发环境和技术栈**:熟练运用 GCC 编译链路、GDB 调试器等相关技术。 - **练习典型题目解答**:针对上述提到的技术要点反复演练,增强应变水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值