Interview-1 QuantumBlack Data Science Intern

记第一次在英国公司面试

introduction

第一次面试,quantum black这个公司,面试官是两个小姐姐。公司整体人很好,刚进门的时候有小哥路过还打招呼问我,后来在餐厅等候的时候还有小哥问我吃不吃巧克力,公司整体氛围相当不错。面试官也特别友善。

面试开始先有一个简单的introduction,让面试官认识你。没有准备好这个brief introduction。

面试过程表现不太好。。。感觉一是因为英语不够熟练,刚开始不太能get到小姐姐的问题,表现不好。二是后面technical方面的问题的时候,我忘了一些模型的细节,后面详细写。

case part

第一部分是实际案例部分,案例问题是关于fraud detection。给定一组很大的银行的交易数据,such as 100million条,其中200条是诈骗交易,我们要进行诈骗交易的检测。

第一步让我构建feature,觉得能从之前的数据中构建出来什么feature。最开始没太理解,后来也没答好,确实不知道能构建什么feature

第二步让我建立模型来解决这个问题。我提出使用逻辑回归模型来进行预测。接着会来一连串的问题,为什么会选用逻辑回归来预测? 我要如何训练和测试这个模型?

  • 关于loss function这一块,问我如何构建。 我说使用交叉熵,但是我忘了交叉熵的公式了。。。。
  • metric to evaluate 这个模型,我说可以使用confusion matrix。要求来画出混淆矩阵,紧张了一下没画出来,后来画出来了。问到了precision,recall和f值。结合案例又问了问题,问我应该重点关注哪个值,这里回答不好。。。
  • 如何split training data set。这个数据严重不平衡,如何做。。。。我也不知道回答的好还是不好。。先说80 20 split,后来说可以使用cross validation来进行交叉检验。小姐姐针对这个问题提出疑问,可能有的fold没有fraud point。。。

这部分整体感觉,有点崩,也有些超时。感觉这里应该有自己的独立思考,根据相应的案例进行变通,应该是要跟面试官进行discuss的,我没做好心理准备,导致被面试官牵着走,效果也不好。模型不应该一成不变,应该根据相应的case有不同变通。

technical part

这一块不是case,是要问理论的部分。这一块刚开始其实还是比较自信的,因为自我感觉理论掌握的还不错。

  1. ROC curve
    之前看过ROC curve,但是这次死活也想不起来。。。难受,这个东西业界用的比较多,之前看过一次,但是这次之前忘了看,实属失误

  2. 逻辑回归
    这里小姐姐结合线性回归和逻辑回归来问我问题。 还好前几天看官网案例的时候看到逻辑回归用的比较多,提前准备了一下。这里主要看线性回归和逻辑回归的理解。分别问到了线性回归的方程表现形式,loss function是什么,梯度下降又是什么(这里画图来描述),如何使用梯度下降进行优化(不必要推导导数公式)。

接着问了逻辑回归和线性回归之间的联系。时间限制,我写了一个公式,小姐姐知道了我的意思就开始下一个问题了。

  1. 其他非线性分类的模型
    我回答了 SVM,接着让我描述SVM和他的原理。我说svm基本状态是线性分类的,要做到非线性要用kernel。接着让我描述kernel,kernel是什么。这一块花的时间比较多,我有时候没有搞明白她的意思。其实kernel我也没有办法说的很清楚,这一块是个失误。

  2. tree - ensemble
    还好我提前也准备了这一块,集成学习这一块。可惜boosting部分忘记了细节,太紧张了没回答上来。

bagging,我描述了bagging的idea。小姐姐针对bagging问了我问题,这些models是一个model吗,是不是不同。

boosting,描述的没有很清楚。我没讲清楚如何训练互补的model。。。。。。给data set赋予权重,每个数据都有不同的权重(最开始没讲清楚),然后讲如何通过一个$\alpha$来变换之前之后的权重。(太紧张了,又没有提前准备,没回答好)

之后时间到了,结束。

经验教训

  1. 准备好开头的小介绍 *重要
  2. 练习好英语,case discuss部分要灵活变通,表现自己的思考 ****重要
  3. ROC curve *重要,忘记准备了
  4. SVM kernel *重要,学会讲这个东西
  5. boosting *重要,忘记准备,本身会
  6. 技术的问题都问的很详细,不会问你深度学习相关的东西,就只是问你base model的问题。准备时候要有侧重点,还好我提前看过了官网上的往期project,对知道他应该更多的问传统机器学习模型部分。但是一些具体的细节需要更加深入的理解,达到能给别人讲的程度。 ****重要