本文转自知乎楼小轰的文章《信贷风控模型岗的一些面试经验》 https://zhuanlan.zhihu.com/p/283062065
另外本人基于自己的积累写了一些问题的答案,文中灰色部分为本人所答,可能会有错误或理解不当之处,望多多指正。
简历细节怎么写就不描述了,但是很关键的一点是一些互联网大厂很看重面试者“新想法”,所以可以准备一个比较有想法有价值的方案。技术栈可以重点准备几个方面:
算法:1、评分卡一系列流程,包括LR,WOE,IV简单公式, 为什么用WOE,为什么WOE 要用ln,评分卡分数转化。
答:主要写下为什么用WOE以及WOE为什么要用ln。
为什么用WOE:一种理解是为什么需要对变量进行分箱,另一种理解是为什么使用WOE值而不是原始数据入模。主要原因有让变量更有鲁棒性、简化模型、引入非线性、加快运算速度。
为什么WOE使用ln:赋予逻辑回归一定程度的非线性拟合能力。因为WOE和bad_rate一定是单调的,但是变量值却不一定。 关于WOE的深入思考可以看这篇文章 https://zhuanlan.zhihu.com/p/135856159
2、XGBOOST 的推导(主要是损失函数,泰勒公式,正则项),以及与RF/LGBM/GBDT的差异。另外决策树ID3,C4.5,CART还是得了解下。这两个基本是大多数风控团队的常用算法。数据集划分方法:开发集(训练、验证)和跨时间测试集。
答:XGB推导以及与GBDT区别:
关于机器学习算法准备这块可以看《百面机器学习》这本书,或者我之前写过推导算法的文章常用机器学习原理推导,上文中的算法都写到了。
3、特征工程:特征衍生(最好有一套熟悉衍生方案)、特征选择(可解释性,稳定性,预测能力,怎么万里挑百到百里挑十的过程)、特征分箱方法。
答: 特征衍生可以根据时间切片、特征、统计方式来进行衍生。这块没有什么实际经验。
特征选择的话常见的有IV值、相关系数、稳定性CSI、逻辑回归系数一致、逻辑回归变量显著性、xgb特征重要度。逻辑回归评分卡筛选变量的步骤案例如下:
1、保留IV值大于0.02的变量,共500个;
2、把初筛的到的量进行WOE编码;
3、变量间两两相关检验并筛选,删除相关性大于0.7的变量400个,剩余100;
4、变量稳定性检验,把稳定性大于0.05的变量删除,剩余60个;
5、逐步回归法筛选最终入模变量,剩余入模变量10个。
4、模型优化:调参方法(主要是XGB的调参,从训练速度、精度、过拟合三个方面回答 网格搜索或者贝叶斯优化),自定义损失函数和评价函数经验,过拟合和欠拟合解决方法、梯度下降和牛顿法。
答:XGB调参可以看之前写过的文章xgb调参小结或者网上也有调参的步骤,主要是用网格搜索算法,贝叶斯优化调参没实际用过。
自定义损失函数和评价函数:
只需要保证损失函数二阶可导,通过评价函数最大化即可对模型参数求解,可根据业务指标对二者进行调整。这块也没有实际经验。
5、模型评估:从特征/模型结果评估KS/AUC/PSI,跨时间窗口badrate的趋势稳定性、可解释性。KS/AUC/PSI怎么算。当然要是做的不是二分类模型,就要准备其他的内容。
6、拒绝推断:简历提到会被问。为啥要用拒绝推断,有啥效果,有啥方法。
答:如果只用放贷样本建模,由于存在“部分样本估计总体”的问题,对全量申请用户的风险估计就会不准确,会让模型出现估计偏差。
如果放贷率很高(如90% ),这时就没必要做拒绝推断,样本偏差问题已经不明显。
如果放贷率很低(如5%左右),那么由于拒绝推断与真实贷后表现之间存在较大的差异,可能导致模型性能反而下降。
关于拒绝推断可以看求是汪老师的这篇文章《风控建模中的样本偏差与拒绝推断》 https://zhuanlan.zhihu.com/p/88624987
7、模型监控:基本回答一下监控哪些内容,大概多久或者什么情况更新模型。
答:模型监控分为前端监控和后端监控。前端监控报告可以在模型上线后一个月开始执行,目的是观察申请客户或者近期客户的类型与模型开发样本是否一致。后端监控报告在模型上线后一段时间(可以为坏客户的延滞月数或表现期长度)开始执行,即需要有样本表现。目的是为了观察评分模型对申请客户或近期客户群体是都仍具备鉴别力。即前端监控报告监控稳定度,后端监控报告监控区分度。其维度都是开发样本和现行样本。
8、其他:稍微理解一下神经网络比如CNN,DNN,Resnet,RNN,LSTM。了解下什么参数共享、稀疏交互,梯度消失,梯度爆炸、BP,dropout啥的。面试时候经常会被问到有没有了解神经网络啊,这应该算加分项,要是说没有还是比较尴尬,可以花一天时间看看。
投简历方式
简历和技术栈准备60-70%差不多就可以投了。一般3-5天左右可以接到面试,所以准备时间蛮充裕的。有内推找内推,不过内推虽然流程快,但是可能对候选人要求会更严格,因为有可能他们团队当前不缺人,所以更看重候选人能够给团队带来哪些新的价值。没内推挂猎聘,时不时刷新简历,坐等hr或者猎头联系。猎头还是蛮好的,会给一些面经。
工作机会
可以考虑互金、银行系、风控的乙方平台。
常见的面试题(包括HR)
个人介绍,为啥换工作。 项目细节。可以围绕是什么,为什么,怎么做,结果怎么样,创新点在哪,还能怎么提升来准备。 自己当前的工作内容,对风控的理解,所属团队架构,负责的产品类型,贷款规模,客户数,笔均金额,额度,定价等等。有些问题可能比较涉及公司隐私,尽量别说太细。 技术栈:基本是1中列的问题。当然如果简历中有写其他,也会被问道。 会让描述一个具体建模的流程。我觉得这问题比较扯,所以都会回答建模流程都是大同小异,然后描述整体流程以及注意的细节。 坏客户怎么定义以及为什么这么定义。
团队与其他部门怎么合作的:比如运营,IT?
客户画像相关。比如产品的目标客户,不同渠道的客户的直观差异。
你觉得对团队的价值在哪。
人行征信报告有哪些内容,一代二代有啥区别。
答:
1.提供了欠税信息、判决信息、强制执行信息、处罚信息
2.提供运营商缴费、欠费等信息
3.长达5年的还款纪律,提供易解析的结构化数据
4.个人手机号码新增至5个
5.提供了更丰富的异常提示信息和个人异议信息
用过哪些三方数据,效果怎么样。
答:以下为本人了解的一些:
黑名单类:同盾、融慧
征信类:鹏元、前海、上资
运营商:数尊
社交类:游昆
平时工作的工具和算法有哪些。尽量多说一点,当然要真的有相关经验。 哪些特征你觉得比较有用。
答:最近一笔贷款距现在的时间间隔、现行最近12个月无逾期个人消费贷款本月实还款最大、最近6个月内贷款审批次数、信用卡审批查询次数。
贷前贷中贷后看重哪些指标?策略看重哪些指标?比如过件率,违约率,支取率啥的。我主要做贷前,所以就回答贷前的。
答:贷前看通过率、首/次逾、Vintage逾期率,贷后看回收率、迁徙率、资产占比逾期率、不良率、坏账率。
冷启动怎么做?专家规则 反欺诈 三方数据/评分 反欺诈怎么做?可以从核人核借贷意图,模型 策略的方法来描述。我不是专业做反欺诈的所以随便聊聊。
答:欺诈的类型有第一方、第二方、第三方欺诈。第一方欺诈指利用真实信息申请贷款,可以理解为个人欺诈;第二方欺诈指内外勾结骗贷;第三方欺诈则为中介黑产欺诈。
模型的话可以谈一些无监督学习算法,比如孤立森林以及异常检测的其它算法。
策略的话主要从集中性,异常性,稳定性,结合各个维度(设备,位置,行为等)构造各类反欺诈策略。
集中性:比如一定时间内,同一个设备上出现的手机号数量超过多少就预警。
异常性:异常性指的是该客户和正常客户的区分性。例如设备是伪造过的设备,ip为代理ip,gps是伪造的地址位置,客户在一分钟之内操作完所有流程。
稳定性:稳定性指的是客户与自身经常发生的行为对比。例如客户本次申请贷款的位置在广东,但是客户之前从来没有买东西到广东。
线下防范渠道欺诈,线上防范中介欺诈。
树模型可解释性:Shapley value,Lime啥的,稍微了解下就行,一般也没细问。
答:如何解决机器学习树集成模型的解释性问题
定价和额度策略怎么做。可以从政策、风险、收入负债去描述。
答:
量化风险定价:https://zhuanlan.zhihu.com/p/267965054
额度策略:https://zhuanlan.zhihu.com/p/153004627
除了工作内容,平时会去了解哪些知识来提高自己。
对未来的职业规划。 自我评价。可以从执行力,解决问题能力,专业能力,抗压力,沟通合作,领导,组织等等去聊。
自身优缺点。同上。
有啥要问的?基本每次有被问到这个问题。我也会抱着学习心态去了解一下对方业务情况、团队架构大小、技术栈、意向候选人品质啥的。了解这些还是蛮重要的,毕竟找工作也是双向选择的过程。如果对对方回答非常喜欢,可以趁机舔一舔,同时描述自己的适配性和意向度。 有没有其他offer?如果有,最想去哪家。 换工作最考虑哪些因素?
面试的一些心得
项目描述要恰当:尽可能用”让信贷初学者听得懂的语言“来描述你的项目的目的、过程和结果,同时尽可能突出项目的高大上,这一部分最好多花心思去琢磨一下描述项目的话术。这点我一开始面试时也吃了几个闭门羹,我以为每家公司的风控流程内容都差不多,实则互金、银行、风控乙方做的方向有所区别,风控前台和中台的算法也有区别。有些侧重业务,有些侧重模型算法,有时候要是描述不够恰当,对方无法理解你做的东西。面挂了3家之后,我调整了下描述方式,剩下5家都到谈薪阶段。 心态要好:一个萝卜一个坑,被人拒绝也不代表你能力有问题,也有可能只是做的东西不一样,面试不论结果怎么样都要保持自信迎接下一场面试。我们知道评分卡解决方案在银行业就很吃得开,但是对于互联网来说,他们更喜欢树模型,神经网络啥的,评分卡做的再好对互联网来讲可能欠缺吸引力。反过来对银行来说,一堆高大上的模型经验他们也不一定感冒。等等 简历内容要一清二楚:面试官经常会问得特别细,细到用了多少个特征,多少样本,ks多少,上线后结果怎么样这种问题都可能问到。我觉得这种问题蛮无聊,但是如果支支吾吾回答得话也说明对项目了解不够熟悉。 珍惜每次面试机会:每一次面试其实就是对个人的一次全方位的专业性质检,每个人都可以很快的发现自身不足。面试者可以及时自我迭代,以更好状态应对下一次面试。所以有面试,不管公司大小都不妨尝试接触一下。如果对自己不是特别自信,可以把自己意向度最高的公司排在靠后的时间,这样面试时候会更多经验和自信心。我最先面的几家表现确实不理想,但是后面几家就很轻松。 代码问题:我的数据结构能力真的孬,我个人更关注模型和业务场景的结合的问题,平时对代码要求也不高。不过一些公司比如头条、PDD、美团对代码能力要求还是蛮高的,有意向还是得刷leetcode(我直接放弃)。阿里系有可能一面会有代码题,也可能没有,要求相对没那么严格。大部分其实不怎么要求现场写代码啦。
【作者】:Labryant
【原创公众号】:风控猎人
【简介】:某创业公司策略分析师,积极上进,努力提升。乾坤未定,你我都是黑马。
【转载说明】:转载请说明出处,谢谢合作!~