足下科技C++笔试 + 面试
笔试(感觉算一面):
开共享屏幕,手写 std::vector。
只学过理论,没手写过,结果全用 C 实现了,用的全是 memset 那一坨,只支持平凡类型。最后面试官提醒我才想到,不过没给时间重新写了。
---
次日一面,问得挺深的,很多追问。
面试官没开摄像头。最后没给反问、没提公司,感觉也不是太满意,应该是寄了。
- 复盘笔试。
- vector 扩容机制?
- 对存储的类的构造函数有什么要求?(何时移动,何时拷贝)
- TCP 和 UDP 的区别。
- 模板实例化时机。
- 模板与宏的编译有什么区别?
- 拷贝构造函数。
无限递归(循环拷贝)问题。没答上来。
问实习:
- 为什么离职?
- 觉得比较有意义的产出。
- 有没有用 git 多人协作经验。
- git rebase 和 git merge 的区别。
- 介绍下用的某个库。
项目(webserver):
点开仓库看代码,有点拷打。
- 发送的时候,缓冲区满了怎么办?
- 接收的时候,缓冲区满了怎么办?
- epoll 水平触发和边缘触发。
- onWrite 和 onRead 干了啥?
- EAGAIN 和 EWOULDBLOCK 的处理。
有点看不懂当时怎么写的了,面试官怀疑我是直接抄的...
- 怎么没有 client 实现?
- 怎么处理粘包和拼接?
- 有没有自己实现一套新的协议?
- 线程池实现。有没有用信号量?
答没有,但面试官表示有,指里面的条件变量给我看。我以为说的 semaphore... 更怀疑我是直接抄的了。
- 线程池构造和析构逻辑?怎么优雅退出?
最后:
- 问我简历上写的 io_uring 是什么,给他介绍了一下。
面试官表示这个应该没什么用。
开共享屏幕,手写 std::vector。
只学过理论,没手写过,结果全用 C 实现了,用的全是 memset 那一坨,只支持平凡类型。最后面试官提醒我才想到,不过没给时间重新写了。
---
次日一面,问得挺深的,很多追问。
面试官没开摄像头。最后没给反问、没提公司,感觉也不是太满意,应该是寄了。
- 复盘笔试。
- vector 扩容机制?
- 对存储的类的构造函数有什么要求?(何时移动,何时拷贝)
- TCP 和 UDP 的区别。
- 模板实例化时机。
- 模板与宏的编译有什么区别?
- 拷贝构造函数。
无限递归(循环拷贝)问题。没答上来。
问实习:
- 为什么离职?
- 觉得比较有意义的产出。
- 有没有用 git 多人协作经验。
- git rebase 和 git merge 的区别。
- 介绍下用的某个库。
项目(webserver):
点开仓库看代码,有点拷打。
- 发送的时候,缓冲区满了怎么办?
- 接收的时候,缓冲区满了怎么办?
- epoll 水平触发和边缘触发。
- onWrite 和 onRead 干了啥?
- EAGAIN 和 EWOULDBLOCK 的处理。
有点看不懂当时怎么写的了,面试官怀疑我是直接抄的...
- 怎么没有 client 实现?
- 怎么处理粘包和拼接?
- 有没有自己实现一套新的协议?
- 线程池实现。有没有用信号量?
答没有,但面试官表示有,指里面的条件变量给我看。我以为说的 semaphore... 更怀疑我是直接抄的了。
- 线程池构造和析构逻辑?怎么优雅退出?
最后:
- 问我简历上写的 io_uring 是什么,给他介绍了一下。
面试官表示这个应该没什么用。
全部评论
相关推荐
06-10 19:06
门头沟学院 C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享