简短的自我介绍后,
那我们来做题吧:
两个数组A、B,A包含B,B中无重复元素,A中有。要求做一个排序,把B排前面,剩余的A排后面但要有序。
思路:先遍历一遍A,把A的信息用字典存好。然后再遍历B,用A的字典依次把B中的元素挑出来排好。剩下的A的元素,用一种排序算法排好放到后面就可以了。
2. 找到出现超过数组(无序)长度一半的数。不需要知道出现多少次,找到这个数就好。要求时复O(n), 空复O(1).
思路:只遍历一遍数组就可以,用两个变量,一个标记变量一个count。遍历到最后,存储的那个标记变量就是要找的超过一半的数。
3. 问了下DFS和BFS 一般是循环的用它们还是递归的用它们?
循环的话,DFS用堆栈,BFS用队列。 不这样的话就递归的用吧。
linux:
问了下shell命令
怎么看进程?(直接top😂….菜是原罪)
怎么看log呢? 几个G的那种log呢?怎么查看你想要的log信息 (看log一般,cat tail 然后 emmm….)
机器学习相关的
- 评价指标说一下?
分类的话,准确率、召回
我做分割检测,基本就是map转 - AUC说一下(TP-FP roc下的面积) 用来评价模型分类性能好坏的
- 你说下机器学习的算法,哪个了解多一些?
SVM很水的扯了一下,它的核函数呢?常用的哪些?高斯函数一般什么时候用?转对偶的时候哪里用到核了? - 说一下softmax 我说了能把无穷压缩到0~1 and blablabla..... . 好接着问:
- 为啥要归一化?(消除数据量纲差,可以剔除一些异常值,会使得模型收敛快一些也好一些,计算友好度也会稍微好一些)
- 强化学习?Graph Embedding?了解吗?
好吧 他们那边是主要用DL模型做排序和召回 比较推荐的业务需求。
最末:面试官声音好听也温油,但鄙人,菜是原罪。查漏补缺攒人品,大家都加油!!!