前言
12.1投的简历,12.4线上笔试,方向是C/C++软件开发方向,笔试题都不难。
12.17 技术面一面,65分钟
因为已经过去太久了,只记得七七八八,面试官问了一大堆。
- 怎么学C++的?(自学),他说他也是。
- 多态怎么实现,底层原理?构造函数可以是虚函数吗?析构函数可以是纯虚函数吗?钻石继承是什么?怎么解决?
- 三种继承方式对应的访问级别,什么能访问什么不能?
- 动态库和静态库,动态链接和静态链接
- 智能指针的底层实现,各自的特点和问题?
- C++一个类的内存布局,为什么要这么设计,好处是什么?
- vector装shared_ptr,析构的时候怎么样,shared_ptr指向vector呢?
- 模板的template和具体函数实现能不能分开做?
- TCP和UDP的区别,为什么TCP可靠?
- ARP工作流程
- 说说三次握手,四次挥手,如果连接过程中另一方突然断电会怎么样?
- 线程池实现思路,有什么优点?
- 进程和线程的联系,说说进程间的通信(pipe、fifo、消息队列、共享内存、信号量、socket,要联系起来展开说)和线程同步
- 说说fork
- 递归锁听过吗,死锁是什么?怎么解决?
只记得这些了,有些东西问的很底层,还问了他工作中遇到的问题,因为过得比较久,就忘了很多。
最后做了三道算法,说思路。一道是寻找数组中出现次数最多的那个数,一道是寻找两个数组的交集,还有一道位运算的,不太记得了。
12.19技术面二面,30分钟
- 全程在问简历上的项目,而且问的比较细,会做很多延伸,问你怎么解决。
- C++20标准
- C++后台开发主要做什么?(因为我说了我是学后台的)
- 平时怎么学习的,对公司有什么要求?
1.15综合面试,18分钟
- 你是电子信息工程专业,不是硬件吗?为什么做软件方面的工作?(强行解释了一波电子信息工程并不是硬件)
- 为什么选择做C++?
- 给你前面的面试打分
- 你对上班时间的看法?
- 你毕业后期望薪资是多少?
- 你平时怎么学习的?
- 你遇到过最大的挫折/困难是什么?从中得到什么感悟?
- 你的父母是做什么工作的?对你找工作是什么看法?
- 你还有什么要问我的吗?