1、 自我介绍
2、 在介绍一下你的项目(面试官对云量仪项目比较感兴趣,让我详细说一下,重点说了传输的流程)
3、 多个线程之间是怎么实现同步的
4、 手撕代码
{2,4,6,8,128,512} 返回数组除以第一个数的结果
C++部分
1、 指针和引用的区别
2、 new和malloc实现流程,malloc和new怎么判断是否分配成功;
3、 在项目中有没有遇到字节对齐的问题,字节对齐原理说一下;
4、 static的作用
5、 面向对象三大特性,说一下多态怎么实现的
6、 菱形继承说一下,会有什么问题,怎么解决该问题。
操作系统部分
1、 进程和线程的区别;
2、 创建子进程的方式;
3、 说一下僵尸进程,后来又问了如何避免僵尸进程?wait()函数说一下
4、 服务端怎么写的?有没有用到epoll、poll、select这些技术?
我说是通过创建进程实现的,然后面试官又从怎么创建进程问了一堆?
网络部分
1、 TCP和UDP的区别;
2、 TCP的可靠传输怎么实现的;
3、 UDP好还是TCP好?比如家用电视直播用UDP还是TCP
4、 TCP在最后一次挥手的时候有一个TIME_WAIT状态,有什么用?
如果不考虑你说的保证可靠这个条件,TIME_WAIT有什么弊端?
5、 DHCP协议知道吗?说一下
6、 http和https的区别?
7、 你项目中的socket是怎么实现的,是用的是QT的库吗?你的协议有没有进行加密?