什么是boosting tree

提升树算法是模型为加法模型(即基函数的线性组合),基于决策树,算法采用前向分步算法的提升方法。针对不同问题提升树有不同的算法实现,其主要区别在于使用的损失函数不同。主要有用平方误差损失函数的回归问题,用指数损失函数的分类问题,以及一般损失函数的一般决策问题。回归问题提升树算法通过拟合上一轮迭代的残差(真实值-预测值)来降低模型的偏差。回归提升树的每一轮迭代中决策树的输入为上一轮迭代模型的残差,通过拟合残差来让每轮的损失函数最小化,最终从整体上降低模型偏差。
mechine learning - 图1

GBDT

GBDT是boosting模型的杰出代表,GBDT采用了多模型集成的策略,针对残差进行拟合,进而降低模型的偏差和方差。
集成模型(Ensemble Model)不是一种具体的模型,而是一种模型框架,它采用的是“三个臭皮匠顶个诸葛亮”的思想。集成模型的一般做法是,将若干个模型(俗称“弱学习器”, weak learner,基础模型,base model)按照一定的策略组合起来,共同完成一个任务——特定的组合策略,可以帮助集成模型降低预测的偏差或者方差。

AdaBoost

AdaBoost算法是Boosting算法的典型代表,它是模型为加法模型、损失函数为指数函数、学习算法为前向分步算法时的二分类算法
它对两个核心问题的回答是:

  1. 迭代训练过程中如何降低模型的偏差?

答: AdaBoost算法通过更新附加给训练集的每个样本的权重来降低模型的偏差。具体描述为:每一轮训练弱学习器时,通过增加上一轮预测错误样本的权重,并降低上一轮预测正确样本的权重来让模型更关注预测错误的样本,从而最小化整体模型的拟合偏差。

  1. 如何将训练好的弱学习器组合为强学习器?

AdaBoost通过加权多数表决的方法实现聚合多个弱学习器为强学习器。具体描述为:通过给预测误差小的学习器更大的权重,和给预测误差大的学习器更小的权重,来让预测错误率更小的学习器对整体预测结果贡献更大,从而降低整体模型的偏差。

L1和L2正则为何可以减弱over-fitting?

L1和L2正则有什么区别

KNN和LR有什么本质区别

怎么理解Dropout

为什么random forest具有特征选择的功能

random forest有哪些重要的参数?

DNN为什么功能强大,说说你的理解

SVM的损失函数是什么?怎么理解

介绍下Maxout

项目中over-fitting了,你怎么办

详细说一个你知道的优化算法(Adam等)

项目(比赛)怎么做的模型的ensemble

stacking是什么?需要注意哪些问题

了解哪些online learning的算法

如何解决样本不均衡的问题

fasterRCNN中的ROIPooling是如何实现的

如何进行特征的选择

如何进行模型的选择

什么是梯度消失?怎么解决

常用的有哪些损失函数

XX用户画像挖掘怎么做的feature engineering?

假设一个5*5的filter与图像卷积,如何降低计算量?

做过模型压缩吗?介绍下

什么是residual learning?说说你的理解

residual learning所说的residual和GBDT中的residual有什么区别?

FFM和FTRL有过了解吗?

你对现在Deep Learning的发展和遇到的问题有什么看法?

Hadoop,Spark介绍


初试(1h)4.23:

1.介绍项目(特别特别详细,无限详细,背景,模型选择,数据,特征,调参,改进etc)

2.介绍一下XGB,怎么调参防止过拟合

3.RF 和 XGB 的区别

4.介绍一下SVM(刚介绍完对不平衡样本不敏感,连loss function都没说就跳下一题了)

5.不平衡样本怎么处理(模型,数据,validation)

6.过拟合怎么处理

7.数据量太少怎么处理(模型,数据)

8.学过spark,问了一句项目里的:决策树的并行怎么实现

9.再问了遍spark里的几个概念(就说了名字没详细介绍就过了)

10.问有没有自己搭网络(有现成的迁移,取决于数据情况跟任务情况调整freeze多少,finetune多少;简单的十来层就自己搭)

11.业务问题,歌曲相似度(答得不太好);顺便介绍了下别的业务场景。

其他:唠嗑了一下学习情况,面试官人挺好的


复试4.23:

1.介绍另外一个项目

2.介绍一下yolo和yolo3的区别(项目)

3.sigmoid作为激活函数的缺点(难算,非中心化,梯度消失)

