实习面试经历(2)--滴滴C++开发实习面试(已oc)
今天下午参加了滴滴C++后端开发岗位的面试,一下午完成了一面、二面。做简单记录。
一面:
一面比较水,问的问题都比较开放,也比较杂,面试官也很和蔼(是个女面试官),后面还给了很多建议,让我二面的时候用(笔芯)。面试时长40分钟左右。
一、项目
1 RPC机制怎样实现的,是自己写的还是开源的代码?
2 负载均衡是怎样实现的?
3 商业用的负载均衡中间件LVS、Ngnix了解过吗?
二、C++
1 简单写了一下代码:将两个vector拼接起来
三、算法模型部署
1 项目一(CV的一个项目)中在模型部署时有做优化吗?
2 pytorch中关于DAG图、op算子等模型优化有了解吗?
二面:
二面问得就比较干货了,整个简历上的内容几乎都被问了一遍,项目是重点,翻来覆去的问。中间穿插了C++、计算机网络、操作系统、网络编程、C++内存管理等等很多内容。
一、项目
1 介绍一下你简历上的两个项目
2 项目一中你负责的模块的功能和具体实现
3 项目一中你们的输入图像size是多少?
4 项目一中遇到了哪些难点?
5 项目二中RPC机制是怎么实现的?
6 项目二中负载均衡是怎么做的?自己做的还是中间件?
7 项目二中mysql-redis主从数据同步,如果主节点挂了怎么办?
8 项目二中mysql-redis主从数据同步,怎么实现全量同步和增量同步?
9 网络服务器中负载均衡器是如何实现高可用的,你了解吗?
二、网络编程
1 常用的IO复用模型
2 epoll的优势有哪些?
3 从socket的角度解释TCP的连接建立过程
4 TCP断开连接的过程
5 K8s等容器了解吗?
三、C++
1 C++中struct和class的区别?
2 面向对象编程的三大特性,谈谈你的理解
3 左值引用和右值引用
4 谈一下你对friend关键字的认识
5 STL中map是如何实现的?
6 从内存管理和操作系统的角度分析C语言中malloc函数的工作原理
7 内存管理中如何处理OOM错误的?
8 Linux的cgroups了解吗?
四、算法
1 实现循环双向链表的插入、删除、查询的等操作
五、其他
1 你有什么想要问的吗?
总结:
1 项目挖得还是比较深的,也得承认学校里的项目在工业界看来各方面深度都是有欠缺的
2 C/C++语言的内存方面很需要深挖,面试官也给我推荐了几本书
3 需要深入了解一下k8s容器、Ngnix等主流中间件,可以加分
后来了解了一下,该岗位为滴滴AIot部,做算法落地方向的,所以比较注重算法落地方面的实践。
#暑期实习#