首先是自我介绍,然后询问了一下我这个专业(控制工程)与计算机专业区别?自己是否对后端有相关的了解和学习?
操作系统:
1,对于操作系统了解了哪些东西?(回答了线程、进程,物理内存和虚拟内存)
2,(针对我的回答问)那针对物理内存和虚拟内存了解哪些?
3,如果(不使用虚拟内存)使用物理内存,可能会出现哪些问题?(回答了一段)(提示)如果同时运行几个程序,有没有可能同时使用到同一段物理内存?(提示)如果直接使用物理内存,在指定内存位置时,是否会出现不存在的情况?(提示)程序在运行时,可能一开始并不知道自己需要开辟多大的内存,如果直接使用物理内存,会造成空间难以分配的的问题
4,(针对我的回答)用自己的理解说一下线程和进程的区别,进程切换开销比线程大,具体有哪些开销呢?
5,进程从启动到加载的过程是怎么样的?(区别一下操作系统的加载)
6,磁盘管理,内存管理,进程调度是否了解?(提示多了解一下底层原理)
计算机网络:
7,TCP和UDP的运用场景有哪些?
8,TCP的可靠性是通过哪些机制执行的?()
9,(针对回答)能否讲一下拥塞控制?
10,(针对流量控制)通信双方在链路上有拥塞控制的方式进行流量控制,那么在通信双方上,有什么流量控制的方式?(提示)如果发送方发送100k的数据,而接收方只有10k的缓存,如果保证数据的有效传输
11,如果传输过程出现丢包的情况,应该怎么做?(针对回答)通信双方传输数据是只发一个包还是一次发多个包?(针对回答)接收方是如何对该段数据包进行确认呢?(提示多包发送是每一包都回复确认吗?)
12,如果发送方先发了数据包编号1,数据包编码2,如果数据包2先到达接收方,这个时候接收方会怎么做?(提示接收方如果是乱序接收,如何保证数据有序性?)
13,TCP是可靠的传输,UDP是不可靠的传输,那么本质的原因是因为数据包在传输过程中会出现哪些意外?
14,(针对回答)通信双方如果出现宕机的情况,那么会有什么样的机制处理这种情况?
C++:
15,是否了解内存模型?(提示如果写一个类的实例对象,那么在内存中分为哪几个部分?)(提示常量、静态变量、虚函数表)(提示new产生一个对象时,内存模型是怎么样的?)
16,父类中定义了一个虚函数,子类继承该虚函数,那么在内存中调用虚函数过程的机制是怎么样的?
17,一般给一个指针开辟空间后需要主动释放内存,如果已知一个对象的生命周期很短,如何写一个工具类能够帮助释放内存?
18,C++的析构函数的触发机制和调用事项是否了解?
19,C++作为面向对象语言,如果理解面向对象的?(针对回答)从某中意义上讲,底层都是指令集,为什么C++能够面向对象而C不行?(那么C与C++本质是有区别还是无区别的呢?)(针对回答提到封装)如果完全用C进行语言封装,是否能够达到C++的面向对象的效果?
20,如何理解继承和多继承?
21,设计模式了解哪些?(针对回答)单例模式中双检索如果变成一次会有什么影响?
数据库:
22,MySQL只是学习还是有实践应用?在使用过程觉得有哪些注意事项?抛开语法的错误使用外,使用MySQL需要注意哪些东西呢?
23,MySQL中使用到的数据结构是什么?
24,了解哪些数据结构?是否了解一些复杂的二叉树?(针对回答)这些二叉树本身可以解决什么问题,存在哪些问题,又是如何进行改进的?(针对回答)为什么需要引入红黑树?
全部评论
(8) 回帖