1.12 小米求职攻略-2024理工科版本

1.12.1 校园招聘时间流程

网申

机考

面试

offer

8月

9月-10月

9月-11月

10月-12月

1.12.2 薪资爆料

岗位

地点

学历

薪资范围(年薪)

嵌入式

北京

本科

15~24k*15

嵌入式

上海

本科

19~28k*15

嵌入式

深圳

本科

20~24k*14

射频

北京

硕士

18~22.5k*14

射频

深圳

硕士

18~22.5k*14

硬件测试

深圳

本科

14~16k*12

硬件测试

北京

本科

13~20k*14

数字IC

上海

本科

21~28k*14

数字IC

深圳

硕士

40W

硬件研发工程师

北京

本科

16~20k*14

硬件研发工程师

上海

硕士

20~22.5k*14

天线工程师

深圳

硕士211

20~22.5k*14

天线工程师

北京

硕士

18~22.5k*14

  • 数据来源 牛客用户,更多详细信息可到牛客查询

1.12.3 面试真题

嵌入式工程师

1、C/C++程序 内存分布情况 常量所在的区

【解题思路】

C/C++程序内存分布情况通常可以分为以下几个区域:

代码区(text segment):存放程序执行代码的区域,通常是只读的。该区域的内容在程序执行时不能被修改。

数据区(data segment):存放已经初始化的全局变量和静态变量(包括全局和静态变量的指针)的区域。

BSS区(bss segment):存放未初始化的全局变量和静态变量的区域,该区域的值默认初始化为0。

栈区(stack segment):存放函数调用时的局部变量、函数参数和返回地址等信息。栈空间是由操作系统自动分配和回收的,它的大小通常是固定的,不能随意增加。栈空间是向下增长的,也就是说,栈顶的地址是越来越小的。

堆区(heap segment):存放由程序员手动申请的内存空间,大小可以动态增加或减少。堆空间是由程序员手动管理的,程序员需要负责在使用完毕后将其释放。堆空间是向上增长的,也就是说,堆顶的地址是越来越大的。

常量一般位于代码区或数据区,不同编译器可能有不同的实现。在代码区中,通常存放的是字符串常量和只读变量;在数据区中,通常存放的是全局常量和静态常量。在使用常量时,应该尽量避免修改它们的值,以免引发未知的问题。

2、c编译到执行的4个阶段

【解题思路】

在C语言编译运行的过程中,可以分为4个主要的阶段,包括预处理、编译、汇编和链接。

预处理阶段(Preprocessing):在预处理阶段,编译器会处理源文件,包括展开宏定义、头文件的展开、条件编译等,生成一个经过预处理后的文本文件。此阶段的结果是一个以 .i 为扩展名的文件。

编译阶段(Compilation):在编译阶段,编译器将经过预处理的文本文件翻译成汇编代码。汇编代码是一种低级的、与机器相关的语言。此阶段的结果是一个以 .s 为扩展名的文件。

汇编阶段(Assembly):在汇编阶段,汇编器将汇编代码转换成机器可以执行的指令。此阶段的结果是一个以 .o 为扩展名的文件。

链接阶段(Linking):在链接阶段,连接器将目标文件以及一些必要的库文件进行链接,生成可执行文件。此阶段的结果是一个没有扩展名的可执行文件。

以上是C语言编译执行的基本阶段,具体的实现方式可能因编译器和操作系统的不同而有所不同。

3、linux查看系统性能命令

【解题思路】

Linux下常用的查看系统性能的命令有以下几个:

top:查看系统运行进程及其资源占用情况,可以实时更新显示。

vmstat:查看系统的内存、磁盘、CPU 等资源的使用情况和进程信息。

iostat:查看磁盘 I/O 活动情况,显示磁盘读写速度、磁盘利用率等信息。

sar:系统活动报告,可以查看 CPU、内存、磁盘、网络等性能指标历史记录。

netstat:查看网络连接状态、网络接口的状态和统计信息。

ifconfig:查看网络接口的配置信息,包括 IP 地址、MAC 地址等。

free:查看内存使用情况,包括内存总量、空闲内存、已用内存等。

这些命令在排查系统性能问题、优化系统性能方面非常有用,嵌入式开发中同样可以使用。

4、linux7种文件设备类型,硬盘属于那种设备

【解题思路】

Linux中文件设备类型有7种,分别是:块设备(block)、字符设备(character)、套接字(socket)、符号链接(symbolic link)、FIFO、目录(directory)和文件(regular file)。

硬盘属于块设备(block),块设备是以固定大小的块进行访问的设备,硬盘、U盘等都是块设备。与块设备不同,字符设备(character)是以字符为单位进行访问的设备,例如键盘、鼠标等。

5、驱动设备节点保存在哪个目录

【解题思路】

驱动设备节点保存在/dev目录下。在Linux系统中,所有的设备节点都保存在/dev目录下,设备节点的文件名通常以字母“dev”开头,其余部分用于标识设备类型和设备号等信息。设备节点可以被用于读取和写入设备数据,同时也可以用于与设备进行交互。在驱动程序中,通过打开设备节点文件可以获得设备的文件描述符,从而进行对设备的操作。

6、介绍一下STM32 GPIO

【解题思路】

STM32是一款由意法半导体推出的基于ARM Cortex-M内核的32位微控制器,其广泛应用于各种工控、嵌入式、物联网等领域。其中,GPIO是STM32的一种重要的外设,可以用于控制数字输入输出,是STM32开发中使用最为广泛的外设之一。

在STM32中,GPIO可以用于实现数字输入输出、中断、事件捕捉等功能,同时还能够与其他外设进行复杂的联合应用,如SPI、I2C、UART等。GPIO的控制与配置主要包括以下几个方面:

GPIO的引脚复用功能,可以通过选择不同的复用功能,将GPIO引脚作为其他外设的输入输出端口,如ADC、TIM、USART等。

GPIO的工作模式,包括输入模式和输出模式。输入模式下,GP

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024校招宝典——硬件版本 文章被收录于专栏

牛客独家出品,理工科求职必备攻略,适合岗位: 硬件、通信、电气、电子信息

全部评论
有没有小米射频的
点赞 回复 分享
发布于 07-23 11:16 北京

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
2 16 评论
分享
牛客网
牛客企业服务