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  
点赞 2
评论 1
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-14 19:09
darius_:给制造业搞的,什么物料管理生产管理,设备管理点检,最最关键的就是一堆报表看板。个人觉得没啥技术含量都是些基本的crud,但是业务很繁琐那种
点赞 评论 收藏
分享
投递OPPO等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务