名企AI⾯试100题 2.0版
---节选⾃七⽉在线4000题库
前⾔
本《名企AI⾯试100题》能形成,有着⽐较长的⼀段历史,咱们从头说起。
2010年11⽉,我司创始⼈July便在他的个⼈博客上开始整理数千道微软等公司的⾯试题,侧重数据
结构、算法、海量数据处理,名为《微软⾯试100题系列》,⽬前总阅读量为:362,5458。
2017年9⽉,July再次和团队(包括且不限于元超、⽴娜、德伟、贾茹、王剑、AntZ、孟莹等众
⼈)整理《BAT机器学习⾯试1000题系列》,侧重各⼤互联⽹公司的机器学习、深度学习的笔试/⾯试
题。
该系列不少题⽬来源于公开⽹络,取之分享,⽤之分享,且在撰写答案过程中若引⽤他⼈解析则
必注明原作者及来源链接。且不少答案得到寒⽼师、管博⼠、张⾬⽯、王赟、褚博⼠等七⽉在线名师
的审校。
2017年10⽉,本系列作为国内⾸个AI题库,开始在七⽉在线实验室公众号上连载。
2017年12⽉,题库正式上线七⽉在线官⽹和七⽉在线APP,到2019年9⽉,题⽬总数接近4000道。
2019年10⽉,考虑到不论是公司内部集训营和就业班的学员,还是外部朋友提出:能否精选题库
中最常考的100个笔试⾯试题封装成册,提⾼学习或复习效率的诉求,故我司AI LAB全体同事(包括
且不限于:天保、远根、范浩、振杰、孙⽼师、陈博⼠),先是从七⽉在线官⽹题库页⾯⾥的近4000
道题⽬中精挑细选出100题,然后天保等同事逐⼀审阅,最终孙⽼师汇总成册。
本《名企AI⾯试100题》涵盖计算机语⾔基础、算法和⼤数据、机器学习、深度学习、应⽤⽅向
(CV NLP 推荐 ⾦融风控)等五⼤章节,每⼀段代码、每⼀道题⽬的解析都经过了反复审查或review,但
不排除可能仍有部分题⽬存在问题,如您发现,敬请通过官⽹/APP对应的题⽬页⾯留⾔指出。且为了
照顾⼤家去官⽹对应的题⽬页⾯参与讨论,故本⼿册各个章节的题⽬顺序和官⽹/APP的题⽬展⽰顺序
保持⼀致。
本⼿册只有100题,但实际笔试⾯试不⼀定局限于本100题,故更多烦请⼤家移步七⽉在线官⽹或
七⽉在线APP,上⾯还有近4000道名企AI笔试⾯试题等着⼤家,刷题愉快。
!
!
七⽉在线
https://www.julyedu.com/
2019.10.29第⼀版,后于2020.4.29推出第⼆版,新增近20道新题
第⼀章 计算机语⾔基础 1 ................................................................................................................................................
1.1 在C++ 程序中调⽤被C 编译器编译后的函数,为什么要加extern“C”? 1 ..................................................
1.2 什么是多线程,多线程与多任务有什么区别 5 ...........................................................................................
1.3 Java类初始化顺序 5 ........................................................................................................................................
1.4 写⼀个死锁 8 ...................................................................................................................................................
1.5 可以⽤for循环直接删除ArrayList的特定元素吗?可能会出现什么问题?怎样解决? 11 .....................
1.6 如何看当前Linux系统有⼏颗物理CPU和每颗CPU的核数? 12 ................................................................
1.7 使⽤top查看系统资源占⽤情况时,哪⼀列表⽰内存占⽤呢? 12 ............................................................
1.8 如何查看当前系统都有哪些进程? 12 .........................................................................................................
1.9 ⽤iptables写⼀条规则:把来源IP为192.168.1.101访问本机80端⼜的包直接拒绝 13 ..............................
1.10 ⽹卡或者硬盘有问题时,我们可以通过使⽤哪个命令查看相关信息? 13 ...........................................
1.11 请写出⼀段Python代码实现删除⼀个list⾥⾯的重复元素。 13 ...............................................................
1.12 什么是lambda函数?它有什么好处? 14 ......................................................................................................
1.13 请⽤Python⼿写实现快速排序 14 ................................................................................................................
1.14 请创建⼀个函数检查⼀个词是否具有回⽂结构,使⽤ Python 进⾏编写。 16 ......................................
1.15 Python⾥⾯如何拷贝⼀个对象?(赋值,浅拷贝,深拷贝的区别) 17 ................................................
1.16 使⽤Python编写函数,获得⽬录下所有的⽂件名。 17 ............................................................................
第⼆章 算法和⼤数据 20 ..................................................................................................................................................
2.1 判断⼀个单链表中是否有环 20 ....................................................................................................................
2.2 请说说B树的插⼊、删除操作 21 ..................................................................................................................
2.3 数组中⼦序列的个数 28 ................................................................................................................................
2.4 在⼀个严格单调递增的整数数组中找到a[x] == x的位置? 28 .................................................................
2.5 最⼤连续⼦数组和 29 ....................................................................................................................................
2.6 ⾦字塔最⼩路径之和 34 ................................................................................................................................
2.7 最长连续递增序列 36 ....................................................................................................................................
2.8 交替字符串 39 ................................................................................................................................................
2.9 有序链表转换⼆叉搜索树 41 .........................................................................................................................
2.10 hadoop和spark的都是并⾏计算,那么他们有什么相同和区别 47 ...........................................................
2.11 寻找Top IP 从海量⽇志数据中提取出某⽇访问百度次数最多的 那个IP。 48 ......................................
2.12 寻找Top IP 从海量⽇志数据中提取出某⽇访问百度次数最多的那个IP。 48 ........................................
第三章 机器学习 50 ..........................................................................................................................................................
3.1 请详细说说⽀持向量机(support vector machine,SVM)的原理 50 .......................................................
3.2 树形结构为什么不需要归⼀化? 83 .............................................................................................................
3.3 逻辑斯特回归为什么要对特征进⾏离散化。 83 .........................................................................................
3.4 overfitting怎么解决 84 ....................................................................................................................................
3.5 说说梯度下降法 85 .........................................................................................................................................
3.6 为什么xgboost要⽤泰勒展开,优势在哪⾥? 88 .........................................................................................
3.7 谈谈判别式模型和⽣成式模型? 89 .............................................................................................................
3.8 请详细说说EM算法 89 ...................................................................................................................................
3.9 机器学习中,为何要经常对数据做归⼀化 106 ...........................................................................................
3.10 简单说说贝叶斯定理 107 .............................................................................................................................
3.11 如何进⾏特征选择? 108 ..............................................................................................................................
3.12 机器学习和统计⾥⾯的auc的物理意义是啥? 109 ....................................................................................
3.13 常见的分类算法有哪些?他们各⾃的优缺点是什么? 113 ......................................................................
3.14 RF与GBDT之间的区别与联系? 114 ..........................................................................................................
3.15 请问怎么处理特征向量的缺失值 115 ..........................................................................................................
3.16 简述KNN最近邻分类算法的过程? 115 .....................................................................................................
3.17 请写出你了解的机器学习特征⼯程操作,以及它的意义 115 ..................................................................
3.18 如何降低数据集的维度以减少模型计算时间? 116 ...................................................................................
3.19 如何提升已经达到96%精度的分类模型性能? 116 ....................................................................................
3.20 如何在⼀个数据集上选择重要的变量?给出解释。 117 ..........................................................................
3.21 Gradient boosting算法(GBM)和随机森林都是基于树的算法,它们有什么区别? 117 ....................
3.22 如何理解模型的过拟合与⽋拟合,以及如何解决? 117 ..........................................................................
3.23 了解xgboost么,请详细说说它的原理 118 .................................................................................................
3.24 请详细说说梯度提升树(GBDT)的原理 134 ................................................................................................
3.25 请说说Adaboost 算法的原理与推导 137 .....................................................................................................
3.26 机器学习中的正则化到底是什么意思? 147 .............................................................................................
3.27 请简单阐述下决策树、回归、SVM、神经⽹络等算法各⾃的优缺点? 153 .........................................
3.28 最⼤熵模型中的数学推导 158 .....................................................................................................................
3.29 如何通俗理解贝叶斯⽅法和贝叶斯⽹络? 167 .........................................................................................
3.30 如何通俗理解LightGBM 183 ........................................................................................................................
3.31 如何通俗理解主成成分分析PCA 192 ..........................................................................................................
3.32 什么是K近邻算法和KD树? 208 .................................................................................................................
3.33 请详细说说决策树的构造原理 237 .............................................................................................................
3.34 机器学习中的L0、L1与L2范数到底是什么意思? 241 ............................................................................
第四章 深度学习 251 .......................................................................................................................................................
4.1 什么是归⼀化,它与标准化的区别是什么? 251 .......................................................................................
4.2 请问⼈⼯神经⽹络中为什么ReLU要好过于tanh和Sigmoid function? 255 ...............................................
4.3 什么样的数据集不适合⽤深度学习? 255 ...................................................................................................
4.4 如何缓解梯度消失和梯度膨胀(微调、梯度截断、改良激活函数等) 256 ...........................................
4.5 简单说说CNN常⽤的⼏个模型 263 ...............................................................................................................
4.6 如何确定是否出现梯度爆炸? 263 ...............................................................................................................
4.7 RNN是怎么从单层⽹络⼀步⼀步构造的? 263 ...........................................................................................
4.8 如何从RNN起步,⼀步⼀步通俗理解LSTM 267 ........................................................................................
4.9 请阐述下卷积神经⽹络CNN的基本原理(完善版) 278 ................................................................................
4.10 CNN究竟是怎样⼀步⼀步⼯作的? 292 .....................................................................................................
4.11 什么是⾮极⼤值抑制(NMS)? 312 .........................................................................................................
4.12 什么是深度学习中的anchor? 312 ..............................................................................................................
4.13 当神经⽹络的调参效果不好时,从哪些⾓度思考? 315 ...........................................................................
4.14 如何理解反向传播算法BackPropagation 315 ..............................................................................................
4.15 通俗理解BN(Batch Normalization) 321 ........................................................................................................
4.16 如何形象的理解LSTM的三个门 324 ...........................................................................................................
4.17 Adam 算法的原理,AdaGrad 和 RMSProp ⽅法有什么区别? 329 ..............................................................
4.18 请说下常见优化⽅法各⾃的优缺点? 336 .................................................................................................
4.19 如何理解随机梯度下降,以及为什么SGD能够收敛? 344 .....................................................................
4.20 请问什么是softmax函数? 347 ....................................................................................................................
第五章 CV 352 ..................................................................................................................................................................
5.1基于深度学习的⽬标检测技术演进 352 ........................................................................................................
5.2请简单解释下⽬标检测中的这个IOU评价函数(intersection-over-union) 371 ........................................
5.3图像边缘检测的原理? 372 ............................................................................................................................
5.4图像中的⾓点(Harris⾓点)是什么?为什么⽤⾓点作为特征点? 372 ........................................................
5.5为什么说神经⽹络是端到端的⽹络? 372 .......................................................................................................
5.6什么是感受野? 373 ........................................................................................................................................
5.7⼯业界中遇到上亿的图像检索任务,如何提⾼图像对⽐效率? 373 ..............................................................
5.8物体检测⽅法列举 373 ....................................................................................................................................
5.9 one-stage和two-stage⽬标检测⽅法的区别和优缺点? 373 ..........................................................................
5.10 请画下YOLOv3的⽹络结构 378 ..................................................................................................................
5.11 如何理解Faster RCNN 389 ............................................................................................................................
5.12 做过⽬标检测项⽬么?⽐如Mask R-CNN和Python做⼀个抢车位神器 403 ............................................
第六章 NLP 411 ................................................................................................................................................................
6.1如何通俗理解深度学习中的注意⼒机制 411 .................................................................................................
6.2请详细说说Transformer(超详细图解,⼀图胜千⾔) 422 .........................................................................
6.3什么是TF-IDF算法? 437 ................................................................................................................................
6.4请⽤图形象的解释word2vec(⼀图胜千⾔) 439 .........................................................................................
6.5说说NLP中的预训练技术发展史:从Word Embedding到Bert模型 457 ......................................................
6.6 如何通俗理解隐马尔可夫模型HMM? 478 .................................................................................................
6.7 如何理解Word2vec 之 Skip-Gram 模型 483 ..................................................................................................
6.8 如何理解Seq2Seq Attention模型:图解Seq2Seq Attention 493 ....................................................................
第七章 推荐系统 504 ........................................................................................................................................................
7.1请详细说说协同过滤的原理 504 ....................................................................................................................
7.2推荐系统有哪些常⽤的评价标准 510 ............................................................................................................
7.3 请详细聊聊推荐系统⾥的排序算法 511 ........................................................................................................
7.4 怎么解决推荐系统中的冷启动问题? 516 ...................................................................................................
7.5 请说说隐语义模型LFM背后的原理 518 .......................................................................................................
7.6 解释Exploitation & Exploration 521 ................................................................................................................
7.7 什么是wide&deep模型? 521 .........................................................................................................................
7.8 怎样将知识图谱引⼊推荐系统 ? 521 ..........................................................................................................
7.9 阿⾥最新开源的X-Deep Learning为Online Learning提供了哪些解决⽅案? 522 .....................................
7.10 如何离线评价召回阶段各种模型算法的好坏? 522 .................................................................................
7.11 请画出点击率预估流程图,分为那两部分? 522 ......................................................................................
7.12 什么是DSSM?有什么优缺点? 523 .............................................................................................................
7.13 请简述DeepFM模型 524 ...............................................................................................................................
7.14 Thompson(汤普森)采样为何有效? 524 ......................................................................................................
第⼋章 ⾦融风控 528 ........................................................................................................................................................
8.1 芝⿇信⽤分的主要计算维度? 528 ...............................................................................................................
8.2 为什么我们做评分卡的时候要⽤woe编码? 528 ..........................................................................................
8.3 深度学习的风控模型,从经验上看,样本量⼤概要多少条啊? 528 .......................................................
8.4 根据业务实际场景来构造损失函数,能举个例⼦么? 528 .......................................................................
8.5 在使⽤xgboost或lightgbm建模之前是否进⾏相关性处理? 529 ................................................................
8.6 ⾦融风控领域准⼊策略的常见特征有哪些? 530 .......................................................................................
第九章 计算⼴告 531 ........................................................................................................................................................
9.1 从FM推演各深度学习CTR预估模型 531 ......................................................................................................
9.2 请介绍⼀下你所了解的受众定向技术 578...................................................................................................
第⼀章 计算机语⾔基础
第章 计算机语基础
1.1 在C++ 程序中调用被C 编译器编译后的函数,为什么要
加extern“C”?
⾸先,作为extern是C/C++语⾔中表明函数和全局变量作⽤范围(可见性)的关键字,该关键字告
诉编译器,其声明的函数和变量可以在本模块或其它模块中使⽤。
通常,在模块的头⽂件中对本模块提供给其它模块引⽤的函数和全局变量以关键字extern声明。例
如,如果模块B欲引⽤该模块A中定义的全局变量和函数时只需包含模块A的头⽂件即可。这样,模块B
中调⽤模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错;它会在连接阶段
中从模块A编译⽣成的⽬标代码中找到此函数。
extern “C”是连接申明(linkage declaration),被extern “C”修饰的变量和函数是按照C语⾔⽅式编译和
连接的,来看看C++中对类似C的函数是怎样编译的:作为⼀种⾯向对象的语⾔,C++⽀持函数重载,
⽽过程式语⾔C则不⽀持。函数被C++编译后在符号库中的名字与C语⾔的不同。例如,假设某个函数
的原型为:
void foo( int x, int y );
该函数被C编译编译后在符号库中的名字为_foo,C++编译则会产像_foo_int_int之类的
名字(同的编译可能成的名字同,但是都采相同的机制,成的新名字称为“mangled
name”)。_foo_int_int 这样的名字包含函数名、函数参数数及类型信息,C++就是靠这种机制来
实现函数重载的。如,在C++中,函数void foo( int x, int y )与void foo( int x, float y )编译成的
符号是相同的,后者为_foo_int_float。
同样地,C++中的变除持局部变外,还持类成员变和全局变。户所编写程序的类成
员变可能与全局变同名,我们以”.”来区分。本质上,编译在进编译时,与函数的处相
似,也为类中的变取个独的名字,这个名字与户程序中同名的全局变名字同。
未加extern “C”声明时的连接式
假设在C++中,模块A的头件如下:
// 模块A头⽂件 moduleA.h
#ifndef MODULE_A_H
#define MODULE_A_H
int foo( int x, int y );
#endif
在模块B中引该函数:
1
评论0