CVTE 嵌入式软件工程师 一面面经

1.linux和windows的换行符有什么不同
2.i2c设备的地址多少位 (7/10)
3.I2C读时序
4.宏函数定义写一个交换数据 不能用temp
5.宏定义写循环
6.uart怎么确定数据正确性
7.tcp中大端小端的问题
7.了解shell脚本么 写过什么
8.Abc类网络分类
9.了解多线程多进程么 怎么写多进程编程
10.假如中断函数要返回一个值 怎么写
11.用过fgets等读取文件的函数么
12.open函数传入什么参数 什么模式 参数怎么写
13.有没有试过用给usb等IO设备等写数据
14. 给你一个不联网的电脑 怎么找关于grep的用法
18.TCP、UDP异同 函数
19.I2c的特点 速度 硬件软件i2c有什么异同
20.中断要传入什么参数 中断可以有返回值吗
21.堆栈的区别 内存不free会怎样
22.若栈的长度较小有什么注意事项
23.程序还可以存放在哪里
24.链表和顺序表的区别 (送分题哦 务必学会)
25.怎么确定该用链表还是数组
26.反问

#软件开发笔面经##CVTE##秋招#
全部评论
二面人事面挂了你敢信😂
点赞 回复 分享
发布于 2024-12-26 11:33 广东

相关推荐

 CPU、寄存器、缓存、内存概述- CPU:中央处理器,执行指令的核心组件。- 寄存器:CPU内部的临时存储空间,存放快速访问的数据。- 缓存(Cache):在寄存器和内存之间的高速存储,分为三级(L1、L2、L3),速度和价格依次降低。- 内存:主要存储程序和数据的地方。数据访问流程1. CPU首先在寄存器中查找数据。2. 如果寄存器未命中,则检查缓存。3. 如果缓存未命中,则从内存中获取数据。内存区域- 栈区:  - 存放函数参数和局部变量。  - 由编译器自动分配和释放,效率高,但内存量有限(如iOS中为2M)。- 堆区:  - 通过`new`、`malloc`等动态分配的内存。  - 需要程序员手动释放,可能导致内存泄漏。- 静态区:  - 存放全局变量和静态变量。  - 程序结束时由系统释放。- 常量区:  - 存放常量,不允许修改。  - 代码区:  - 存放函数体的二进制代码。类型说明符- 基本类型:`void`、`char`、`short`、`int`、`long`、`signed`、`unsigned`、`float`、`double`、`struct`、`enum`、`union`。- 存储类型:`extern`、`static`、`register`、`auto`、`typedef`。- 类型限制符:`const`(只读)、`volatile`。变量理解- extern:指示变量在其他文件中定义。- static:  - 限制变量作用域。  - 局部变量存入静态存储区,延长生存周期。- register:将频繁使用的变量放入寄存器以提高效率。- auto:C语言默认存储类型。- typedef:给类型或变量表达式起别名。- const:只读变量。- volatile:  - 防止编译器优化。  - 适用于中断和多线程环境。C程序内存分配- 堆、栈、静态存储区、文件分配区(常量字符串)、程序分配区(二进制代码)。 sizeof与strlen- sizeof:关键字,返回类型或数组的字节大小。- strlen:计算字符串长度,直到遇到`\0`。 函数参数传递- 值传递、引用传递、指针传递、数组地址传递。Const、指针、基本类型组合的意义- const int x:只读变量。- const char *x:指向常量的指针,指针内容可变,指向内容不可变。- char *const x:常量指针,指针内容不可变,指向内容可变。- const char *const x:指针和内容均不可变。 数组与指针- 物理地址:内存单元的真实地址。- 逻辑地址:CPU生成的地址。 Linux进程间通信- 管道(pipe)、信号量、消息队列、信号、共享内存、套接字。 strcpy与memcpy区别- strcpy:复制字符串。- memcpy:复制指定长度的内存内容。 内存泄漏与内存溢出- 内存泄漏:未释放的内存,导致可用内存减少。- 内存溢出:程序请求的内存大于可用内存。 switch的变量类型限制- 允许:整形、布尔、字符、枚举。- 不允许:字符串等非基本类型。 防止头文件重复调用- 使用#ifndef和#pragma once。 实时操作系统- 示例:FreeRTOS、Ucos。 指针数组与数组指针- 指针数组:数组元素为指针。- 数组指针:指向数组的指针。 结构体自增与双重指针自增- 自增从右向左进行。 寄存器的使用- 存储频繁调用的数据,减少内存访问。 获取全局变量与局部变量地址(gdb)- 使用backtrace或bt命令。 进程中的同步与异步- 同步:通过锁实现。- 自旋锁:忙等待,不阻塞线程。- 互斥锁:阻塞线程,等待资源释放。进程与线程的关系与区别- 进程:资源分配的基本单位,包含一个或多个线程。- 线程:进程中的执行单位,最小调度单位。树的遍历(递归与非递归)- 中序遍历:左子树 - 根节点 - 右子树,利用堆栈进行进栈和出栈操作。剩余的大佬面经总结了  链接在下边https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
3
23
分享

创作者周榜

更多
牛客网
牛客企业服务