4.忘了..因为后边一直在问业务问题,陷入了长久的长久的沉默,前边的就不太记得清楚了

5.之前实习的情况

6.业务:真的答得特别差,思路都没有那种差

面试官人特别好的 从抽象问题怎么从头开始分析,具体到一个个task都介绍了一下,在我陷入长期沉默的时候还疯狂引导我,然后给我讲背景知识补充一下,启发一下(但是我还是紧张的脑子一片空白,不知道说了什么玩意)

7.快排 及复杂度

8.top k :最小堆 复杂度

9.如果成百万数据怎么办:

  • -不能top k吗,继续沉默,不好意思不清楚
  • -你不是学过map reduce吗(面试官人真的很好,一直在引导)
  • -记起来了然后巴拉巴拉介绍了一下怎么办(太羞耻了)

    10.partition不平衡怎么办 (记起来就答上了)

    其他:唠嗑了一下,然后被教育了一下工程不过关的事情,吧啦吧啦,还给了选课建议or自己查漏补缺建议(真的太羞耻了,但是因为之前都没问 就没复习过)

    第三轮(4.28)

    我有点着急就去催了一下面试(听说要结束了)
    然后就下午三点面。
    (一开始以为是HR面,有一丢丢尴尬)上来没让自我介绍,问了一些简单的个人情况,然后问了一个项目的数据量;

    给了个场景,让思考一下情况;

    说了一下TME跟总部的区别
    问:下一面的时间;会让HR联系我

    HR面

    常规的自我介绍,心路历程;
    有成就感的事情;优点;挫败感的事情;为什么选择这个专业;
    对自己职业的期待;对TME的期待

    ==============WXG(一轮4.10?)=============

    做完常规批的笔试就被捞起来了。
    羞耻的自动失去记忆,我一定是因为感冒才表现的这么差的,绝对不是我渣。。。。我不该许愿说希望wxg捞我。。。。面了30min,然后一轮游。。。

    1.项目介绍

    2.最小二乘法的介绍,推导及应用(更加羞耻的数学专业学了一个学期的东西 然而忘光,挤牙膏的挤了一点。。。。。。应该没答出他想要问的东西。。。。)

    3.再问了一遍笔试编程题

    4.业务场景公众号流量分析,异常检测,预测(反正答得很差就是了)

    =============PCG(两轮,3月)(原帖)======================

    发面经攒人品(虽然好像没啥用的面经)
    两轮,19号牛客视频面 20min,27号电话面 20min;锁了两天,29号已灰。

第一轮3.19:

自我介绍,聊项目,穿插了几个问题;

1.特征工程怎么做;

2.模型融合。

没有手撕代码;也没有问别的知识点。
当时有点懵逼当时以为要凉,但是面试官又加了个微信,没进度可以找他。(但是还是迟早凉)。。。
然后状态改了复试3.27。
复试,上来面试官就说了20min左右面试。
再自我介绍一次,聊项目;
问题:

1.xgb过拟合如何解决

2.聊一下最近看过的论文。

3.从原理上介绍一下模型 为什么好(这个答得不够好)


1、技术一面

  • 电话面
  • 1、自我介绍

    2、问本科专业和计算机专业有哪些区别,专业主要是学什么,必修选修

    3、问项目,然后聊里面的算法,解释两个最熟悉的机器学习算法,项目里面的特征怎么处理的,为什么用这些机器学习方法去做,样本不均衡的话怎么处理

    4、学过哪些机器学习课程

    5、关于最优化方面学过哪些课程

    6、问牛顿法怎么求解

    7、最后问怎么解决过拟合的

    2、技术二面

  • 电话面

    1、问了实验室方向,所做的事情?实验室的毕业生一般去哪工资?

    2、实习允许么?问不是一般放假一个月两个月的么?

    3、问一个项目,项目需求、怎么做的,为什么选择LSTM?

    4、要写论文么?是实验室强制的么?

    5、了解阿尔法狗么?

    6、熟悉哪些机器学习算法?

    7、决策树有哪些选择最优划分节点的方法?有了信息增益为什么还提出了增益比?

    8、模型评价标准,RMSE\ROC\AUC等等

    9、平时一般用什么做工程、用什么做算法?喜欢工程一些还是算法理论研究?

    10、QT和python怎么结合?

    11、C 实现多态的好处,有哪些实现多态的方法?

    12、了解推荐算法么?举例说明一般个性化推荐怎么做的?

    13、你有什么问题?

    3、技术三面

  • 电话面

    1、问了实验室的方向,硕士生和博士生都做什么,实验室毕业生有多少?

    2、实验室要求不要求发论文?打算在哪方面做研究?举个例子说明想法。我就说了看CVPR上面少量样本学习的那篇文章里面的一些想法。

    3、专利内容是什么?并详细了解一个项目。

    4、还熟悉哪些机器学习算法?

    5、问那你说说决策树分类和回归时候有哪些区别?

    6、介绍阿尔法狗的原理

    7、了解最近提出的胶囊网络么?

    8、对推荐算法有了解么?

    9、分类模型评价标准有哪些?追问,AUC可以用于多分类模型么?

    10、看过哪些相关的书籍?

    11、学习过哪些机器学习课程?

    12、平时用什么语言?我一般做算法用python,做工程用C 。追问你用python主要是用scikit-learn库么?我说有的是用了,有的要自己写,比如GMR,RBF,还有的用tensorflow的深度学习框架。

    13、你说说C 多态的好处?

    14、纯虚函数的用处?

    15、虚函数的好处?

    16、C 类里面有一个静态成员,那么有什么特性?

    17、哪里人?

    18、做过笔试么?觉得考的怎么样?

    19、最后说两个月的实习有点短啊,我解释了原因,说不让出去实习,实验室允许请假一个月才有两个月的机会。


