1.自我介绍,先聊了好久,聊公司啥的,我在学校的情况
2.c和c++的区别
面向对象语言和面向过程语言
3.linux进程间通信的方式
管道、信号量、信号、消息队列、共享内存、socket、
a、管道:管道数据只能单向流动,所以如果要实现双向通信,就要创建2个管道,只能承载无格式的字节流
匿名管道:只能在父子进程关系中使用
命名管道可以在不关联的两个进程间使用
b、信号量:信号量是一个计数器,可以用来控制多个进程对资源的访问,通常作为一种锁机制,防止某个进程正在访问共享资源,其他进程也访问资源
c、信号:信号是进程之间唯一的异步通信机制,信号传递的信息比较少,开销少
d、消息队列:消息队列克服了信号传递信息少、管道只能承载无格式的字节流,消息到了就放进去,需要的时候去取。
e、共享内存:共享内存就是映射一段能被进程之间共享的内存,这段内存由一个进程创建,但是多个进程都可以共享访问,是最快的一种进程间通信的方式(不需要从用户态到内核态的切换),它是针对其他进程间通信方式运行效率低而专门设计的。
f、socket:不仅仅可以用于本地进程通信,还可以用于不通主机进程之间的通信。
4.tcp/udp主要区别
1、TCP与UDP区别总结:
a、TCP主要面向连接;udp是无连接的,发送数据之前不需要连接
b、TCP提供可靠的服务,传输数据不丢失、无重复且按序到达;UDP不保证可靠交付
c、UDP具有较好的实时性,工作效率比TCP高,适用于对速度实时性要求较高的通信;
d、TCP连接是点对点的;UDP支持一对一、一对多、多对多、多对一的交互通信;
e、TCP对系统资源要求较多,UCP对系统资源要求较少
5.二叉树的几种遍历方式
前 中 后 层
6.GDB调试工具
7面试官问C和C++更擅长哪个
我更擅长的是C++
8.具体展开讲讲项目
9.反问面试官一些问题
mtk联发科成都嵌入式一面
于 2022-07-12 12:09:57 首次发布