2020实习 蚂蚁金服网络技术部 c++开发
这是三面吧?第一次面试,第二次测试代码,第三次了这已经……
聊了一个小时,口吐白沫,来不及歇一歇,热乎乎的面经,希望对你们有帮助。😂😂
一上来就问我绝命题,你认为你哪里学的好?
我说那就c 开始吧,一上来问我虚函数,虚表里面函数怎么排的,子类里面有虚函数父类里面没有怎么安排虚表,怎么从虚表找到函数指针。真是虚函数问的刨根问底。
右值引用解决什么问题?这是c 11的考察。
之后让我讲了一堆的你对c 哪里用的比较好,有什么理解,巴拉巴拉,没有明确问题的问题。我就很没办法,提到了stl,什么迭代器,算法,dequeue啥的,各种知道的都说了。建议你们看看traits和iterator的设计,还有那个allocator二级内存配置,那个讲出来很多面试官都爱听真的。
后面开始问我你对数据结构了解吗,问了我三张排序,快排,堆排,归并排序都什么优缺点,我就说了一些,然后问我stl里面的sort咋用的,我就说肯定会根据数据的大小和类型选择不同的排序方法,是复合的。我说我没看源码上课听的。
后面问我Linux,我Linux用了两年,让我自由发挥的讲,我就开始从内核调度讲到进程创建,一顿神侃,毕竟早上刚复习了一下。
后面就问我网络编程的内容,怎么个流程,我是socket编程比较多,最后问我epoll哪里好了,et和lt什么区别,我讲的不是很完整,他提醒我接受数据我才想起来连忙补上,挽救了一波,😥。
后面就开始来协议,tcp协议握手挥手,time wait咋回事,我就讲了一些为什么挥手要四次不是三次就再见。time wait讲的有瑕疵,一半一半吧。问我tcp实现可靠传输的机制,校验什么的吧,还真没研究,都是学拥塞控制,流量控制啥的
后面又开始问我ip协议,我说学了,记不住,协议好难背,适当撒娇,咳咳,没用吧
因为我以前做过ARM嵌入式开发,so,问我ARM汇编那些了解么,我说有了解一下,做过bootloader(很low)然后,就问我arm和x86区别,我说肯定有区别要不然还交叉编译什么,arm是精简指令集吧,问我arm是小端还是大端,我说小端,他说不对都支持,好吧~_~。
问我函数调用时,函数的参数在底层存在哪里?我说是前三个寄存器,R0到R2还是R1到R3不够用再压栈,他说是R0到R3,fine
问我怎么配置一个驱动,我就说有三种寄存器,一种就是配置寄存器,一种是数据寄存器,还有状态寄存器。大多数分这三种。然后,设置什么的,巴拉巴拉。
最后问我你怎么知道自己设置成功了,我说让它返回一个值,用串口啥的读取到状态。他的意思是让我用中断吧,我说中断也是,高低电平跳变啥的,数据变化溢出之类的,他说好。
到此结束,好累,我去吃饭了,下午晚点再刷算法吧。加油!#面经##实习##阿里巴巴##蚂蚁集团##C++工程师#
聊了一个小时,口吐白沫,来不及歇一歇,热乎乎的面经,希望对你们有帮助。😂😂
一上来就问我绝命题,你认为你哪里学的好?
我说那就c 开始吧,一上来问我虚函数,虚表里面函数怎么排的,子类里面有虚函数父类里面没有怎么安排虚表,怎么从虚表找到函数指针。真是虚函数问的刨根问底。
右值引用解决什么问题?这是c 11的考察。
之后让我讲了一堆的你对c 哪里用的比较好,有什么理解,巴拉巴拉,没有明确问题的问题。我就很没办法,提到了stl,什么迭代器,算法,dequeue啥的,各种知道的都说了。建议你们看看traits和iterator的设计,还有那个allocator二级内存配置,那个讲出来很多面试官都爱听真的。
后面开始问我你对数据结构了解吗,问了我三张排序,快排,堆排,归并排序都什么优缺点,我就说了一些,然后问我stl里面的sort咋用的,我就说肯定会根据数据的大小和类型选择不同的排序方法,是复合的。我说我没看源码上课听的。
后面问我Linux,我Linux用了两年,让我自由发挥的讲,我就开始从内核调度讲到进程创建,一顿神侃,毕竟早上刚复习了一下。
后面就问我网络编程的内容,怎么个流程,我是socket编程比较多,最后问我epoll哪里好了,et和lt什么区别,我讲的不是很完整,他提醒我接受数据我才想起来连忙补上,挽救了一波,😥。
后面就开始来协议,tcp协议握手挥手,time wait咋回事,我就讲了一些为什么挥手要四次不是三次就再见。time wait讲的有瑕疵,一半一半吧。问我tcp实现可靠传输的机制,校验什么的吧,还真没研究,都是学拥塞控制,流量控制啥的
后面又开始问我ip协议,我说学了,记不住,协议好难背,适当撒娇,咳咳,没用吧
因为我以前做过ARM嵌入式开发,so,问我ARM汇编那些了解么,我说有了解一下,做过bootloader(很low)然后,就问我arm和x86区别,我说肯定有区别要不然还交叉编译什么,arm是精简指令集吧,问我arm是小端还是大端,我说小端,他说不对都支持,好吧~_~。
问我函数调用时,函数的参数在底层存在哪里?我说是前三个寄存器,R0到R2还是R1到R3不够用再压栈,他说是R0到R3,fine
问我怎么配置一个驱动,我就说有三种寄存器,一种就是配置寄存器,一种是数据寄存器,还有状态寄存器。大多数分这三种。然后,设置什么的,巴拉巴拉。
最后问我你怎么知道自己设置成功了,我说让它返回一个值,用串口啥的读取到状态。他的意思是让我用中断吧,我说中断也是,高低电平跳变啥的,数据变化溢出之类的,他说好。
到此结束,好累,我去吃饭了,下午晚点再刷算法吧。加油!#面经##实习##阿里巴巴##蚂蚁集团##C++工程师#