ARM/Linux嵌入式面经(三三):大疆

嵌入式工程师考察主要蕴含:C/C++,处理器的架构,操作系统(linux或嵌入式实时操作系统),常见硬件接口协议/总线,文件存储系统等几方面

文章目录

  • 1)C/C++
    • static作用,变量加入static以后在内存中存储位置的变化。
      • static的作用
      • 变量加入static后在内存中存储位置的变化
      • 面试官可能的追问
    • volatile作用
      • volatile的作用
      • 示例代码
      • 面试官的追问
    • C++为什么有指针还要引用,为什么不和JAVA一样抛弃指针
      • 为什么C++有指针还要引用?
      • 为什么C++不和JAVA一样抛弃指针?
      • 面试官可能追问的问题:
    • delete和delete[]的区别
      • `delete`
      • `delete[]`
      • 示例
      • 面试官可能的追问
    • 虚函数是用来干嘛的?虚函数机制怎么实现的?虚表指针在内存中的存放位置?
      • C++虚函数是用来干嘛的?
      • 虚函数机制怎么实现的?
      • 虚表指针在内存中的存放位置?
      • 面试官可能的追问
    • C++多态怎么理解?C++有哪些多态的典型例子?
      • C++多态的理解
      • C++多态的典型例子
        • 1. 虚函数实现多态
        • 2. 纯虚函数与抽象类
      • 面试官可能的追问
    • 叙述程序编译都包含哪些阶段,每个阶段干了什么?
      • 面试官可能的追问
    • CMake是如何包含文件目录的
      • 使用`include_directories()`
      • 使用`target_include_directories()`
      • 面试官可能的追问
    • 全局变量和局部变量在什么地方?堆栈如何申请资源?
      • 全局变量和局部变量的存储位置
      • 堆栈如何申请资源
      • 面试官可能的追问
    • C语言编译后的内存分布
      • C语言编译后的内存分布
      • 面试官可能的追问
    • 我连续调用同一个函数两次,他的局部变量初始化结果是否会一致?(函数调用的过程)
      • 完整且有深度的回答
      • 面试官可能追问的几个相关问题
    • 你说静态局部变量存储在静态区,那么静态区的创建和消失是在什么时候?
      • 静态区的创建和消失时机
      • 面试官可能的追问
    • 我在windows里面运行了多个进程,其中一个进程执行完了,他的静态区会如何处理?(多进程的内存管理问题)
      • 回答
      • 面试官可能的追问
    • 静态局部变量与局部变量的区别?为什么局部变量未定义时,每次初始化的结果是不确定的?是个真随机数还是个伪随机数?
      • 静态局部变量与局部变量的区别
      • 为什么局部变量未定义时,每次初始化的结果是不确定的?是个真随机数还是个伪随机数?
      • 面试官可能的追问
    • 嵌入式中栈的工作机制是什么?
      • 栈的工作机制
      • 面试官的追问
    • struct字节对齐了解么?
      • struct字节对齐概述
      • 字节对齐的作用
      • 字节对齐的规则
      • 示例分析
      • 面试官的追问
    • 容器了解吗?vector实现的机制是怎么样的?
      • 容器了解吗?
      • vector实现的机制是怎么样的?
    • 迭代器有了解吗?讲解一下你的理解
      • 迭代器的理解
      • 面试官的追问
    • 内存分配函数了解么?如果系统中只有10K内存,而我要分配12K,能分配成功吗?如果能,那么将分配到的区域用memset进行初始化,会成功吗?
      • 回答内存分配函数及其相关问题
      • 面试官可能的追问:
  • 2)处理器架构
    • 51和32架构的区别
      • 51架构与32位架构(以ARM为例)的主要区别
      • 面试官可能追问的问题
    • MCU可以运行Liunux吗,为什么?
      • 为什么MCU可以运行Linux?
      • 挑战与限制
      • 面试官追问
    • STM32启动过程(上电开始->main执行的过程)
      • STM32启动过程
      • 面试官可能提出的追问
    • 中断响应执行流程,中断上下文指的什么,保存中断上下文是完成的什么操作,以STM32为例,都有哪些寄存器被保存
      • 中断响应执行流程
      • 中断上下文
      • 保存中断上下文的操作
      • STM32中被保存的寄存器
      • 面试官可能追问的问题
    • STM32 F1和F4的区别
      • 一、内核与性能
      • 二、外设与功能
      • 三、存储与资源
      • 四、功耗与效率
      • 面试官可能追问的问题:
    • Cotex-M系列使用浮点运算对STM32中断效率会产生什么影响
      • 浮点运算对STM32中断效率的影响
        • 1. Cortex-M系列内核的浮点运算能力
        • 2. 对中断效率的影响
        • 3. 优化建议
      • 面试官可能追问的问题
    • 什么是大小端模式
      • 大小端模式定义
      • 大小端模式的应用场景
      • 面试官可能追问的问题
  • 3)操作系统
    • Freertos支持的任务调度方式,详细说下每种方式
      • 1. 抢占式调度(Preemptive Scheduling)
      • 2. 时间片轮转调度(Round-Robin Scheduling)
      • 总结
    • 任务(线程)间通信方法
      • 常用的任务(线程)间通信方法
    • 进程和线程的区别
      • 进程和线程的区别
      • 面试官可能的追问
    • 互斥量和信号量的区别
      • 一、定义与用途
      • 二、特性与行为
      • 三、使用场景
      • 四、面试官可能追问的问题
    • 优先级翻转,如何避免优先级翻转
      • 一、优先级翻转的避免策略
      • 二、面试官可能追问的问题
    • STM32任务切换为什么用PendSV
      • 一、PendSV的优势
      • 二、STM32任务切换的具体过程
      • 三、面试官可能追问的问题
    • FreeRTOS的内存管理怎么实现的?为什么这么做?
      • 实现方式
      • 为什么这么做
      • 面试官可能追问的问题
    • 对于临界区数据的处理,使用互斥锁和自己通过条件来判断,哪样更好,为什么?
      • 使用互斥锁的优势
      • 自己通过条件来判断的劣势
      • 面试官可能追问的问题
  • 4)常见硬件接口协议/总线
    • (1)SPI
        • 问题1:
        • 问题2:
        • 问题3:
    • (2)IIC
        • 问题1:
        • 问题2:
        • 问题3:
        • 问题4:
    • (3)UART
        • 问题1:
        • 问题2:
        • 问题3:
    • (4)FSMC
        • 问题1:
        • 问题2:
        • 问题3:
    • (5)AXI
        • 问题1:
        • 问题2:
        • 问题3:

