7.7投递,分配到做分布式存储的部门,7.14一面挂,后被小度捞,7.30一二面,8.2三面,8.3HR面,已发意向书
一面:
- shared_ptr weak_ptr 区别 怎么使用的 用在哪个地方2. 什么场景下用 weak_ptr
- 出现循环引用时怎么主动释放
- 了解哪些网络库?(提到libevent asio ace)
- one loop per thread 模型讲一下
- 设计的内核大概实现了哪些功能?
- 进程调度是怎么实现的?
- 在文件系统里进行write系统调用是怎么实现的?
- Page cache 页缓存
- 优先级是怎么设置的?
- 文件系统大概是怎么实现的?
- 参考了哪个内核
- ext2 ext3文件系统
- 文件系统有缓存吗
- 一致性哈希有了解吗? Raft算法
- 知道哪些加密算法?
- C++11 特性
- 平时会看一些技术书籍吗?
- 对书籍的哪些章节感兴趣?
- 手撕二叉树最长路径
小度:
一面:
全程八股
1. 输入URL后发生了什么
2. C++从源文件到可执行文件的过程
3. 报文经路由转发的过程
4. 流量控制,拥塞控制
5. TIMEOUT CLOSEOUT
6. 进程线程
7. 数据库锁说一下
8. 如何减小数据库锁的使用粒度(好像是这么问的,记不太清了
9. 剩下记不清了
10. 手撕反转二叉树,递归 + 迭代两种实现方式
结束让等二面面试官,10分钟后开始二面
二面:
全程项目
nginx了解吗
http状态码204 501 502知道吗,301 302 304什么区别?
怎么实现webserver的keep-alive功能?
实现的网络库对于使用者有没有提供更偏业务层面的一些功能,举例用网络库实现webserver的url路由,目前需要使用者自己解析路径处理,网络库中应该提供怎样的设施。(没听太明白,一顿瞎扯。。。)
epoll有没有发生从内核态到用户态的拷贝?
手撕时间O(n),空间O(1)去除字符串中空格
手撕实现有序双向链表,支持插入,删除操作
改为线程安全版本
如何优化,避免每次插入一个数就锁定整个链表
三面:
实验室项目,算法实现原理,有没有什么优化措施(没有。。。)
场景:手机投屏到电视失败,如何排查错误
手撕:atoi,需要考虑几种情况(符号、错误字符、在[INT_MIN, INT_MAX]范围之外等等)
hr:
语速极快,听着很累。。
家在哪里,投了哪些公司,期望薪资,能实习吗(不强求)
。。。
已意向书
最后顺便推荐一下牛客的《C++岗位面试真题宝典》专刊,这个里面包括C++岗面试常考的八股文及答案,内容比较全,解答也挺专业的。我现在正在学,性价比还是很高的
全部评论
(1) 回帖