4、技术一面

  • 现场面

    1、实验室方向是做什么的?

    2、python交换数字a,b

    3、python对一个列表删除所有为0的数字

    4、python怎么定义一个类的成员变量

    5、linux怎么删除一个进程?那么进程号怎么知道呢?(grep)

    6、linux命令怎么查看硬盘太小

    7、LR和SVM的区别,当聊到损失函数,问分别是什么?hinge损失函数里面的z是什么?

    8、决策树里面的分类树怎么选择划分属性,给了两个属性分布情况,问选择哪个?

    9、决策树做回归时候划分点怎么选择?

    10、LSTM对于RNN的改进地方在哪?解决了RNN的什么问题?(梯度弥散)

    11、那么RNN的梯度爆炸怎么解决?

    12、LSTM的结构,里面的遗忘门是一个数值还是向量?维度是多少?

    13、python写一个函数,实现给定一个列表,把列表所有0移到列表最后面,其余相对顺序不变,要求时间o(n),空间o(1)

    14、python写一个函数,实现有1T 的数据,10亿个不重复单词,给你一台机器,16G的内存和5T的内存,怎么统计每个单词的个数?

    15、补充一个还有LSTM你用的优化方法是哪个,我说是Adam,他问还有哪些,我说SGD等等,他问GD和SGD的区别了


5、技术二面

  • 现场面

    1、不打算读博么?

    2、能够实习几个月?

    3、为什么用到LSTM?

    4、解释一下AUC(ROC的面积),从概率上面的解释一下?

    5、解释一下交叉熵

    6、解释梯度消失和梯度爆炸问题,然后怎么避免?

    7、解释一下模型训练里面的偏差和方差对于训练的意义?

    8、用了gcc没?

    9、用过python没?用了,zip作用,说打包。numpy里面的list的引号是什么意思?不知道问的是啥。

    10、自己在学习中比较高兴是什么时候?

    11、有没有关注最新科学界动态?讲了一篇CVPR2018的文章

    12、你有没有什么问题?我问您是哪个部门的?


6、HR面

  • 现场面

    1、从2016年以来就是一直在做舰艇自适应决策是吧?这个是和企业合作么?什么时候做完?能来实习么?

    2、专业属于哪个学院?计算机还是软件?

    3、家在哪?家里面还有没有兄弟姐妹?

    4、还面了其他的公司么?

    5、主要熟悉的是tensorflow是吧?

    6、为什么没有看见论文呢?之前没有计划发是吧?

    7、平时怎么学习机器学习算法的?

    8、没有考虑做竞赛么?目前在做算法比赛

    9、有什么问题


作者:holmescao
链接:https://www.nowcoder.com/discuss/371584
来源:牛客网


