首页 > 面试复盘|京东C++开发工程师 一面(已凉)
头像
月夜面尊
编辑于 2021-08-29 13:49
+ 关注

面试复盘|京东C++开发工程师 一面(已凉)

面试时间:74分钟
面试官:精神小伙

  1. 开局自我介绍
  2. 开幕雷击,面试官说简历收到10份,有5份都是这个web服务器,还去github看了原来的项目,3.2kfork。问我的跟他的有什么不同,参考了多少(此时打脸,我放了github链接),面试官点开链接去对比,发现目录结构都是一样的。。。
  3. 只好如实回答,参考的,思路别人的。
  4. 面试官问我有没有改进:我提到了几点
  5. 讲一下select和epoll的不同
  6. 讲一下select的底层实现,了解吗?我这边说错了。。。面试官说我不对
  7. 讲一下epoll的底层实现,源码了解吗?
  8. 讲一下升序链表是怎么操作的,定时器?
  9. 定时器是怎么和主线程交互的?epoll统一事件源,通过管道,传递信号。
  10. 链表怎么删除增加的,有效期多少
  11. 日志系统是用的开源的,还是自己写了一个日志库?答:就是一个非常简单的往文件写入的系统
  12. 讲讲webbench,你是怎么弄得,讲原理。因为我自己重写了一个webbench,又开始讲里面细节,还说到了我里面的一个错误...
  13. 讲讲协程,你实现了一个协程库?怎么实现的,用的是linux的底层函数。 都保存了什么信息?答:各种寄存器。后面还提到了用汇编来更快,保存的也更少
  14. 协程的好处,有了线程为什么还要协程。
  15. C++模版,模版里面只能传递类型吗?答:不是的,还能传递变量
  16. C++模版是什么时候确定类型的。答:这里打错了,应该是全部在编译时期
  17. C++里面的智能指针了解吗?都有哪些 讲讲
  18. 为什么要有weak_ptr
  19. shared_ptr引用计数是线程安全的吗?
  20. 自旋锁 cas里面有哪几步?两步对吧,那怎么保证他们这两步是原子性的呢?有没有看过底层实现?没有
  21. 讲讲移动语义?你的意思是移动之后原来的就不能用了吗?如果移动的是左值,左值也不能用了 吗?这块答得不好,细节一扣有点露馅
  22. 讲讲完美转发,是干什么的
  23. 讲讲unordered_map和map,底层实现?增删改查复杂度是多大的?
  24. 平时是怎么调试程序的?gbd
  25. 常用的gdb命令有哪些?如何调试多线程呢?
  26. 有没有遇到过程序崩溃的情况?条件反应 core dump,然后问如何调试core dump? 如何定位错误?
算法题:

240. 搜索二维矩阵 II


反问:部门技术栈?做推荐架构的
学习方向?做一些工业级的项目,别做开源的demo项目,不知道你的具体实力。
说实话,京东面试很离谱,最后问一下有什么不足需要后面继续学习的地方,面试官说都挺好的,然后反手给挂了~无语

还有一些细节的东西可能忘了,想起来再补充

更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