1)C/C++

static作用,变量加入static以后在内存中存储位置的变化。

static作用及变量加入static后在内存中存储位置的变化

static的作用

在C/C++等编程语言中,static关键字有着多重作用,主要根据它被应用到的上下文环境(如全局变量、局部变量、函数等)而有所不同。但总体来说,static主要提供了两个核心功能:

  1. 隐藏:当static用于全局变量时,它限制了该变量的作用域仅在其被声明的文件内部,避免了不同文件中同名全局变量的冲突,实现了对变量的隐藏。

  2. 持久性:无论static用于局部变

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hku-mars雷达相机时间同步方案-软件驱动(MID360与海康MV-CB060-10UMUC-S)

hku-mars雷达相机时间同步方案-软件驱动 hku的方案在硬件和软件方面都做了工作,所以才会实现相机帧和雷达帧的完全对齐。硬件方面的设置请参考上一期。 港大的同步结果: hku-mars雷达相机时间同步方案-硬件(MID360与海康MV-CB060-10UMUC-S&…

窗口嵌入桌面背景层(vb.net,高考倒计时特供版)

开发思路 根据系统生成高考倒计时的具体时间,附加江苏省省统考的时间生成算法,并且用户可以根据实际情况调整前后30天,具有丰富多彩的图片库和强大的自定义功能,效果图见P3 目前程序处于正式版的1.4版本,本程序由本作…

【HarmonyOS】鸿蒙头像上传-(编辑个人信息页- 头像上传)+实时数据更新

#效果图 #思路 ##步骤: ###一、利用picker api选择1张图片 实例化选择器参数(使用new PhotoSelectOptions())实例化图片选择器 (使用newPhotoViewPicker() )调用图片选择器的select方法传入选择器参数完成图片选取获得结果 利用picker api选择1张图片 async sele…

[Redis] Redis中的Hash类型和List类型

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

eureka.client.service-url.defaultZone的坑

错误的配置 eureka: client: service-url: default-zone: http://192.168.100.10:8080/eureka正确的配置 eureka: client: service-url: defaultZone: http://192.168.100.10:8080/eureka根据错误日志堆栈打断电调试 出现两个key,也就是defaultZone不支持snake-c…

【PCB工艺】如何实现PCB板层间的互连

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言①、什么是通孔②、通孔是怎样产生的③、通孔种类④、盘中孔⑤、设计建议 前言 送给大学毕业后找不到奋斗方向的你…

C++函数在库中的地址

本文讲述C如何直接调用动态库dll或者so中的函数。 首先我们准备一个被调用库,这个库里面有两个函数,分别是C98 与 C11 下的,名称是run2和run1。 被调用库 相关介绍请看之前的文章《函数指针与库之间的通信讲解》。 //dll_ex_im.h #ifndef…

OpenSSH9.8p1编译rpm包(建议收藏)

1.升级前的openssh版本 [root@ncayu8847 ~]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 20172.下载软件包(离线包) openssh 源码下载地址: https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssl源码下载 https:/

JUC学习笔记(二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 四、共享模型之内存4.1 Java 内存模型4.2 可见性退不出的循环解决方法可见性 vs 原子性模式之 Balking1.定义2.实现 4.3 有序性原理之指令级并行1. 名词2.鱼罐头的故…

关于手机号码数理的计算和推导,获得“平替”尾号

文章背景:我个人比较相信命运,对于手机号码的吉凶或是数理颇为在乎。最近,我沉浸于这方面的研究中,并发现许多手机号码的数理核心竟出奇地一致——关键在于后四位尾号,而前面的数字似乎并不占据主导位置。然而&#xf…

使用 GaLore 预训练LLaMA-7B

项目代码: https://github.com/jiaweizzhao/galorehttps://github.com/jiaweizzhao/galore 参考博客: https://zhuanlan.zhihu.com/p/686686751 创建环境 基础环境配置如下: 操作系统: CentOS 7CPUs: 单个节点具有 1TB 内存的 Intel CP…

【C++】入门基础(下)

Hi!很高兴见到你~ 目录 7、引用 7.3 引用的使用(实例) 7.4 const引用 【第一分点】 【第二分点1】 【第二分点2】 7.5 指针和引用的关系(面试点) 8、inline 9、nullptr Relaxing Time! ———…

Mysql(二) - 约束, 进阶查询

目录 一.约束 1.not null 2.unique 3.default 4.primary key 5. foreign key 6.check 7. 综合使用 二.进阶查询 1.新增(插入查询的结果) 2.聚合查询 a.聚合函数 b.使用 3.分组查询 4.联合查询 a.内连接 b.外连接 c.自连接 d.子查询 5.合并查询 三.总结 一…

基于SpringBoot的招生宣传管理系统【附源码】

基于SpringBoot的招生宣传管理系统(源码L文说明文档) 目录 4 系统设计 4.1 系统概述 4.2系统功能结构设计 4.3数据库设计 4.3.1数据库E-R图设计 4.3.2 数据库表结构设计 5 系统实现 5.1管理员功能介绍 5.1.1管理员登录 …

Ubuntu22.04系统安装opencv步骤简述及问题解决方法

前言 opencv是一个功能强大、开源且跨平台的计算机视觉库,适用于多种编程语言和操作系统,能够帮助开发者构建各种视觉项目。其模块众多,提供了诸多功能,能够进行图像处理、视频处理等等。比如:Highgui模块提供图像用户…

Python 解析 JSON 数据

1、有如下 JSON 数据,存放在 data.json 文件: [{"id":1, "name": "小王", "gender": "male", "score": 96.8}, {"id":2, "name": "小婷", "gender&qu…

Python 课程12-Python 自动化应用

前言 Python 自动化应用 可以帮助开发者节省时间和精力,将重复性、手动操作变为自动化脚本。例如,Python 可以用于自动化处理文件、邮件、生成报表,甚至可以控制浏览器执行复杂的网页操作任务。借助 Python 的强大库和工具,可以轻…

python学习——对无人机影像有RGB转换到HSV

问题描述 最近需要对无人机影像中绿色植被信息进行提取,查看相关论文,发现用的比较多的就是HSV色彩转换方法,动手实践一下。 解决思路 #mermaid-svg-5ejGodIusPv6zFVS {font-family:"trebuchet ms",verdana,arial,sans-serif;fon…

浪潮信息首推3秒智能控温!告别服务器开机噪音

在当前的数据中心运维实践中,运维人员在部署服务器时常被“飞机起飞”般的开机噪音所困扰。服务器刚刚接通电源,其内部元件尚处于预热待命状态,而风扇却已全速运转,这不仅加剧了噪音污染,还拖慢了启动速度,…

了解华为云容器引擎(Cloud Container Engine)

1.什么是云容器引擎? 云容器引擎(Cloud Container Engine,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。云容器引擎是一个企业级的…