2019 春季算法工程师实习生招聘历程

持续了将近两个月的 2019 春季实习生招聘总算是告了一个段落,虽说去年入学时便已知道找工作就在眼前,但当它真正到来的时候,自己依然是措手不及。好在历经坎坷,结果总归是好的,希望接下来的实习收获满满。

1. 前言

春节假期还没有结束,一些公司的实习生招聘已然开始。等我来到学校,完善简历,大致过了一遍相关基础知识,这才开始投递简历。此时时间已来到了 3 月初,接下来,在等待笔试面试的过程中,我着重复习了以下几个方面的知识。

  • 项目介绍,对照着简历进行重点复习,以及整理现在正在做的课题 超光谱图像去噪基准

  • 深度学习,吴恩达系列课程笔记

  • 机器学习,西瓜书,也就看了看决策树、SVM、PCA,主要是实际中没用过机器学习的方法,基本没有深入研究过

  • 数据结构和算法,极客时间课程笔记

  • 代码能力,LeetCode 刷题回顾 以及《剑指 Offer》

  • 编程语言,C++/Python,简单回顾了一些重要概念

  • 线性代数,麻省理工公开课笔记

  • 概率论,麻省理工公开课笔记

2. 招聘进程

其中一些是我自己的面试经历,这部分会稍微详细总结,还有一些是一起面试的其他同学的情况,略写。

2.1. 腾讯 官网投递

  • 3 月 10 日晚提前批笔试,两个小时,官方说法是自愿参加仅做参考

  • 笔试五道题 340/500

  • 3 月 21 日北京广告部面试一小时

    • 1.求数组中和为给定值的所有数字对,如果数组排好序,用 O(n) 时间复杂度 O(1) 空间复杂度实现

    LeetCode 原题 LeetCode 1——两数之和,剑指 Offer 原题 剑指 Offer——和为 S 的两个数字

    • 2.求考生分数 Top 1000, O(n) 时间和空间复杂度有什么方法

    求 Top K 问题一是借助快排的思想 LeetCode 215——数组中的第 K 个最大元素,二是借助堆 堆的应用,但是这两种算法的时间复杂度是 O(nlogn) 的。由于这里考生的分数范围很小 [0, 1000],因此我们利用 计数排序 的思想,空间上只需要一个大小为 1001 的计数数组,时间和空间复杂度都可以做到 O(n)。

    • 3.项目介绍,我的项目主要是图像,和广告推荐不相关没细问
    • 4.怎么学习深度学习的,卷积神经网络发展历程及各自的特点,自己写过 TensorFlow 里面的 op 吗,LSTM、Attention 知道吗,学过 Spark 等大数据处理吗,有 GPU 吗,项目的训练数据怎么来的
    • 5.ResNet 效果为什么好,神经网络为什么越来越深

    ResNet——Deep Residual Learning for Image Recognition

    • 6.从坐标 (0, 0) 走到 (m, n),每次只能向上或者向右走一步,总共有多少种走法

    无论怎么走,横坐标方向都需要走 m 步,纵坐标方向都需要走 n 步,因此我们只需要选择在哪些步向右走即可,是一个组合问题,从 m+n 步中选出 m 步向右走或者 n 步向上走即可。

  • 3 月 28 日电话二面 20 分钟

    • 1.实习时间,对实习地点有要求吗
    • 2.讲一个最好的项目,遇到了什么问题,怎么解决的,数据量,训练时间,衡量指标,损失函数

    问题是神经网络不收敛,激活函数值落到了饱和区,更换激活函数为 ReLU 以及引入 BN 后解决,也因此引出了下一个问题。

    • 3.测试时 BN 是怎么做的

    BN 测试时需要用到训练时的滑动平均和方差,Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

    • 4.有自己实现过机器学习算法吗

    机器学习算法仅限了解,也还只是常见的,需要补补基础了

    • 5.常用的优化算法

    讲了讲 Momentum、RMSProp、Adam,吴恩达课程中讲的,熟练掌握后每次我都拿这三个讲

    • 6.最优化,常见的一阶算法和二阶算法,牛顿法优缺点

    说实话,这个只是上过最优化的课,早就忘了,写在简历上就是充数,不过后面的确要再补上这方面的知识

    • 7.CNN 经典模型

    AlexNetVGGInceptionResNet

    • 8.C++ 虚函数,纯虚函数和虚函数区别,析构函数可以是虚函数吗
    • 9.现在在做什么课题
    • 10.约定第二天写写代码
  • 3 月 29 日代码面 40 分钟

    • 有一个 API 每次调用会返回一个四字节的数据,现在我们要得到任意字节的数据,请实现。

    意思好像是调用一个函数,这个函数返回一个有四个元素的字符数组,这样就是四个字节,然后输入一个 n ,返回一个具有 n 字节的数据。需要注意多余字节缓存的问题,也就是上次没用完的数据下次要先利用。

  • 4 月 1 日 HR 面 15 分钟

  • 4 月 9 日查询内部状态,显示报批流程放弃,据说是对比刷人

  • 其他人面试情况

    • 1.C++ 深拷贝和浅拷贝,虚函数,set 和 map 是基于什么实现的,unordered_set 和 unordered_map 呢?
    • 2.机器学习问题中,怎么选择数据量大小来训练一个有足够泛化性的模型?
    • 3.对于一个问题,网络选择的优先顺序,如 DNN、CNN、RNN
    • 4.数据极度不均衡怎么办,比如 1% 和 99%
    • 5.算法方面:字符串复制;图的单源最短路径多源最短路径;最大连续子序列和;丑数问题;二维数组查找;后面三个均为《剑指 Offer》原题。
    • 6.给定一个正整数x,找到一个最小的正整数y,使得y的每一位相乘,最后值等于

