CVTE C++一面凉经

CVTE一面凉经

没什么项目也没实习,一开始自我介绍时说了线程池(没什么可以说的, 说自己看过啥有点欲盖弥彰的感觉)

问线程池线程数怎么指定的,这里我是在构造函数指定的,后来回想起来应该答
核心数+线程等待时间/线程CPU时间
如果是IO密集型就2N+1
否则就N+1

进程和线程
说了下linux中进程和线程的数据结构和书上看的写时复制,切换开销忘了说,一开始答的时候有点懵,扯着扯着扯到了进程间通信, 说线程和进程之间的通信方式不同扯了IPC工具
附书上的截图


有名和无名管道(只知道FIFO,忘了这个)
虚拟内存(没复习)


接着是C++基础
多态
虚函数原理(这里我好像讲错了,说成虚表在构造函数填好)
虚析构
stl容器
直接说有序,关联和C++11新增的无序
vector扩容
问了C++11智能指针
之前遗留下来的auto_ptr, shared_ptr, unique_ptr, 还有解决环形引用的weak_ptr
本来应该从共享所属权和独享所属权介绍下的, 不知道时太紧张还是什么,就说出来没介绍
环形引用也没讲到点上,只说了下weak_ptr共享但并不拥有, 在使用的时候会构造一个share_ptr
语句结束再析构, 所以不会增加use_count 这样设计的目的也没说出来, 感觉讲的不清不楚(C++11 标准库那里看的)

网络
tcp vs udp
说了下概念,保证有序,重复检测丢失重传,下次还是把tcp头的seq ack, udp头的校验码和长度也说了 )
udp可靠
之前一直有看到过没怎么想过,这里答的时候参考tcp只加了个seq字段,现在想想感觉还要加ack。。
tcp流量控制
由于总结过讲的很清楚,就差零窗口通告和零窗口探测没讲了

最后是算法题
找单链表交叉点
之前在面试中被问到过,不过是已知条件中有长度,这次没有
说个n^2(我在做什么) ,再说了个哈希表的方法(感觉大材小用了, 事后回想没给长度不会先找长度吗。。。这个方式虽然是o(2m)好歹也比哈希表正常多了 )

下午立马红了,真快
#面经##校招##广州视源电子科技股份有限公司##C++工程师#
全部评论
udp可靠那个问题可以看一下QUIC协议,这个协议就是基于udp实现的一个类似https的东西,可以借鉴一下里面的一些思想
1 回复
分享
发布于 2021-01-08 18:38

相关推荐

头像
03-23 02:34
Java
点赞 评论 收藏
转发
2 15 评论
分享
牛客网
牛客企业服务