一面(2020/02/13/ 微信语音,1h50min)

  1. 自我介绍。(这是你唯一能把握主动权的3分钟!!!)
    上来先自我介绍,我主要从数学建模比赛(本科参加了很多次,岗位对这个比赛是nice to have)、项目、对强化学习的了解(这个部门主要是用强化学习)3个方面进行介绍,我并没有按照简历照本宣科,而是分别拿出3个方面最值得介绍的经历,以讲故事的方式来叙述,并且说完一个经历就会总结一句:我在这个经历中收获最多的是xx(eg:快速学习能力、团队合作意识等)。因为自我介绍是为了让面试官了解你身上具备的优点和潜质,至于你已有的能力,你的简历上已经写得清清楚楚,就不需要浪费这么宝贵的3分钟。

  2. 比赛、项目提问
    面试官会根据自我介绍的内容进行提问,所以自我介绍显得尤为重要,你可以引导面试官接下来会对你提问什么。我在自我介绍时说到比赛中快速自学了元胞自动机模型并得到了应用,两面的面试官关于比赛的问题都问且只问了元胞自动机的相关知识,包括简介、原理、应用场景、有没有对其进行改进。
    至于项目,只要把涉及到的整体流程、每个算法的原理&使用的原因、难点搞清楚就差不多了,并没有问到代码具体实现。

  3. 机器学习

    ①面试官:你参加那么多数学建模比赛,对机器学习方法应该挺了解,请你说下哪些模型可以用来做回归?
    简要:我把回归分析里的方法都讲了,并提到了支持向量回归。

    ②面试官:请讲下支持向量回归原理。

    简要:我说不会,但知道支持向量机

    ③面试官:支持向量机也差不多类似,那你说下吧

    简要:我从SVM基本问题定义到对偶问题的推导过程,以及核函数、非线性问题、SMO、KKT条件都说了。

  4. 深度学习

    ①面试官:讲下BN。
    简要:这个是常考的,一定要会。我从背景、原理、方法、训练和测试的差异、意义,各方面都详细说了。

    ②面试官:你刚说到BN要重构,请问为什么?

    简要:我之前看过博客,说是如果不做的话会破坏浅层的特征,结果面试官说不重构也可以学习到特征呀。然后又继续反问我为什么要重构。我想不出来。最后他告诉我是因为归一化后会降低表征能力。

    ③面试官:你做过深度学习,那你说说卷积吧。

    简要:我把卷积的整个过程详细讲了一遍。

    ④面试官:pooling有什么意义

    简要:我从降维减少参数量和减少卷积后的冗余两方面回答。结果面试官补充说pooling可以增大深层卷积的感受野。

    ⑤面试官:刚才说到感受野,那谈谈你对感受野的理解吧。

    简要:这个我之前没准备,就真的是凭自己的理解,结果也答的不好。面试官告诉我是一个卷积核可以映射原始输入图的区域大小。

    ⑥面试官:讲下激活函数的意义

    简要:讲了常用的几个的激活函数及意义

    ⑦面试官:为什么要用relu而不用sigmoid

    简要:从饱和区间、敏感区间和梯度三个方面来回答。

    ⑧面试官:有了解过GAN吗?

    简要:没有。。。(当时这个回答太快了,其实我是略有所闻,至少把自己知道的讲几句,直接回答没有,其实不太好)

  5. 强化学习

    ①面试官:讲下q-learning。
    简要:一步一步介绍了模型。

    ②面试官:有了解过DDPG吗?讲一下原理。

    简要:我说是属于Policy Gradient系列的,就从PG->Actor Critic->DDPG一路详细地讲了模型的流程和特点。

  6. 语言

    ①面试官:讲下python的staticmethod和staticclass
    简要:没听过,但面试官谈到了装饰器,我就介绍了装饰器相关的。

    ②面试官:讲下python的匿名函数和意义

    简要:讲了lambda的形式和意义

    ③面试官:对浅拷贝和深拷贝有了解吗,讲一下。

    简要:很清晰地介绍了它们的特点和区别。

  7. 框架

    ①面试官:讲下tensorflow搭建网络和训练的流程。
    简要:从定义占位符开始一步一步说下来,可能说的很顺畅,说到一半面试官就说不用了,下一个问题。

    ②面试官:有没有学过pytorch

    简要:我没学过,但我说知道现在很流行,如果以后工作需要用这个框架,那我可以快速学习,因为框架之间应该都差不多,况且pytorch还更简洁简便。

  8. 算法题
    面试官发了一个腾讯文档,可以实时看到我敲的代码。然后问我有没有刷过算法题,我说这学期刚开始刷,刷了一些。他就说那我们先来一题简单的。就现场从leetcode搜了一题easy的。然后给3分钟思考,思考完跟他讲思路,讲完就让我在文档写代码,按leetcode的那种形式,给10分钟。看我很快想出来并很快写完,他就说那再来一题。结果出了一题medium。恰好我做过原题,前两天还复习了,所以秒解,用哈希集合+快慢指针,并且面试官问了我时间复杂度,因为快慢指针各遍历一次,所以是O(n)。以下是题目:

    ①原地删除排序后的数组中重复的数字。(要求空间复杂度为O(1))

    sol:

    ②给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

  9. 开放性问题(都跟他们的温室挑战赛有关)
    开放性问题是本来已经结束了,都已经在提问反转环节了,说到一半他突然说问我一个开放性问题。

    ①面试官:如何设计一个算法来实现自动控制温室种植,假设数据都已经收集好。
    简要:我说了用强化学习,并给了几种现有算法。

    ②面试官:那如果不用强化学习,你觉得可以用什么方法做。

    简要:想了半天想不出。。

  10. 其他