2.2. 阿里 QQ 群内推

  • 淘宝部回绝,转蚂蚁金服

  • 3 月 21 日蚂蚁金服营销策略部面试 45 分钟

    • 1.自我介绍
    • 2.卷积神经网络介绍,详细拆解卷积层、池化层、全连接层的作用
    • 3.特征预处理方法,归一化、标准化、PCA
    • 4.常见激活函数介绍

    Sigmoid,Tanh,ReLUPReLU,LReLU

    • 5.梯度消失原因,怎么解决,BN
    • 6.优化方法,Adam
    • 7.逻辑回归,L1,L2 正则化区别
    • 8.GAN,推荐系统,NLP 方面,问我了解多少
    • 9.一致性哈希,哈希表冲突解决方法,红黑树

    数据结构和算法之——散列表上红黑树上

    • 10.DeepFM,没听说过
    • 11.聊了聊本科的智能车比赛
    • 12.一个数组只有两个数出现过 1 次,其他数都出现过两次,找出它们?哈希,能不能用 O(1) 空间复杂度实现,利用异或,《剑指 Offer》原题
  • 3 月 29 日已回绝,官网再次投递

  • 4 月 10 日已回绝,被误以为研一学生非 2020 年毕业

  • 其他人面试情况

    • 1.常用排序算法,快排的时间复杂度,怎么优化
    • 2.YOLOv3 的优缺点,Inception 和 ResNet,梯度消失和爆炸,AdaBoost
    • 3.算法方面:回文字符串判定;反转字符串;两数之和等于给定值;矩形覆盖,斐波那契数列问题,剑指 Offer 上有;最大连续和;O(1) 时间复杂度实现 LRU;
    • 4.给定一个长度为 N(非大数)的无序数组,所有的元素都在 0-N-1 之间,有的元素可能出现了很多次,有的元素可能一次都没有出现,求出现次数最多的元素出现了几次?时间复杂度O(n),空间复杂度O(1)怎么解?

    我觉得可以借鉴《剑指 Offer》上面试题 3:数组中重复的数字这个题目的思路,把每个元素放到数组中下标等于其值的位置,如果该位置已经放置了一个正确的值则该位置元素加 N。与这篇文章思路类似

    • 5.给定一个数组,数组元素仅包含1,2,3,例如数组 {1, 3, 1, 2}。假设我们提供一个swap函数,每调用一次swap可以交换指定位置的两个数组元素,比如swap(3, 4)后数组变为 {1, 3, 2, 1}。请计算最少需要进行多少次swap操作,才能让数组按从小到达排好序。例如:输入数组 {1, 3, 1, 2}, 则最少需要2次

    由于数组中只有 1,2,3,最后排好序的数组中应该是 [1...1,2...2,3...3],最前面 1 所在的区域称之为 I 区,2,3 所在的区域称之为 II 区和 III 区。未排序数组中位于 I 区的 2 和位于 II 区的 1 只需要交换一次,同理,位于 I 区的 3 和位于 III 区的 1 只需要交换一次,位于 II 区的 2 和位于 III 区的 3 只需要交换一次,也即错位一次交换一次。如果错位两次,比如位于 I 区的 3 、位于 II 区的 1 和位于 III 区的 2,则需要交换两次。

    • 6.给定一个桶球,其中 W 个白色球,B 个黑色球。按以下规则每次随机从桶中取一个球,求最后一个从桶中取出球是白色球的概率。规则:a.如果拿出的球为黑色,则把该球放回桶中,然后随机再取一个球拿走,此时不管球是什么颜色均拿走不再放回; b.如果拿出的球为白色,则直接拿走。

    刚开始是 W 个白色球,B 个黑色球,若第一次拿走一个白球,其概率为 W/(W+B) + B/(W+B) * W/(W+B)(第一次白球或者第一次黑球第二次白球),然后问题就变成了 W-1 个白色球,B 个黑色球的子问题;若第一次拿走一个黑球,其概率为 B/(W+B) * B/(W+B)(第一次黑球第二次黑球),然后问题就变成了 W 个白色球,B-1 个黑色球的子问题。用动态规划来求解即可。

