CVTE C/C++ 实习面试凉经

在线笔试

在线测试的主要内容就是20道选择题和两道编程题。

选择题就是一些八股文,具体记不清了。反正对面试影响不大。

两道编程题是:

  1. 求给定一个数组经过降序排序之后,前30%中最小的数。
  2. 给一组IP vector ips,求子网掩码的最大长度。

面试

1.自我介绍

2.看你简历上说你有一次实习经历,你的收获是什么?

3.在实习中你有了解过软件开发的生命周期是怎么样的呢?

4.你在实习的时候有解决过什么bug吗,有没有学到或者是有没有一些解决问题的心得方法?

5.有学过一些设计模式吗?

6.类的封装或设计上你有没有什么设计思想或者是一些指导思想?

7.我看你写了一个web服务器项目,有用到哪些开源组件吗

8.你能介绍一下你的这个项目整体设计是什么样的?分了几个线程或者是线程,每个线程职责是什么?或者说从类的分工上分了几个层次或者框架,你能简单介绍一下你的这个程序的设计吗?

9.你这个项目用的是get方法来获取资源 ,你这个程序是只能下载不能上传的吗?

10.那么如果下载的是一个大文件,有没有支持断点续传功能呢?

11.你这里用到了get请求,有没有了解过http请求的一个效率问题呢?get请求和post请求数据量一致的情况下哪一个效率会更高一点呢,为什么?

12.你这里epoll选择的是ET、还是LT为什么?

13.都说epoll比select和poll高效,那么高效的原因是什么?

14.你这个程序的话,是一个web服务器,那现在我们发散一下,改成一个CDN服务器,就像我们现在用的视频会议工具有个视频流传输,要做到实时级别视频级别的服务器的话,底层就传输层协议可能不用TCP实现,而是用UDP实现,因为我们都知道UDP实时性能要高一点。现在场景是传输层我用UDP实现,但应用层协议我还没敲定,我的要求是能够有一个更好的可靠性,如果既要保证实时性又要保证可靠性的话,你会怎么去实现呢?

15.你是否有了解过满足我刚刚说的要求的应用层协议呢?

16.你刚刚提到有用到线程池,那么你有了解过线程池的线程数初始值根据什么来决定。

17.那你有测过你的webserver的并发数吗?

18.在STL你会用到哪些容器呢?

19.你刚刚说到vector中动态扩容,那为什么是1.5倍或者是2倍?

20.map查找上是什么样的复杂度?

21.你在做算法题或者项目功能时,有什么调试方法保证运行逻辑和你预期是一致的?

22.你有了解过程序崩溃的时候,应该怎么去排查呢?

23.你刚刚提到内存泄漏,那C++上有提供了一些好用的方法来解决这个问题,比如智能指针,你有了解过或用过吗?

24.你对自己学习规划有什么想法吗?

反问

  • 如果有机会到贵公司实习,主要工作是什么呢?

  • 我想走后端开发应该要注重哪些方面学习,或者说刚刚面试下来我有哪些不足呢?

虽然最后还是面试挂了,但是主要是因为自己理论和实践确实都太缺了,面试经验不足比较紧张导致这个面试失败,但是面试官还是坚持和我聊了1h,也给提出了有价值的意见,也算是有所收获了。

#24届实习##C++面经#
全部评论

相关推荐

8 53 评论
分享
牛客网
牛客企业服务