①面试官:有没有学过搜索算法?
简要:这学期刚好学了相关课程,就都说了。然后实现过一些,比如启发式搜索算法:GA、SA等,都自己用代码写过,也在数学建模比赛中用过。

  1. 提问反转环节

①我问在腾讯我要怎么能得到系统性的成长。

②我问在腾讯的工作强度是怎么样的。

一面结束,面试官气场很温和,他一开口说话我就不紧张了,就跟聊天一样,还会在我回答不出的时候告诉我正确答案,人很好。在最后的时候,面试官说:今天的面试,我觉得你基础挺好的,我挺满意的,研一就这样很优秀【我就当补药吃了吧哈哈,给自己添点信心】。面试完自我感觉还是挺不错的,毕竟第一次,并且也只准备了一个多月,很满意自己了。
面试感受:★★★★★
面试难度:★★★

二面(2020/02/18 电话,1h40min)

自我介绍:
和一面一样,不过面试官遇到感兴趣的内容会直接打断来问你。

比赛、项目提问
这次项目问了很多算法实现的步骤,以及项目中遇到的难点,但都能回答的很顺畅。

机器学习
①面试官:为什么会发生过拟合?
简要:我讲了先前总结过的几种情况。

②面试官:那如何降低过拟合?

简要:讲了几种降低过拟合的方法,这个面试官一直问:还有吗?强行憋出了6个。(降低模型复杂度、增大数据集、dropout、正则化、集成模型、BN)

③面试官:讲下正则化

简要:讲了L0\L1\L2,L1和L2的具体形式和反向传播的时梯度的推导公式、以及它们如何降低过拟合都详细说了。

④面试官:泛化误差如何产生,有哪些方法可以减小?

简要:讲了泛化误差的展开式,分别说了从bias、var和噪声三个方面减小,并说了相关的方式,以及如何平衡bias和var。

⑤面试官:讲下dropout原理。

简要:从背景、原理、实现详细介绍。

⑥面试官:dropout训练和测试有什么区别吗?

简要:从期望的角度,说明了训练时要除以概率p,或者测试时乘概率p。

  1. 强化学习

    ①面试官:on-policy 和off-polic的区别
    简要:先从蒙特卡洛强化学习的同策略和异策略模型来说明;再根据q-learning和sarsa的区别来说明。

②面试官:贪心策略和确定性策略区别

简要:从选择action的概率的角度,介绍了区别,并介绍了两种贪心策略:epsilon和softmax

③面试官:有一些真实例子,还有一个模拟器,如何训练一个强化学习模型?(这个就是他们目前面临的问题)

简要:讲了可以先用直接模仿学习和逆强化学习,然后再用一个强化学习的模型。

④面试官:直接模仿学习和逆强化学习具体说下

简要:就按《机器学习》(西瓜书)中学到的详细说了。但逆强化学习没说太清楚。

④面试官:强化学习的baseline

简要:我懵了,因为我项目是用深度学习做多目标跟踪的,对于强化学习只学了一些基本框架和基本的理论知识,但是还没时间去看过强化学习的论文,所以不懂啊。然后面试官最后告诉我说就是采用一个随机选择action的策略。。。

  1. 算法题

    ①求二维矩阵的人脸个数
    简要:和leetcode的求岛屿数量那题非常像,算是medium的,刚好复习过,就秒解了,大概40行左右的代码,很顺地解下来。面试官看完说没问题。

  2. 开放性问题

    ①面试官:如何对一段python代码做加速,可以自己假设代码的应用场景
    简要:这个问题又榨干我了,我一开始说了5种方式(优化算法从而减少循环次数、调整if elif语句的顺序、核心模块用cython、多线程多进程、生成器减少内存占用量)