2.3. 华为 官网投递

  • 3 月 27 日在线笔试 200/600

三道题分别 100,200,300 分,第一道题是关于字符串的,比较简单;第二题是给定五个点,蜜蜂从原点出发怎么访问这些点最后回来总飞行距离最短,动态规划、贪心尝试了半天最后听说别人用暴力直接遍历 5^5=125 种情况顺利解决;第三题完全没时间做。

  • 4 月 9 日现场两面

基本就是自我介绍、项目介绍、成绩啊工作地点啊优缺点什么的,聊天式面试,没有涉及到技术细节

2.4. 旷视 邮件投递

  • 3 月 14 号下午远程面试 两个小时 两轮

旷视 2019 春季算法实习生面试总结

  • 3 月 21 日邮件通知未通过
  • 4 月 8 日晚上现场笔试 45 分钟

这是后来旷视又来我们学校现场宣讲时进行的,宣讲后直接笔试。45 分钟,选择、填空和两道编程题,考察算法和数学基础,难度适中。

  • 4 月 9 日上午现场一面 45 分钟

    • 1.终于遇到了一个对我做的项目比较感兴趣的面试官,于是详细讲了几个项目。
    • 2.神经网络训练的优化算法,BN 的优点,都是老生常谈了。
    • 3.概率论方面,x1, x2都是 [0,1] 的均匀分布,求 x1+x2>1 的概率,然后拓展到三个变量
    • 4.Python 的生成器、迭代器和装饰器
    • 5.算法题,给定一个二维矩阵,求一定区域内元素和的最大值,区域不大小定。应该是用动态规划来实现,只大致讲了思路,然后手写 最大子序列和 的代码。不得不说,当时心中一喜这么简单的代码都写错了,心态还是要调整好。
  • 几场面试下来感觉旷视还是很注重是代码能力和数学的,基本上都要问点数学相关的题目,线性代数,概率论相关。

2.5. 拼多多 官网投递

  • 3 月 10 日下午在线笔试 两个小时 290/400

