面试重点项

最近准备面试了,梳理一些面试经常考试的细节点,不然每次都要去整理,答案未给出。

一、C语言基础

1.1、字节对齐

link Struct和Union字节对齐的内存占用计算方法
link 怎么计算union和struct中字节数计算

1.2、union数据空间大小计算

link 怎么计算union和struct中字节数计算
link union、struct、class占用的字节数

1.3、多级指针和多维数组

link 一维数组名、取数组首元素地址、取数组名地址三者值与含义辨析
link C 语言 —— 指针和多维数组
link 字符串指针数组详解
link [C语言]二维数组传参的格式(详细+总结)

1.4、常量指针和指针常量

link 详解指针常量和常量指针

1.5、C语言编译过程

预处理,编译,汇编,链接
link C语言编译过程详解

1.6、算法、红黑树、二叉树(未研究)

1.7、编写双向链表、链表队列

1.8、一些标准库函数的实现(应届毕业会考)

link memcpy/memset函数的c语言实现
link strcpy函数的实现
link strcmp函数的C语言实现
link strcat函数

1.9、静态内存和动态内存

link 动态内存与静态内存的区别
link 动态内存分配与静态内存分配

二、FreeRTOS 操作系统

2.1、任务状态关系图

link FreeRTOS任务概述

2.2、消息队列、信号量、事件组、任务通知

link FreeRTOS消息队列、信号量、事件标志组、任务通知

2.3、任务切换的细节,PENDSV内部执行的细节

link FreeRTOS高级篇7—FreeRTOS内存管理分析

2.4、内存管理的5种模式,每种模式内存管理方式

link FreeRTOS高级篇7—FreeRTOS内存管理分析

2.5 调度方式

抢占式、时间片轮转、合作式
link freertos中任务的调度方式

2.6、 堆和栈,任务栈区别

link FreeRTOS ------ 栈、堆、任务栈

三、LINUX

3.1、TCP/IP的三次握手,4次挥手

3.2、虚拟内存

3.3、文件管理 (一般不问)

3.4、 UBOOT启动细节(驱动开发,一般问不到)

四、嵌入式

4.1、UART、SPI、I2C、CAN、LIN、USB细节

4.2、中断向量表细节

4.3、 DMA传输

4.4、FAT32文件系统

4.5、bootloader(没见人问过,车企的bootloader还是复杂的)

4.6、IP网络层细节

4.7、蓝牙细节(只会使用芯片厂商接口,未学到手)

4.8、FLASH数据存储段

Code为程序代码部分
RO-data 表示 程序定义的常量const temp;
RW-data 表示 已初始化的全局变量
ZI-data 表示 未初始化的全局变量
Code, RO-data,RW-data …flash
RW-data, ZIdata…RAM
link .bss .data .text 与Code, RO-data , RW-data, ZI-data的关系

五、应用层协议

5.1、MODBUS协议

5.2、UDS刷写

5.3、MQTT协议

5.4、HTTP协议(需要去学习)

六、随机提问

6.1、在你做过的所有项目中出现的最难的或者最棘手的事情是什么?

6.2、你的嵌入式发展方向或者你的规划目标?

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

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

相关文章

IntelliJ IDEA 下载安装及配置使用教程

一、IDEA下载 1、打开游览器输入IntelliJ IDEA – the Leading Java and Kotlin IDE (jetbrains.com) 2、点击Download,进入IDEA下载界面 3、 有两个版本,一个是Ultimate 版本为旗舰版,需要付费,包括完整的功能,下载后…

【JSON2WEB】08 Amis的事件和校验

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

部署DNS解析服务

一、安装软件,关闭防火墙,启动服务 1.yum install -y bind bind-utils bind-chroot 2.systemctl stop firewalld && setenforce 0 3.systemctl start named 二、工作目录 /var/named/chroot/etc #存放主配置文件 /var/named/chroot/var/n…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:LongPressGesture)

