面试过人挺好的,先介绍一下自己,balabala
然后按照计算机基础分块开始问:
计算机网络
1、计算机网络有哪些层?
应用层、运输层、网络层、数据链路层、和物理层
2、介绍一下运输层?
主要有TCP/UDP,TCP需要经过三次握手,四次挥手,优点安全,缺点速度快。UDP不需要验证过程,速度快,缺点不安全
3、socket通信流程
特意问了是客户端绑定IP和端口号还是服务端
操作系统
1、进程和线程区别
C++
1、new和malloc区别(说我讲的不够具体)
2、C++多态性
3、堆栈区别
首先是管理方式不同,堆由程序员负责申请和释放,栈是编译器负责的,然后是结构不同,堆是一种从底部往顶部扩展的结构,栈是从顶部到底部刚好相反的结构,最后是效率有很大的不同,堆的申请和释放都需要经过算法计算,因为要减少内存碎片和提高内存使用率,而栈由编辑器负责,速度非常快,在这点上堆的效率比较低
4、数组和链表的区别
5、C++内存分配
6、定义一个struct数组,然后计算sizeof()这个我好像算错了
7、介绍快速排序和冒泡排序
8、手写快速排序
嵌入式Linux
1、rwx介绍一下,chmod 777 读写权限
2、I^C和uart区别这个我确实忘了,只是知道波特率,但是用过这两个。
最后问了你最大的缺点。。。。。
balabalabala
总结
总体下来面试官考察的是你的基础知识掌握程度,特别是计算机网络还有C++基础知识以及嵌入式基础问的挺多的。
具体的答案请看我写的嵌入式面试题汇总:https://blog.csdn.net/qq_27262727/article/details/105003729#13%E3%80%81%E5%A0%86%E5%92%8C%E6%A0%88%E4%BD%BF%E7%94%A8%E4%B8%8A%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB