一面
- 自我介绍
- 编程题目1:在m*n的网格中找特定的字符串【字符串可以上下左右网格行走】是否存在
- 比如3*3的网格,每个网格一个字符,【hen iai xin】在里面找ai ,可以找到3个
- 编程题目2:两个链表尾部对齐相加
- 思路1:链表变成vector,尾部相加之后,再构建一个链表
- 思路2:链表反转函数,先反转,再相加,再反转
- 虚函数和纯虚函数的区别
- Hadoop和spark有没有用过
- linux找文件用哪个命令
- C++的内存分配方式
- struct和union的区别
- 随机森林和gbdt的区别
- tcp和udp区别,哪个安全,有什么优势
- 训练过程中出现过拟合怎么办
二面(理解题意有点慢,编程还不够熟练)
- 自我介绍(简历上也问了一些问题)
- 编程题目:二叉树,输出所有根到叶子结点的路径和为sum的路径
- 如何维护一个有序的map【从数据结构的角度考虑】
- 有一个map,map里面有key和value【count】,随机M个(要求根据count的数量,count小的随机出来的概率要小)
- 相互交流提问