科技暑期实习生面试记录

本人面的是算法工程师-暑期实习岗位,只对自己的项目比较了解,对算法、数据结构、现场编程、逻辑题等准备方面很欠缺。现在将面经分享出来,一是为了自己记录,二也是希望能帮到需要的人吧。

前提:还未出结果,不知能否被接受

共三轮面试

 

第一轮:项目了解(约20min)+现场写代码(约30min)+一个问题(约20min)

1.     一个很随和的看起来像是程序员的人,进来后先让我自我介绍,再听我介绍了下项目,询问了一点细节。

2.     现场写代码的题:蛇形矩阵的生成,输入一个数字N,比如为4,现场手写代码生成下面矩阵:

1

2

6

7

3

5

8

13

4

9

12

14

10

11

15

16

(我想的是先把对角线写了,再写上半部分和下半部分,两半部分方法是一致的,一个从小到大一个从大到小。写上半部分的时候用到了递归,但是我递归在具体实现的时候因为自己练习得太少,递归实现部分有错误。这个可以通过刷递归的题目来熟悉套路,从而解决)

 

3.     针对一个测试集,有A/B两个模型,分别能生成prediction后的矩阵。先令模型C为A和B的线性组合,C=x*A+y*B,怎样确定x,y的系数,能让C对这个测试集的accuracy最大?

(这个题我想的是给A的weight为w1,B就是1-w1,让w1从0到1,以很小的步长遍历,找出accuracy最大的w1。但后来我和面试官讨论了很久这个怎么确定最小步长以及怎么确定找到的这个离散的w1值就是精确x附近的近似值,觉得后面的讨论有点类似于数学分析里面极小值部分的证明题了,后来没说清楚)

 

第二轮:项目详细了解(约40min)+逻辑题(约35min)

1.     问得非常详细。可能是因为我的项目比较对口,问得很细致,我基本上将我整个项目的所有东西都说了。大致有以下问题:

1)  项目中认为难度最高的是哪些部分,最花时间的是什么部分

2)  介绍所用数据集

3)  看过什么论文,介绍印象深刻的论文。比如我讲的是densenet的论文,在介绍的时候我提到1*1的卷积核,被问到1*1卷积核有什么作用

4)  有没有做过error case的分析

5)  你的每一个步骤的方法改进都具体有多大程度的提升

6)  调整网络具体都怎么调了,调什么参数了

2.     逻辑题(提前不准备的话真的是很难做,不过我觉得如果你现场做出来,推理过程流畅的话,也能证明你的学习能力强?瞎猜的)

题目:5个海盗分金币的问题。先抽签决定好五个人的提出分金币方案顺序,接下来第一个人提出自己方案,全体活着的人投票,反对票大于支持票时,提出方案者被杀;之前抽签决定的第二个人再提方案,活着的人再投票,同样规则决定提方案者会不会被杀;以此类推。问:第一个人提出怎样的方案,才能保证自己不被杀?前提条件:每个海盗理性地遵循两个原则:

1)  选择自己分得金币数最多的方法

2)  如果两个方案中自己分得的金币数一样多,就更倾向于杀人数最多的方案

(面试官会看你表现来适当给出点提示,不过我刚开始没审清楚题意,后来面试时间也很久了脑子有点累都有点不想做了,不过看面试官还是没有放弃的意思,只能继续做下去,全程非常长)

3.     面试者向面试官提出一个问题

 

第三轮:hr面(约15min)

很轻松,询问了以下工作地点意愿,实习时间,以及可以向hr提出一个问题

猜你喜欢

转载自blog.csdn.net/s000da/article/details/80891181