360公司网络算法面经秘籍

《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。

求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。


面经整理历程:经过一年多的努力,大白整理了超过3500篇,各类大厂的算法面经资料。

并将涉及到的知识点,按照知识框架,分类汇总,每个公司整理成一篇,比如本文的360公司面经

大家对照面经,可以了解心仪的公司,会根据你的简历,问哪些知识点?便于大家对掌握的知识,进行回顾梳理。

希望为大家在求职或者跳槽的道路上,提供一些帮助,为大家取得心仪的offer助力。

面经整理心得:大白也将整理所有面经的心得,写成了一篇文章,点击查看心得

其他大厂面经:国内其他大厂的面经汇总,点击查看目录

360公司面经整理:江大白

1 360公司面经汇总资料

1.1 面经汇总参考资料

① 参考资料:

(1)牛客网:360公司面经-46篇,网页链接

(2)知乎面经:点击进入查看

(3)面试圈:点击进入查看

面经框架及参考答案:

(1)面经知识框架:点击进入查看

(2)面经参考答案:点击进入查看

1.2 面经涉及招聘岗位

(1)全职岗位类

【计算机视觉工程师】、【搜索广告算法工程师】、【机器学习算法】、【语音识别研发】、【搜索部门的机器学习工程师(偏nlp方向)】、【360效率平台开发工程师(也问算法题)】

1.3 面试流程时间安排

PS以上流程为大白总结归纳所得,以供参考。

1.4 360公司面试心得汇总

★ 对着我的机器学习的项目详细问,这里必须得说,不会的东西千万不要往简历上写。

★ 技术面面的比较基础, 比较在意了解算法的广度

★ 项目中用了什么方法最好能知其所以然,才能处乱不惊,没准还能想出新的idea

★ 面试算法的同学还是要自己吃透自己的简历,大多数的面试官问题都是出自你的简历

★ 受益匪浅,面试官跟我说做这一行最重要的还是从数据出发,分析数据,从数据反应出的现象去寻找问题,再思考原因,然后去做出自己的假设,假设有可能对,有可能错,但这也正是做算法的魅力之处。有经验的算法工程师的假设都是建立在对数据和对模型底层特别了解的情况下。

★ 模型不仅仅只是工具,做模型的时候不要一蹴而就,要一点点的加东西,你要去弄懂你为什么要加,加了能带来什么改进等等。

★ 360面试时,参照下面试官提问题的思路,一般是从你讲到的点里挑一个自己感兴趣或很了解的点进行下一步提问,所以讲话要特别注意,自己不熟的东西尽量不要穿插在里面。

2 360公司面经涉及基础知识点

2.1 图像处理基础

● 讲一下卡尔曼滤波算法的公式,影响的参数,怎么调参?

2.2 深度学习:CNN卷积神经网络方面

2.2.1 讲解相关原理

2.2.1.1 卷积方面

● 上采样的方式

● 反卷积和空洞卷积讲一下

● CNN中怎么做的卷积?

● 卷积的优势?卷积之后接什么层?

● 尝试过BN层和卷积层相结合吗?

2.2.1.2 池化方面

● 为什么做pooling?都有哪些pooling?

2.2.1.3 网络结构方面

● Resnet用过吗?

● 介绍Alexnet的网络结构?

● VGG网络相比于AlexNet改进的地方在哪里,为什么?

2.2.1.4 其他方面

● BN原理是什么,实验的收敛速度增大了多少?(提升了3倍,我的)

● 神经网络了解过吗, 讲一下权值共享?

● 梯度消失/爆炸的原因及解决方法?

2.3 深度学习:RNN递归神经网络方面

2.3.1 讲解相关原理

● 介绍RNN、LSTM、GRU并比较

● LSTM与RNN的区别?

● LSTM门到底那个门更新细胞状态?

● LSTM各个门的作用?我口头讲了一下LSTM的计算公式,然后又问为什么sigmoid&tanh?然后衍生到LSTM为了解决RNN的什么问题?GRU是否了解?

