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
全部评论

相关推荐

07-23 11:23
门头沟学院 Java
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
点赞 评论 收藏
分享
07-25 11:26
清华大学 Java
打开电脑,思绪又回到了7月份刚开始的时候,感觉这个月过的如梦如幻,发生了太多事,也算是丰富了我本就是平淡的人生吧太早独立的我习惯了一切都是自己做决定,拥有绝对的决定权,而且永远不会听取别人的建议。我就是那个恋爱四年出轨的男主啦,感觉既然在牛客开了这个头,那我就要做个有始有终的人。从我出轨到结束再到和女朋友和好如初真的太像一场梦了,短短的一个月我经历了太多,也成长了很多,放下了那些本就不属于我的,找回了那些我不该放弃的。我的人生丰富且多彩,但人不能一直顺,上天总会让你的生活中出点乱子,有好有坏,让你学会一些东西,让你有成长。我和女朋友的恋爱四年太过于平淡,日常除了会制造一些小浪漫之外,我们的生活...
段哥亡命职场:不得不说,我是理解你的,你能发出来足见你是个坦诚的人,至少敢于直面自己的内心和过往的过错。 这个世界没有想象中那样非黑即白,无论是农村还是城市,在看不见的阴影里,多的是这样的事。 更多的人选择站在制高点去谩骂,一方面是社会的道德是需要制高点的,另一方面,很多人不经他人苦,却劝他人善。 大部分的我们,连自己生命的意义尚且不能明晰,道德、法律、困境,众多因果交织,人会迷失在其中,只有真的走出来之后才能看明白,可是没走出来的时候呢?谁又能保证自己能走的好,走的对呢? 可是这种问题有些人是遇不到的,不去追寻,不去探寻,也就没了这些烦恼,我总说人生的意义在过程里,没了目标也就没了过程。 限于篇幅,没法完全言明,总之,这世界是个巨大的草台班子,没什么过不去了,勇敢面对,革故鼎新才是正确,祝你早日走出来。查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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