龙渊ai工程师二面

龙渊二面

具体提问

1. 项目介绍

具体的介绍的话就略过;其中,面试官针对你的项目提了很多的问题,比如:网络架构,具体的损失函数/激活函数的应用,最后的结果,训练的时间周期,你在项目/团队中承担的是什么角色,相关的模型是否有了解过等。

2. 团队合作方面

提问:你会选择当一个 leader么?当你们参加比赛中有分歧/争论/摆烂时你会选择如何解决?

个人先表明了对于当 leader 的态度,即可以去领导,但是尽量去和大家保持平级(而不是上下级的关系);

对于第二个问题,个人表示首先在选人/选队友就提前警惕,保证大家都是朝着同一个目标/方向前进,而不是不明不白的组队然后各自摆烂。

3. c++ 和 Python 的区别是什么

个人只答了 Python 的机器学习生态较好,有许多库和函数提供给我们使用。后续面试官也慢慢引导我,估计是想问编译型语言和解释型语言的区别,不过我并未答上。

4. 线程和进程的区别是什么

面试的时候太紧张了,脑子直接宕机,一下子没反应过来线程和进程是什么,只答了一个线程和进程是两个不同的概念,无法拿来进行比较速度之类的,然后就跳过了。

后续在回家的路上才想起线程和进程的区别(

5. 设计模式的相关问题

未学过,遂答不知道(具体问题也回想不起来了)。

6.你会如何设计算法来解决一个经典问题

在之前面试官问我是否有参加过 Kaggle 的一些比赛,随后边举例了其中的一个经典比赛来询问该如何解决(比如房价预估)。

后续回想过来其实答得很烂,所以再重新答一次:大致是先统计分析数据,大部分数据的模型应该是非线型的,所以会考虑使用机器学习算法来解决。再判断问题是属于分类问题还是回归问题,即是需要回答出具体的数值(如房价判断,则为回归任务),还是只需要定性的进行判断(如判断一张照片上的是不是人,则为分类任务)。然后如果是回归问题就采用回归的模型(如XXXXXXX等),另外个同理。

7. 你会采用什么方法来加速模型的训练

个人首先提及了残差神经网络,然后粗略的介绍了一下其在一个神经架构中的作用(适用于较深层网络,可以解决过拟合),后续又提到了联邦学习,不过个人不太了解,就没有展开的讲。

8. 若发生了过拟合/欠拟合,你会采用什么方法解决

解决过拟合方法:

  • 采用 L1 正则化 和 L2 正则化;
  • early stopping;
  • dropout;
  • 减少数据量;
  • 采用RESNET结构;

还没回答欠拟合,面试官就说OK了(