足下科技C++笔试 + 面试

笔试(感觉算一面):

开共享屏幕,手写 std::vector。  

只学过理论,没手写过,结果全用 C 实现了,用的全是 memset 那一坨,只支持平凡类型。最后面试官提醒我才想到,不过没给时间重新写了。

---

次日一面,问得挺深的,很多追问。  
面试官没开摄像头。最后没给反问、没提公司,感觉也不是太满意,应该是寄了。

- 复盘笔试。
- vector 扩容机制?
- 对存储的类的构造函数有什么要求?(何时移动,何时拷贝)

- TCP 和 UDP 的区别。

- 模板实例化时机。
- 模板与宏的编译有什么区别? 
- 拷贝构造函数。
    无限递归(循环拷贝)问题。没答上来。

问实习:

- 为什么离职?
- 觉得比较有意义的产出。
- 有没有用 git 多人协作经验。
- git rebase 和 git merge 的区别。
- 介绍下用的某个库。

项目(webserver):
点开仓库看代码,有点拷打。

- 发送的时候,缓冲区满了怎么办?
- 接收的时候,缓冲区满了怎么办?
- epoll 水平触发和边缘触发。
- onWrite 和 onRead 干了啥?
- EAGAIN 和 EWOULDBLOCK 的处理。
    有点看不懂当时怎么写的了,面试官怀疑我是直接抄的...
- 怎么没有 client 实现?
- 怎么处理粘包和拼接?
- 有没有自己实现一套新的协议?
- 线程池实现。有没有用信号量?
    答没有,但面试官表示有,指里面的条件变量给我看。我以为说的 semaphore... 更怀疑我是直接抄的了。
- 线程池构造和析构逻辑?怎么优雅退出?

最后:

- 问我简历上写的 io_uring 是什么,给他介绍了一下。  
    面试官表示这个应该没什么用。
全部评论

相关推荐

昨天 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务