前言
面的公司不多,基本都是提前批(找工作主要还是依靠提前批,坑多人少)。大多数时间都是在问简历相关的问题,基础知识和编程也涉及到一些,简单总结一下,也算回顾面试过程了。
面试题
基础知识
- 求空间中两异面直线的距离
- SVM的原理、推导
- SVM与决策树的比较
- 各种熵、KL散度、JS散度
- 解释梯度消失、梯度爆炸,以及为什么
- 解释过拟合,如何解决
编程
- 手写快排,快排的时间复杂度(为什么是O(nlogn)),比快排更快的算法实现
- 手写归并排序
- 求逆序对个数
- 手写maxpooling实现
- 计算IOU的实现
- 判断链表有环
深度学习相关
- 卷积网络中参数量、运算量的计算
- BN层的原理、应用,训练和测试时的设置
- Dropout 层的原理、应用
- 各种优化算法的比较
- 如何计算感受野
- 描述GAN,包括流程、Loss函数、生成器和判别器的结构
- GAN与之前方法(如VAE)的比较
- GAN的引申,描述一下比如DCGAN,WGAN(因为我说看过WGAN,所以让我讲了一下WGAN解决的两个问题以及如何解决的)
- 讲一下MobileNet,如何减少模型参数量
项目相关
因为这块会根据每个人的项目有很大的差异,所以简单根据我的某个项目(迁移学习相关)介绍一下面试官会注意到的地方
- 为什么要用迁移学习
- 讲一下迁移学习的应用场景
- 迁移学