Momenta - 智驾后端 - 一面

自我介绍

实习
1. 实习为什么离职?
2. Unittest 的框架是 Google 还是自研?

八股
1. 多线程的要点?
2. 死锁如何解决?如何避免?
3. 线程通信方式?
4. 进程通信方式?
5. 管道的底层实现?
6. 讲一下 GDB
7. C++类型转换
8. dynamic_cast 和 static_cast 使用场景
9. C++ struct 和 class 的区别 ANS
10. C++ vector 和 C 数组的区别 REF
11. vector 底层扩容实现
12. 如何减少 vector 拷贝花销?初始化花销?
13. 如何减少 vector 一次性存入太多元素的内存花销(emplace_back 和 push__back)
14. 讲讲 C++移动语义 move?
15. 静态绑定和动态绑定的区别?
16. 讲一下多态(静态多态、动态多态)
17. 讲一下纯虚函数
18. 为什么类里面包含虚函数,那么析构函数必须是虚函数?
19. 如何避免资源泄漏?
20. shared_ptr 实现方式 
21. 用过哪些设计模式?

闲聊
1. 遇到最困难的点,怎么发现并解决?
2. 反问

无手撕

总结
自我介绍得实习部分讲太久了,后面基本没问了,项目也是一点点都没问。八股被问蒙蔽了,很像高三的时候知识点在脑子深处就是找不到的感觉,有几题大脑直接空白了。
也好,再准备准备,感觉一面纯拷打八股基础知识,二面才会问项目,当然也不知道有没有二面了。

#发面经攒人品#
全部评论

相关推荐

4.8二面 4.14收到感谢信一、项目相关1. 你先做一下自我介绍。2. 你在这个开源社区里贡献了多少代码?3. 你在这个社区里做了多长时间?4. 你喜欢开源吗?为什么?5. 你觉得你一面聊得怎么样?6. 你做过互联网系统吗?比如服务端程序、接口设计、和客户端交互这类。7. 你学过数据库吗?用过数据库吗?8. 你在认证模块里用数据库存了什么?9. 你怎么判断一个 Token 是有效的?10. 密码是前端传过来的吗?前后端传输过程中有没有加密?二、数据库与认证11. 相同密码哈希后结果也相同,如果数据库被脱库,攻击者撞出一个密码后,不就能反推出所有相同哈希值的密码了吗?12. 你了解密码加盐吗?加盐是干什么的?为什么要加盐?13. 你这个盐是什么时候加的?是固定盐还是随机盐?14. 如果 Token 和用户信息存在同一行里,一个用户是不是只能有一个 Token?15. 如果用户在电脑和手机同时登录,想只失效其中一个登录态,应该怎么设计?三、系统设计16. 如果每次校验 Token 都查数据库,像微信这种高并发场景数据库扛得住吗?怎么优化?17. CDN 适合存什么?Redis 应该部署在哪里?四、计算机网络18. HTTPS 是怎么防止中间人攻击的?19. 怎么判断服务端发过来的证书是合法有效的?20. CA 是什么?客户端从哪里拿到 CA 的公钥?21. 每建立一个 HTTPS 连接,都要向互联网请求一次证书吗?证书链是怎么工作的?五、操作系统22. 说一下进程和线程的区别,能有多细说多细。23. 操作系统能感知到协程的存在吗?24. 你写过协程相关的程序吗?六、算法题25. 螺旋数组:按螺旋顺序遍历或填充一个 N×N 的二维数组,N 可以是奇数也可以是偶数。26. 二叉搜索树范围查找:给一个二叉搜索树和区间 [low, high],找出所有值在范围内的节点,并按顺序输出。要求先按非递归实现,后面放宽为递归,并考虑剪枝优化。七、个人相关27. 你觉得你有哪些优点?28. 你觉得自己有哪些需要继续提升的地方?---## 反问环节1. 如果实习生进去的话,主要会负责哪个业务?- 目前很多团队都在招,比如钱包、收银台等,后续会根据面试情况和个人兴趣做分配。钱包侧主要涉及余额、余额明细、转账、提现、充值;收银台侧主要涉及支付方式渲染、支付方式绑定等后台功能。2. 进来以后主要会做分布式业务吗?- 主要还是做后台开发,做互联网后台程序。3. 你觉得我还有哪些地方可以提升?- 如果想进互联网公司,互联网后台相关基础需要系统补一下,比如数据库使用、高并发下的常见处理方式、CDN 的使用场景,以及高并发、数据一致性等常见问题的基本原理和成熟方案。
查看28道真题和解析
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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