拼多多 2019 春季算法实习生在线笔试

  • 3 月 14 日邮件通知面试
  • 4 月 4 日通知 4 月 10 日上午十点面试

通知面试后 20 多天才安排上,估计是不缺人

  • 4 月 10 日上午一面 45 分钟
    • 1.自我介绍
    • 2.挑一个项目详细介绍
    • 3.介绍 BN,ResNet,Adam,似乎是必问的
    • 4.一亿个整数,求前 3000 个,又是 Top K 问题
    • 5.最大子数组和问题
    • 6.1-N 的数字里含有 1 的数的个数
    • 7.问了我当时在线笔试的第三道题,还好总结了博客
  • 4 月 12 日拒信

2.6. 字节跳动 邓启力内推加官网投递

  • 3 月 16 上午在线笔试两个小时 200/400
  • 3 月 23 日一面挂
    • 1.自我介绍
    • 2.进程线程,进程之间怎么通信
    • 3.C++ 智能指针
    • 4.TCP/IP 三次握手
    • 5.激活函数
    • 6.GBDT
    • 7.S 形输出树的节点

转专业的,计算机网络、操作系统这些都不懂,机器学习也不熟,挂得明明白白,也挺好

2.7. 海康威视 王卓内推

  • 3 月 7 号 在线认知能力测评 逻辑推理、数学图表、看图找规律
  • 3 月 16 晚电话面试十五分钟
    • 1.自我介绍,项目介绍
    • 2.过拟合,Dropout
    • 3.快排
    • 4.实现 shuffle 的功能,生成随机数对,进行交换

只有一面,基本没怎么问,估计走个流程

  • 3 月 25 日官网未通过

2.8. 作业帮 官网投递

  • 3 月 21 日现场笔试

填空、编程题,编程基本都是剑指 Offer 原题,难度适中

  • 笔试挂,不知原因

2.9. 网易雷火 官网投递

  • 3 月 17 晚上在线笔试两个小时

网易雷火 2019 春季人工智能工程师实习生笔试题,之后杳无音信

2.10. 快手 内推免笔试

2.11. 百度 官网投递

  • 4 月 2 晚在线笔试两个小时
  • 两道编程题只做出了 8% 和 36%,笔试挂

2.12. 360 官网投递

  • 4 月 3 在线测评和笔试
  • 三道编程题只做出了 100% 36% 27%,笔试挂

2.13. 招商银行信用卡 官网投递

  • 3 月 17 晚上在线笔试两个小时 与网易冲突未参加
  • 4 月 4 日拒信

2.14. 网易互娱 内推

  • 4 月 2 晚与百度冲突未参加

2.15. 平安科技 牛客网投递

  • 电话告知暑期实习提前一个月再投递即可

2.16. 京东 官网投递

  • 笔试挂

2.17. 小马智行 牛客网投递

  • 笔试未参加

3. 杳无音信系列

3.1. 商汤 牛客网投递

3.2. 寒武纪 官网投递

3.3. 依图 牛客网投递

3.4. 猿辅导 OfferShow 内推

3.5. OPPO 官网投递

3.6. VIVO 官网投递

3.7. 微众银行 官网投递

3.8. 驭视科技 官网投递

在此,强烈吐槽 OPPO 的招聘官网,它是通过和一个叫智联招聘的平台合作的,在上面填完信息后疯狂收到各种宣讲短信,信息就这样被泄露,关键是没收到来自 OPPO 的任何通知,真是赔了将军又折兵。

4. 总结

都说今年招聘形势严峻,对算法来说尤其如此,这是确确实实能感受得到的。面试了这么多家,走完所有流程的也就只有腾讯、旷视和华为三家。不过,有句话说得好,天时不如地利,地利不如人和。找工作这方面的人和也就是个人的实力,要相信,竞争越是激烈,优秀者也就会越突出!算法、数学和深度学习的基础理论是接下来带我飞驰的三驾马车。

获取更多精彩,请关注「seniusen」!

posted @ 2019-04-28 12:31  seniusen  阅读(558)  评论(0编辑  收藏  举报