乐鑫嵌入式软件应用开发 暑期实习

背景

背景:本科双非,末流硕九

面试结果

凉了

Timeline

投递:4 月 15,具体时间忘了。

一周后 HR电话问了问专业和实习时长,然后周末笔试4.28 HR 加微信通知笔试通过了

4.30 一面 (40+ min,不算迟到的时间)

像联想、乐鑫这种国际化程度比较高的公司喜欢用 Microsof teams 面试,可以提前熟悉下。

面试官开会迟到了半小时,但人很好,看得出来其实很不好意思,连连道歉。

  1. 简单自我介绍:本科一个机器人项目(我在github上开源了软件+硬件,早知道不开源了,感觉是拉了托大的),研究生毕业设计(sEMG-FES),华为实习。
  2. 详解机器人项目:我共享屏幕,然后画图说明项目组成
  3. 详解研究生毕业设计:电路+算法
  4. 追问华为实习
  5. 追问 FreeRTOS 和嵌入式 Linux 驱动有项目吗(没有,只跟着韦东山学习过,大概问了点基础知识)
  6. 看我用过 ESP 32,问用的那个框架(只用过 Arduino),了解过 ESP-IDF 框架吗?(略了解过,但没用过)
  7. 怎么把 FreeRTOS 移植到 ESP 32(我好傻,时钟中断配置没说,面试官提示了好几次我都没意识到)
  8. 反问(怎么没有手撕代码或者基础知识:今天时间不够了,每个面试官风格不一)

面试官温文尔雅,挺好说话的,对我的回答循循善诱,比较吃惊的是居然还了解 sEMG 和FES这种冷门的方向,讨论了下为啥不用脑机接口(主要是实验室没钱,其次是不是刚需)。

5.30 发感谢信(悲)

我还挺喜欢用 ESP 32 的,对乐鑫也颇有好感,特别是今年华为实习笔试还挂了。

唉~

对了,乐鑫工作地好像只有上海,介意地域的友友慎重考虑下

#软件开发笔面经#
全部评论
纯垃圾公司,那是招实习生吗,发着实习的工资找正式工
7 回复 分享
发布于 06-06 22:21 上海
我一面直接拉了坨大的第二天就感谢信了😂
2 回复 分享
发布于 06-06 22:42 陕西
看课题方向佬你是搞康复机器人或者医疗器械的?
点赞 回复 分享
发布于 06-06 22:43 陕西
一面拷打我90min,还以为有戏,一周后感谢信
点赞 回复 分享
发布于 06-07 02:37 湖北
佬第几面挂的?
点赞 回复 分享
发布于 06-18 11:45 湖南
佬有华为实习都不行吗
点赞 回复 分享
发布于 06-21 07:52 湖北

相关推荐

 CPU、寄存器、缓存、内存概述- CPU:中央处理器,执行指令的核心组件。- 寄存器:CPU内部的临时存储空间,存放快速访问的数据。- 缓存(Cache):在寄存器和内存之间的高速存储,分为三级(L1、L2、L3),速度和价格依次降低。- 内存:主要存储程序和数据的地方。数据访问流程1. CPU首先在寄存器中查找数据。2. 如果寄存器未命中,则检查缓存。3. 如果缓存未命中,则从内存中获取数据。内存区域- 栈区:  - 存放函数参数和局部变量。  - 由编译器自动分配和释放,效率高,但内存量有限(如iOS中为2M)。- 堆区:  - 通过`new`、`malloc`等动态分配的内存。  - 需要程序员手动释放,可能导致内存泄漏。- 静态区:  - 存放全局变量和静态变量。  - 程序结束时由系统释放。- 常量区:  - 存放常量,不允许修改。  - 代码区:  - 存放函数体的二进制代码。类型说明符- 基本类型:`void`、`char`、`short`、`int`、`long`、`signed`、`unsigned`、`float`、`double`、`struct`、`enum`、`union`。- 存储类型:`extern`、`static`、`register`、`auto`、`typedef`。- 类型限制符:`const`(只读)、`volatile`。变量理解- extern:指示变量在其他文件中定义。- static:  - 限制变量作用域。  - 局部变量存入静态存储区,延长生存周期。- register:将频繁使用的变量放入寄存器以提高效率。- auto:C语言默认存储类型。- typedef:给类型或变量表达式起别名。- const:只读变量。- volatile:  - 防止编译器优化。  - 适用于中断和多线程环境。C程序内存分配- 堆、栈、静态存储区、文件分配区(常量字符串)、程序分配区(二进制代码)。 sizeof与strlen- sizeof:关键字,返回类型或数组的字节大小。- strlen:计算字符串长度,直到遇到`\0`。 函数参数传递- 值传递、引用传递、指针传递、数组地址传递。Const、指针、基本类型组合的意义- const int x:只读变量。- const char *x:指向常量的指针,指针内容可变,指向内容不可变。- char *const x:常量指针,指针内容不可变,指向内容可变。- const char *const x:指针和内容均不可变。 数组与指针- 物理地址:内存单元的真实地址。- 逻辑地址:CPU生成的地址。 Linux进程间通信- 管道(pipe)、信号量、消息队列、信号、共享内存、套接字。 strcpy与memcpy区别- strcpy:复制字符串。- memcpy:复制指定长度的内存内容。 内存泄漏与内存溢出- 内存泄漏:未释放的内存,导致可用内存减少。- 内存溢出:程序请求的内存大于可用内存。 switch的变量类型限制- 允许:整形、布尔、字符、枚举。- 不允许:字符串等非基本类型。 防止头文件重复调用- 使用#ifndef和#pragma once。 实时操作系统- 示例:FreeRTOS、Ucos。 指针数组与数组指针- 指针数组:数组元素为指针。- 数组指针:指向数组的指针。 结构体自增与双重指针自增- 自增从右向左进行。 寄存器的使用- 存储频繁调用的数据,减少内存访问。 获取全局变量与局部变量地址(gdb)- 使用backtrace或bt命令。 进程中的同步与异步- 同步:通过锁实现。- 自旋锁:忙等待,不阻塞线程。- 互斥锁:阻塞线程,等待资源释放。进程与线程的关系与区别- 进程:资源分配的基本单位,包含一个或多个线程。- 线程:进程中的执行单位,最小调度单位。树的遍历(递归与非递归)- 中序遍历:左子树 - 根节点 - 右子树,利用堆栈进行进栈和出栈操作。剩余的大佬面经总结了  链接在下边  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
7
14
分享
牛客网
牛客企业服务