2.4 深度学习:CNN&RNN通用的问题

2.4.1 模型评价

● AUC计算公式?

● 项目为什么选用AUC和F-score,为什么不选用Recall?

● Precision/Recall/F-score/ROC/AUC的原理讲一下?

● 多分类的评价指标

● 二分类的评价指标

2.5 传统机器学习方面

2.5.1 讲解相关原理

2.5.1.1 数据准备

2.5.1.2 特征工程

① 特征降维

● PCA理论的过程

② 特征选择

● 机器学习one-hot编码了解吗?

2.5.1.3 有监督学习-分类和回归方面

① 分类回归树(集成学习)

● 介绍一下有哪些集成算法?

● XGB和随机森林的区别?

● XGB和随机森林哪个的基模型适合更深的树?

● 讲讲GBDT,XGB的区别?

● XGB的损失函数

● XGB与LR相比优缺点在哪里

● 除了XGB和LR还了解哪些机器学习模型?

● gbdt原理,怎么实现的?

● Xgboost的原理介绍以及如何并行化实现?

② 逻辑回归LR

● 说说对LR的理解?

● 既然LR解决的是分类问题,它为什么叫逻辑回归?

● LR和SVM的差别?

● LR和最大熵模型的相似点与不同点?

● LR的公式,使用什么方法更新,推导求梯度的公式

● LR的损失函数,为什么要用交叉熵?

● LR如何做正则化?

● 逻辑回归可不可加核函数?

● 归一化对LR和决策树的影响?

③ SVM

● SVM原理讲一下?

● 项目上为什么选SVM,用的什么核函数,了解其他的核函数么?和LR模型区别?

● SVM的Loss是什么,核函数的作用?SVM核函数变换有什么好处?

2.5.1.4 无监督学习-聚类方面

● 用过什么聚类算法, 什么时候需要用聚类?

● kmeans原理?如何确定k值?

● kmeans有哪些优化方法?

● 讲一下k-means算法,怎么做,遇到什么问题,怎么解决的?

2.5.2 手推算法及代码

● LR推导

● 手写LR的目标函数

● 写一下高维高斯分布密度函数?

2.6 深度学习&机器学习面经通用知识点

2.6.1 损失函数方面

● 写一下交叉熵的公式

● 逻辑回归什么时候用softmax,什么时候用交叉熵,为什么?

2.6.2 激活函数方面

● Relu和Sigmoid函数之间的差别?(1.不会梯度弥散;2.稀疏参数;3.计算简单)

2.6.3 网络优化梯度下降方面

● 比较随机梯度下降、批量梯度下降、小批量梯度下降?

2.6.4 正则化方面

● 说一下正则化的作用,以3种角度介绍了L1和L2正则化的区别?

● L1正则化、L2正则化讲一下

2.6.5 过拟合&欠拟合方面

● 过拟合的原因,如何解决过拟合?

2.6.6 其他方面

● 机器学习和深度学习的区别是什么?(数学完成,经验驱动;数据量少,数据量大)

● 什么样的任务适合用深度学习,什么样的问题不适合?

3 360公司面经涉及项目知识点

3.1 深度学习:CNN卷积神经网络方面

3.1.1 目标检测方面

● 小目标检测方法?

● 是否对新的检测方法有了解?(答了几个anchor free的方法)

3.2 深度学习:RNN递归神经网络方面

3.2.1 自然语言处理NLP

3.2.1.1 讲解原理

① Transformer

● transform 的mask到底有什么作用?

● 讲下transformer中self-attention

② Attention

● 讲下attention在seq2seq中的用法

③ HMM隐马尔科夫模型

● HMM了解过吗? 有什么样的应用场景?

● 讲语音识别整体流程,然后着重讲声学模型,GMM-HMM,DNN模型怎么用的。再讲解码过程,怎么计算概率等?

④ Word2vec

● 讲一下Word2vec原理?怎么优化?

● 如何用word2vec的方式构造sentence2vec?