用于触发长按手势事件,触发长按手势的最少手指数为1,最短长按时间为500毫秒。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 接口 LongPressGesture(value?: { fingers?: num…

Vue3:OptionsAPI 与 CompositionAPI的比较

1、Vue2 Vue2的API设计是Options(配置)风格的。 Options API 的弊端 Options类型的 API,数据、方法、计算属性等,是分散在:data、methods、computed中的,若想新增或者修改一个需求,就需要分别…

【Leetcode每日一题】 前缀和 - 和为 K 的子数组(难度⭐)(29)

1. 题目解析 题目链接:560. 和为 K 的子数组 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 核心在于计算题目所给数组是否存在连续子数组和为指定值,存在返回连续子数组个数即可,不存在返回0即…

C++入门全集(5):内存管理

前言 一、内存区域划分 二、C的内存管理方式 2.1 对内置类型 2.2 对自定义类型 三、new和delete的底层实现 四、new和delete的原理 五、定位new 六、malloc/free和new/delete 前言 在C中,内存管理是不可避免的一门必修课。C对内存的自由度使其获得了更高的…

教你用Android Studio如何打jar包与aar包

目录 jar与aar区别 生成jar与aar前言 常规来说,我们项目接入第三方的SDK,是有以下两种方法的: 1.构建项目打包出Android原生工程,使用Android Studio在原生工程里面写接入第三方SDK的逻辑代码。 2.使用Android Studio创建工程,在工程里写接入第三方SDK的逻辑代码…

单片机的boot升级和双备份升级

同时boot升级还会有一个策略来防止单片机变成砖:就是boot的升级程序写在boot中,这个部分的的升级程序是不会改动的,如果检测到升级失败,会一直等待,直到升级正确的程序

Mac M2机器使用python3的lxml报错symbol not found in flat namespace

报错详情如下: ...... from lxml import etree ImportError: dlopen(/opt/miniconda3/envs/python38/lib/python3.8/site-packages/lxml/etree.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace _exsltDateXpathCtxtRegister 解决方法&…

Sora: 大型视觉模型背景、技术、局限性和机遇的综述

论文链接:https://arxiv.org/pdf/2402.17177.pdf 背景 在分析 Sora 之前,研究者首先盘点了视觉内容生成技术的沿袭。 在深度学习革命之前,传统的图像生成技术依赖于基于手工创建特征的纹理合成和纹理映射等方法。这些方法在生成复杂而生动…

全自动气象站的工作原理

TH-CQX5全自动气象站是一款野外高精度监测气象数据的环境气象站设备。它结合了先进的传感器技术、自动化控制系统和远程通信技术,能够提供准确、实时的气象数据,为环境保护、气象研究、农业生产等领域提供重要的数据支持。 高精度传感器:全自…

苹果电脑安装Android Studio和配置SDK

大家好,我是你们的好朋友咕噜铁蛋!今天,我们要来聊一聊关于《苹果电脑安装Android Studio和配置SDK》这个话题。对于使用苹果电脑的开发者来说,安装Android Studio并配置SDK可能会有些不同,但只要跟着我的指引&#xf…

2024-3-5 python 序列小知识点

1、for循环的变量作用域不限于for循环内 >>>i 10 >>>for i in range(100): >>> print(i) >>> i 100此处,for循环里的 i 修改了之前的 i 变量的值。 2、列表推导式里的变量作用域仅限于推导式内 推导式犹如一个函数&…

五、布局布线约束、系统优化参数、时序优化收敛 关键技术点

在实际的工程当中,出现了时序违例的情况如何解决呢? 本章内容将介绍例外约束、布局布线的具体操作,实现系统参数的优化。 **前言:**通过约束时钟,比如基准时钟,和生成时钟,让我们的综合工具知道我们的时序…

嵌入式系统是什么?Linux应用开发是开发什么的?

第一篇: 原文链接:https://www.zhihu.com/question/464205608/answer/3358027187 一、什么是嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、…

Java开发人员应学习的10种工具

1.Docker Docker是一个开源工具,用于自动在云或物理服务器上部署应用程序。它允许开发人员和系统管理员在笔记本电脑,数据中心VM或云上构建,交付和运行分布式应用程序。 Docker与云,Linux和Windows供应商合作,并且许多…

LeetCode 2810.故障键盘

你的笔记本键盘存在故障,每当你在上面输入字符 ‘i’ 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。 给你一个下标从 0 开始的字符串 s ,请你用故障键盘依次输入每个字符。 返回最终笔记本屏幕上输出的字符串。 示例 1&…

Redis之事务(详细解析)

请直接看原文:不能回滚的Redis事务还能用吗 - 知乎 (zhihu.com) ------------------------------------------------------------------------------------------------------------------------------ 1、Redis事务的概念: Redis 事务的本质是一组命令的集合。…