面经学习(1)---cvte嵌入式

本文深入探讨了操作系统的管理功能、同步机制、线程调度、驱动开发、内存管理、中断处理、I2C通信、虚函数与多态,以及Linux内核配置与设备类型。涵盖了Windows API调用、数据结构、进程间通信和面向对象编程等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源:
面经
资料来源:汇总,搜索

1、

1.操作系统的功能有哪些(操作系统有什么子系统)

操作系统的5大管理功能、五大类型操作系统各自的特点、操作系统的结构、现代操作系统的基本特征

2.内核线程同步的方法 是否了解同步锁

(1).在WIN32中(区别于Linux,其实也差不多),同步机制主要有以下几种:
(1)事件(Event);
(2)信号量(semaphore);
(3)互斥量(mutex);
(4)临界区(Critical section)

(2)不添加同步锁,当两个(多个)线程共同使用一个共享资源时,会出现资源的抢占,对于每个进程而言,抢占某个特定的资源,所获得的结果是不确定的。

3.如何让几个线程含顺序解锁执行

jave让多线程按顺序执行的几种方法

4.汇编会吗,arm的汇编和8086的汇编有什么区别

MSC-51汇编、ARM汇编与8086汇编语言编程方式的异同

5.通过API系统调用的过程

Windows系统调用学习笔记(一)—— API函数调用过程

6.数据结构学得如何 如何判断一棵树是平衡二叉树

平衡二叉树详解 通俗易懂

7.内核移植配置了什么 图形化界面的选了什么选项

Linux内核编译配置(Menuconfig图形化方式)、制作文件系统的步骤

8.驱动设备的类型(块设备 字符设备 网络设备)

linux三大驱动类型:字符设备、块设备、网络设备

9.uart下位机传到上位机的包内容

MFC QT 串口通信

10.中断和轮询的优缺点

选中断还是轮询方式?

11.调度算法有哪些

几种常见的调度算法

12.设计模式

常用设计模式总结

13.驱动开发

linux驱动开发架构

14.一个运行的程序的用户空间与内核空间

Linux的用户空间与内核空间

15.查询内存剩余的命令 杀死进程的命令 查询进程号的命令

Linux如何查看进程、杀死进程、启动进程等常用命令

16.中断的触发方式(上升沿下降沿高电平低电平)

17.用过i2c吗?如何实现(时序图编程思路或应用层)

起始条件:SCL线是高电平时,SDA线从高电平向低电平切换。
停止条件:SCL线是高电平时,SDA线从低电平向高电平切换。
I2C详解(一)

18.虚函数表是什么?虚函数实现多态的原理?

虚函数实现多态原理

19.重载和覆盖有什么区别?

重载:同一名字空间 是指允许存在多个同名函数,而这些函数的参数表不同。
重定义/隐藏:不同名字空间 用于继承,派生类与基类的函数同名,屏蔽基类的函数(不是虚函数)
重写/覆盖:不同名字空间 用于继承,子类重新定义父类虚函数的方法(函数名和参数表一致,虚函数)

20.代码编译成可执行文件的过程 具体每步做了什么

预编译、编译、汇编、链接

21.面向对象编程的特点

封装 继承 多态

22.如何判断一个链表是否为环

如何判断一个单链表是否有环以及环入口

23.简单介绍自己的项目 问相关的问题。
24.进程间通讯的方式

进程间8种通信方式详解

2

1.介绍自己。
2.有没有关注科技圈发生的事 如何看待。
3.如何理解嵌入式?嵌入式系统和windows相比有什么优势?如何理解arm架构?
到底什么是嵌入式?什么是单片机?
嵌入式系统与计算机系统的对比
五种常见的嵌入式操作系统
几种嵌入式实时操作系统简介
ARM 架构简介
4.最近在学什么知识?学得怎么样?
5.有没有接触过安卓的开发?
6.经常查资料的网站用的什么?有没有自己的博客?博客地址发过来
7.你所知的手机常用系统有哪些?
五大主流手机操作系统
8.然后就共享屏幕完成代码:
1.完成链表反转 链表自己定义(十分钟内)
使用list容器的迭代器方法

#include <iostream>
#include <list>
using namespace std;
int main()
{
	list<int> L1;
	int num;
	while (cin >> num)
	{
		L1.push_back(num);
		if (cin.get() == '\n')
			break;
	}
	
	L1.reverse();//反转
	list<int>::iterator ite;
	for (ite = L1.begin(); ite != L1.end(); ite++)
		cout << *ite;
}

2.问我指针学得怎么样,然后叫我定义以下变量

9.介绍自己的项目 问相关的问题在这里插入图片描述
e.int *p=new int * str[10];
f.int *p=new int str[10];
g. int (*fun)(int a);
C++如何定义一个函数指针
h.

	int max(int a, int b);
	int min(int a, int b);
	int sum(int a, int b);
	int (* pFunc[3])(int a, int b); // 定义一个长度为3的函数指针数组
    pFunc[0] = max;
    pFunc[1] = min;
    pFunc[2] = sum;

C/C++函数指针和函数指针数组的定义及用法
10.为什么使用tcp/ip?对其有什么理解?

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淮杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值