● 介绍word2vec原理,如何设计,如何训练,越详细越好;用了什么加速方法,word2vec算法本身有哪些优化,加速方法,最后的一层softmax怎么加速?

● Word2vec、elmo、gpt的区别与联系?

⑤ 其他

● 分词的原理?

3.3 强化学习

3.3.1 讲解原理

● 项目中的wgan,wgan-gp怎么实现的?

3.3.2 损失函数

● GAN网络的Loss函数说一下?

3.4 机器学习方面

3.4.1 推荐系统

● 协同过滤算法的原理和应用场景?

4 数据结构与算法分析相关知识点

4.1 数据结构与算法分析

4.1.1 线性表

4.1.1.1 数组

● 快排数组的引用传递和值传递(是否会改变原始数组?)

4.1.1.2 链表

● 写一个反转单链表的代码,不要递归?

● 两个有序链表的合并?

● 链表相乘

4.1.1.3 字符串

● 一个基于字符串匹配的中文分词,正向长优先匹配?

4.1.2 树

4.1.2.1 二叉树

● 哈夫曼树与负采样?

● 实现哈夫曼树手撕代码?

● 二分查找

● 任意节点开始的二叉树的路径?

● 二叉树的前序遍历

4.1.2.2 堆

● 堆和栈的区别(内存分配)?

4.1.3 排序

● 有哪些排序算法,复杂度分别是多少?

● TopK(快排和小顶堆分别实现,分析时间和空间复杂度)

● 手写快排

● 求出十万个数据中的前k大的值,怎么做,可不可以用堆实现?

4.2 算法思想实战及智力题

4.2.1 算法思想实战

● 跳台阶的问题,一下一个,或者一下两个,一共n阶,问多少种跳法,用递归很简单?

● 给一个环形数组长度为N ,数组每个位置都有一种颜色,总共M种颜色,求包含全部颜色的最短长度?

4.2.2 智力题

● 横着放六个硬币,以第一个硬币开头竖着发放四个硬币,所以目前总共十个硬币,横着看六个,竖着看五个,问怎么移动一个硬币可以使得横着看六个竖着看也是六个?

● AB两个人,背后各有一个数字,两个数字相邻,A能看见B的,B能看见A的,然后A和B的对话是,A说不知道,B说我也不知道,A说我知道了,B说我也知道了,问AB两个人背后的数字是多少?

● 一个四位数乘以4,变成它原来反着的数,比如1234变成4321,求这个数是啥?

● 给你一个整数数组,找到从1开始缺的最小的数。比如说就是-2,-1,0,3,2,1,5,那从1开始缺的最小的数就是4。

4.3 其他方面

4.3.1 数论

● 实现shuffle,1000个数随机选10个 ?

4.3.2 计算几何

● 在平面上所有点中,找一条直线是经过的点最多?

4.3.3 矩阵运算

● 二维矩阵最短路径

● 给定一个二维矩阵,二维矩阵非0即1,随机生成,求能框住所有1的最小矩形面积?

5 编程高频问题:Python&C/C++方面

5.1 python方面

5.1.1 网络框架方面

● 项目中用到Caffe,你要重写类的话,要怎么加?引申出来问了caffe的类的工厂模式懂么?为什么caffe写了类放在相应目录下就可以?类的注册?

5.1.2 基础知识

● Python类的私有变量怎么设?

5.2 C/C++方面

5.2.1 基础知识

5.2.1.1 区别比较

● C和C++的区别。讲一下多态性?

5.2.1.2 讲解原理

● 关于动态内存,除了new、delete用什么实现动态内存?

● C++中的STL?C++ const?

● C++中的构造函数哪几种?对一个class A{} 写一下构造函数

● 介绍一下C++的三大特性?

6 操作系统高频问题:数据库&线程&常用命令等

6.1 数据库方面

6.2 操作系统方面

6.2.1 线程和进程相关

● 线程和进程的区别,各有哪些资源?

● 了解linux内核吗?

7 技术&产品&开放性问题

本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。

发表评论

This site is protected by wp-copyrightpro.com