上周四面试了平安科技的算法实习生,一直忘记把面试内容记下来,今天抽空记录一下。
投了简历大概一周,终于接到了面试的电话,让我准备一个PPT(很奇怪的要求,问了一下在平安工作的同学说是这样更方便展示)来讲述一下自己以前做过的项目经历,于是第二天花了一天做了一个比较粗糙的PPT(直男审美),PPT的内容只是把自己的简历的东西都贴上去了而已,稍微把硕士上学期做的DL的项目展开讲了一下。
面试的时候,有两个面试官,看起来都是同事,一男一女,虽然给我的联系电话是女面试官的,但是问问题基本都是男面试官在问。我花了10分钟左右介绍了一下自己的PPT,然后就开始问我一些关于深度学习的基础知识。真的很基础,不过有一些还是因为没学过或者记不太清楚所以没答上来。记录一下比较有印象的问题。
1、学过哪些机器学习模型
2、讲一下逻辑回归,是用来做回归还是分类的。(答回归,面试官说其实也可以用来做分类,补充回答:在y=+-1的时候可以用来做分类)
3、讲一下SVM,非线性分类时用什么方法,常用的核函数
4、会决策树和随机森林吗(很尴尬,学到这里的时候学校已经停课了,以前也自学过,不过早就已经忘记了)
5、项目用的编程语言和框架
6、项目中用到的损失函数、梯度下降的方法、VGG的性质和优点
7、听起来项目主要做的是论文的实现,除了实现,对于论文有什么自己的理解吗
8、算法题:曾经刷到过,剑指offer的第一题,稍微改了一下从上到下递增改为递减。(没让手撕,只是讲了一下思路)
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递减的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
答:先找到角落的那个数,然后再一行一行遍历。(面试官点头,说这是一个比较快的方法,慢的方法就是一行一行遍历)
现在把答案写一下,先找到左上角,如果这个数比数组的数大,那么往右;如果这个数比数组的数小,那么往下。
class Solution:
def Find(self, target, array):
if not array:
return False
rows = len(array) - 1
cols = len(array[0]) - 1
i, j = 0, 0
while i < rows and j < cols:
if array[i][j] > target:
i += 1
if array[i][j] < target:
j += 1
else:
return True
return False
9、未来有什么感兴趣的方向吗,从事什么方向的工作?
10、介绍了一下项目组每天工作的情况,包括几点上班打卡,几点下班,加班情况,主要在做的事情和项目组的进展,问了我如果进去之后想从事工程方向的工作还是研究方向的工作。
11、有什么想问他的吗?
12、还有一个挺尴尬的问题,这里也记录一下好了:看你的本科学校挺好的(大概是录取线排第10左右的985),为什么选择了申请这个学校读研?
13、能实习到什么时候?(我说我到一月中旬可以天天来,下学期开学了之后应该只能四天,似乎令人不太满意?她说按公司要求是要天天都到的,实习生期间最多只能请假20天。)
差不多就记得这么多了,面试官很随和,全程聊天的状态,没有压力测试之类。全程的话,能回答的上来的问题都比较详细地讲了,感觉除了随机森林(因为讲到SVM的时候学校停课了,就连SVM也是自己后面学的,随机森林在面试的时候就还没自学到)其他能答的都答上来了,应该回答出来了75%-80%的样子吧。面试结束的时候我问了一下面试官结果大概什么时候出来,她说是下周二也就是昨天,如果没有结果说明就是被刷了。然后今天周三了,估计没有结果了TAT。
革命尚未成功,继续努力。
网友评论