元戎启行面经
岗位:软件开发工程师
一面:
(1)聊项目
(2)算法:回文子串(可以不连在一起,******** 上substr和subsequence的区别,一开始理解错意思了,写了一段错误的代码)的数量,二维dp,而且不是按照ij递增顺序来推导的,没写出来。面试官把代码放上来讲了一下dp[i][j]的含义和状态方程什么意思。
二面:
delete会把内存还给操作系统吗
虚拟内存和物理内存
tcmalloc和malloc
复制构造函数,拷贝构造,移动语义
vector的底层原理
算法:二叉树寻找最小路径(回溯比较简单)。
虚拟内存和物理内存
tcmalloc和malloc
复制构造函数,拷贝构造,移动语义
vector的底层原理
算法:二叉树寻找最小路径(回溯比较简单)。
三面:
介绍raft---->与paxos协议区别,raft与分布式事务区别(不太明白分布式事务,建议我读数据密集型应用系统设计这本书)
虚函数,多重继承下的虚函数(多重继承下编译器的实现可能不一样,这点答错了)
智能指针 继续问make_shared(应该没答好,只是从内存角度上说了一点点,大家可以参考boost库的文档),shared_ptr线程安全吗
左值右值,继续问std::move 和std::forward(讲了一下perfect_forwarding)
map和unordered_map,继续问为什么map用红黑树不用AVL树(不清楚红黑树平衡的原理和优势)
B+树
问:能不能来实习(这学期不行)
虚函数,多重继承下的虚函数(多重继承下编译器的实现可能不一样,这点答错了)
智能指针 继续问make_shared(应该没答好,只是从内存角度上说了一点点,大家可以参考boost库的文档),shared_ptr线程安全吗
左值右值,继续问std::move 和std::forward(讲了一下perfect_forwarding)
map和unordered_map,继续问为什么map用红黑树不用AVL树(不清楚红黑树平衡的原理和优势)
B+树
问:能不能来实习(这学期不行)
已收到感谢信