②面试官:追问了多线程和多进程是什么?

简要:详细说了区别,以及python中的实现,并说python没办法利用多线程,因为有GIL,面试官说他没听过,问我是不是真的,然后让我讲一下GIL,我也详细讲了GIL的流程。

③面试官:还有什么办法可以加速python代码吗?提示说可以假设是一个训练神经网络的场景。

简要:我补充说可以用GPU、batchsize。然后面试官继续追问还有没有,最后他说了cpu加载数据和gpu训练数据的差异,如果只用cpu加载,那发挥不出gpu的优势,可以用异步来加速,即先加载一部分数据到缓存。【我有
一种醍醐灌顶的感觉】

④面试官:GPU如何加速?

简要:不懂。。

  1. 提问反转环节

    ①我问他们部门的工作机制是怎么样的

②我问通过今天的面试,觉得我哪些方面需要加强

面试官说觉得我基础挺不错的,但是缺乏经验,如果过去实习的话,需要适应一段时间他们的节奏。(当时我感觉凉了,没想到过了两天给我发了offer)
面试感受:★★★
面试难度:★★★★★

四、小结

第一次参加大厂面试,很幸运地我按照正确的方向准备了,准备的广度和深度都还过得去,算法题才刷了70道左右,就都被我碰上类似的了,果真机会都是留给有准备的人!以下是更有针对性的感悟:

  • 比赛&项目:对用到的模型的原理都要能清晰地说出来,以及难点、创新点,都要明确。
  • 机器学习(传统\深度学习\强化学习):大厂考察的基本都是底层的原理,要了解每个知识点的原理,最好是能用代码自己实现过,这样理解得更深。并且在准备的时候需要以点带面,在一个知识点涉及到的内容都要去掌握,因为面试官是串联式地提问的,也就是对你之前回答的内容中再提取新问题,如果你不懂,那就是相当于是给自己挖坑。对主流的框架要掌握,尤其是岗位对口的那个方向的相关方法,至少了解原理和步骤以及创新点,最好是用代码实现过,并且有自己的一两点想法。
  • 语言:AI相关岗位的话基本是用python,要对python的语言特性有全面的了解,还需要知道它们的应用场景。
  • 数据结构与算法:按分类来刷leetcode的题,一开始刷的时候先找经典的题,然后一题多练,经典的题至少做3遍,有利于记下每类的模板。题目不贪多,要精刷,即做完一题一定要去看题解,一题尽量掌握3种解法,并且都要会讨论时间、空间复杂度。做题要限制时间,因为面试的时候,3分钟给你思考,然后你就得跟面试官讲思路了,然后再给10分钟写代码,唯手熟尓。此后我自己会每天保持刷题,这可是进入大厂的门槛啊,我觉得这次能够顺利通过,也主要得益于3道算法题我都在指定时间内bug-free并给出最优解法了。
  • 开放性问题:在面试前,最好去了解下这个部门主要是做什么的,有哪些成果,很可能他们会把他们遇到的问题来问你,这样你可以有针对性地准备。因为我发现,在面试的时候是很难临时想出什么方法的。
  • 面试官:
    ①一面的面试官问的问题很广泛,基本各个方面都问到了,加上项目和比赛的话应该有30个问题左右,但是问的方式很简单,基本上就是:说下xx方法。那么你就可以根据你准备到的来回答,并且是串联式的提问,即根据你对上一个问题的回答中提取内容来提问,所以你要对自己说的话负责,哈哈,说到的东西就一定要懂,至少能说出原理,否则就干脆不要说,不然被问倒了就是坑自己。
    ②二面的面试官,差不多20个问题左右,但会更深入,并且提问的方式更难,主要提问方式是:说下有哪些方法可以解决xx问题?这比一面的那种提问方式难多了,因为需要你对这些方法有一个整体的认识,你的脑子里要有一个思维导图,或者说一个知识体系,这样的问法本身就更深入。所以腭面的体验更差,就是感觉被面试官榨干了,我说了所有自己所知道的方法,面试官还一直说:还有吗?还有吗?这样面试完就没有一面时的那种舒畅,因为总感觉自己掌握的不全面,很有可能凉。但其实大部分都是可以准备到的,有一两个点是需要大量的经验累积才会知道,所以这也不会有太大影响。