Momenta系统研发C++实习生(base上海,OC)
base上海,飞书视频面,不要求开摄像头;通过Boss投递,9/8下午一面,9/11下午二面,效率相对较高;
针对简历上AD的相关科研项目,两轮面试都问了将近十分钟。
一面:
总时长1h
-
项目
针对项目问得非常详细,做的是一个重识别的智慧泊车系统,从个人负责哪些部分、项目总体架构,一直问到寻路算法、重识别模型、端到端用的什么通信协议,回答得比较磕磕绊绊
-
C++八股
- C++与python的区别,你认为哪个方便(简历上写了会C++和Python)
- 简述你用过的C++11新特性(回答了auto、nullptr、智能指针)
- 面向对象三大特性(封装、多态、继承)
- 多态实现方式(基类指针调用虚函数、子类重写)
- 虚函数底层实现(虚函数表)
- 纯虚函数是什么
- C++内存分区
- 智能指针有了解过吗?主要功能是什么
- shared_ptr的实现原理简要概述、与unique_ptr的区别
- memcpy有用过吗,简述实现原理
- memcpy如果两个内存区域有交叉,怎么处理?(实际上问的就是memmove底层原理,逆序拷贝)
- 常见STL容器底层原理(Vector、list)
- Vector和list的区别?(数据结构--数组链表)
-
计网八股
-
数据包传输原理?(问题没太听懂,后面改为丢包怎么应对的)
-
隧道(VPN)的原理
-
TCP、UDP的区别
-
TCP三次握手、四次挥手
-
TCP超时重传机制
-
C++ socket常见接口(socket bind listen accept send recv connect)
-
-
并发
- 进程和线程的区别?
- 多线程和多进程的使用场景、特点?
- 死锁的定义?有什么方法可以应对死锁?
- 互斥锁、自旋锁的区别?
- 有没有用过线程池(答:没有)
- 多线程如何通信?
-
算法
手写反转链表,非常基础
二面:
面的很快,总时长20min~30min,部分问题记不清了
-
项目
重新准备了一下项目的表述,与一面问题类似,二面偏向于问算法模型的具体结构(例如问重识别模型的损失函数怎么设计的)
-
C++八股
- 简述你用过的C++11新特性(重复)
- shared_ptr底层原理(重复)
- Vector和list的区别?(重复)
- Vector动态扩容实现原理
-
其它
- Linux常用命令有哪些?
- 熟悉的数据结构?
-
算法
口述股票问题解法,同样比较简单
二面半小时后OC,整体而言问得比较基础。
#momenta实习##momenta面经##momenta##魔门塔#