算法工程师面试

面试问题

机器学习常用算法,例如: 
决策树的ID3,C4.5,CART等,决策树的split原理和剪枝策略
神经网络如何工作
SVM的原理及公式推导
朴素贝叶斯的公式
Bagging 和 Boosting的区别
GBDT的参数怎么调
聚类过程
偏差和方差是什么,高偏差和高方差说明了什么
怎么理解损失函数,SVM的损失函数是什么,写出公式
过拟合怎么解决,L1和L2正则化有什么区别
为什么用最小二乘而不是最小四乘
GB和牛顿法的区别,它们和泰勒公式的关系
数据结构算法知识,手写代码,例如:

最大子数组和
快速排序
字典排序
特征工程

PCA的原理

数据结构算法知识,手写代码,例如:

最大子数组和
快速排序
字典排序
编程能力,考察熟悉的编程语言的相关知识,编程语言掌握一门即可,例如:

java:static的作用,hashmap,arraylist和linklist的区别,多线程
c/c++:实现strstr(判断一个字符串是否是另一个的子串)
编程能力,考察熟悉的编程语言的相关知识,编程语言掌握一门即可,例如:

java:static的作用,hashmap,arraylist和linklist的区别,多线程
c/c++:实现strstr(判断一个字符串是否是另一个的子串)
python:安装Python的命令是什么,用python读取一个文件,一行一行的输出(不能用库函数)

python:安装Python的命令是什么,用python读取一个文件,一行一行的输出(不能用库函数),python常用库

大数据开发能力:Hadoop/Hive/Map Reduce开发,例如Map Reduce 写 word count

深度学习知识:

深度学习框架
CNN:什么是卷积,为什么要padding(根据简历的具体项目问
--------------------- 
 

题目汇总

  1. 笔试题
    • 在互联网分析中,通常会关注用户的【第N日激活率】来衡量用户质量。用户的第N日激活指的是用户在注册的第N天登录网站或App,即算为该用户的第N日激活。第N日激活率指的是某日注册用户在第N天激活的数量除以该日所有注册用户数量
    • “赤兔”是领英中国针对中国职场人士推出的一款本土化的社交应用。如果你是领英中国的数据分析师,你会从哪些方面和维度来设计各项指标,给产品的设计和运营提供数据上的支持?请给出具体的维度和指标,并说明原因。
    • 网易游戏的一道笔试题是给定一条包含3个join的SQL语句,要求写代码模拟实现SQL的功能。
  2. 编程题
    • 最少时间复杂度求数组中第k大的数,写code
    • 去除字符串S1中的字符使得最终的字符串S2不包含’ab’和’c’,写code
    • 长度为N的序列Sequence=abc….Z,问有多少不同的二叉树形态中序遍历是这个,写递推公式
    • 给定整数n和m,问能不能找出整数x,使得x以后的所有整数都可以由整数n和m组合而成
    • 中序遍历二叉树,利用O(1)空间统计遍历的每个节点的层次,写bug free的code
    • 排序二叉树转双向链表
    • 一个运算序列只有+、*、数字,计算运算序列的结果
  3. 机器学习&数据挖掘问题
    • L1和L2正则项 >> 它们间的比较
    • 各个模型的Loss function,牛顿学习法、SGD如何训练
    • 介绍LR、RF、GBDT ,分析它们的优缺点,是否写过它们的分布式代码
    • 介绍SVD、SVD++
    • 是否了解线性加权、bagging、boosting、cascade等模型融合方式
    • 推荐系统的冷启动问题如何解决
    • 是否了解A/B Test以及A/B Test结果的置信度
    • 特征工程经验
    • 是否了解mutual infomation、chi-square、LR前后向、树模型等特征选择方式
  4. 解决方案类题目
    • 为今日头条设计一个热门评论系统,支持实时更新
    • 给定淘宝上同类目同价格范围的两个商品A和B,如何利用淘宝已有的用户、商品数据、搜索数据、评论数据、用户行为数据等所有能拿到的数据进行建模,判断A和B统计平均性价比高低。统计平均性价比的衡量标准是大量曝光,购买者多则高。
    • 有n个elements和1个Compare(A, B)函数,用Compare函数作为排序算法中的比较算子给elements排序。Compare函数有p的可能比较错。排序完取Top m个元素,本来就在Top m并被正确分在Top m的元素个数是x。问x的数学期望。

传统机器学习
常见机器学习问题
1) 过拟合问题 
2) 交叉验证问题 
3) 模型融合问题 
4) 模型选择问题

面试常见问题
1) 几种模型( SVM,LR,GBDT,EM )的原理以及公式推导; 
2) RF,GBDT 的区别; GBDT,XgBoost的区别(烂大街的问题最好从底层原理去分析回答); 
3) 决策树处理连续值的方法; 
4) 特征选择的方法; 
5) 过拟合的解决方法; 
6) K-means 的原理,优缺点以及改进; 
7) 常见分类模型( SVM ,决策树,贝叶斯等)的优缺点,适用场景以及如何选型; 
8) SVM 为啥要引入拉格朗日的优化方法; 
9) 假设面试官什么都不懂,详细解释 CNN 的原理; 
10) 梯度下降的优缺点 
11) EM与K-means的关系; 
12) L1与L2的作用,区别以及如何解决L1求导困难; 
13) 如何用尽可能少的样本训练模型同时又保证模型的性能; 
14) ID3和C4.5的优缺点,树的融合(RF和GBDT) 
15) 特征提取方法,如何判断特征是否重要 
16) BP神经网络以及推导 
17) HMM模型状态推导 
18) 过拟合原因以及解决办法(深度学习同) 
19) 常见损失函数 
20)机器学习性能评价,准确率,召回率,ROC 
22)降采样,PCA,LDA

深度学习
常见问题
1)四种激活函数区别和作用 
2)过拟合解决方法 
3)(CNN)卷及神经网络各层作用 
4)(RNN)循环神经网络 
5)LSTM 
6)梯度弥散 
7)优化算法 adam,SGD等 
8)分析Alexnet,VGG的网络结构以及各层作用 
9)XgBoost(好像很多公司也面到了) 
10)梯度下降的优化 
12)卷积核参数计算 
13)TensorFlow中的session是什么,session和interactivesession的区别

深度学习

模型评估方法

  • Accuracy作为指标有哪些局限性?
  • ROC曲线和PR曲线各是什么?
  • 编程实现AUC的计算,并指出复杂度?
  • AUC指标有什么特点?放缩结果对AUC是否有影响?
  • 余弦距离与欧式距离有什么特点?

基本方法

  • 如何划分训练集?如何选取验证集?
  • 什么是偏差和方差?
  • 什么是过拟合?深度学习解决过拟合的方法有哪
  • 解决欠拟合的方法有哪些?
  • 深度模型参数调整的一般方法论?

优化方法

  • 简述了解的优化器,发展综述?
  • 常用的损失函数有哪些?分别适用于什么场景?
  • 梯度下降与拟牛顿法的异同?
  • L1和L2正则分别有什么特点?为何L1稀疏?

深度学习基础

  • 以一层隐层的神经网络,relu激活,MSE作为损失函数推导反向传播
  • NN的权重参数能否初始化为0?
  • 什么是梯度消失和梯度爆炸?
  • 常用的激活函数,导数?
  • relu的有优点?又有什么局限性?他们的系列改进方法是啥?
  • sigmoid和tanh为什么会导致梯度消失?
  • 一个隐层需要多少节点能实现包含n元输入的任意布尔函数?
  • 多个隐层实现包含n元输入的任意布尔函数,需要多少节点和网络层?
  • dropout为何能防止过拟合?
  • dropout和BN 在前向传播和方向传播阶段的区别?

CNN

  • 给定卷积核的尺寸,特征图大小计算方法?
  • 网络容量计算方法
  • 共享参数有什么优点
  • 常用的池化操作有哪些?有什么特点?
  • CNN如何用于文本分类?
  • resnet提出的背景和核心理论是?
  • 空洞卷积是什么?有什么应用场景?

RNN

  • 简述RNN,LSTM,GRU的区别和联系
  • 画出lstm的结构图,写出公式
  • RNN的梯度消失问题?如何解决?
  • lstm中是否可以用relu作为激活函数?
  • lstm各个门分别使用什么激活函数?
  • 简述seq2seq模型?
  • seq2seq在解码时候有哪些方法?
  • Attention机制是什么?

机器学习

基础

  • 样本不均衡如何处理?
  • 什么是生成模型什么是判别模型?

集成学习

  • 集成学习的分类?有什么代表性的模型和方法?
  • 如何从偏差和方差的角度解释bagging和boosting的原理?
  • GBDT的原理?和Xgboost的区别联系?
  • adaboost和gbdt的区别联系?

模型

  • 手推LR、Kmeans、SVM
  • 简述ridge和lasson的区别和联系
  • 树模型如何调参
  • 树模型如何剪枝?
  • 是否存一定存在参数,使得SVM的训练误差能到0
  • 逻辑回归如何处理多分类?
  • 决策树有哪些划分指标?区别与联系?
  • 简述SVD和PCA的区别和联系?
  • 如何使用梯度下降方法进行矩阵分解?
  • LDA与PCA的区别与联系?

特征工程

  • 常用的特征筛选方法有哪些?
  • 文本如何构造特征?
  • 类别变量如何构造特征?
  • 连续值变量如何构造特征?
  • 哪些模型需要对特征进行归一化?
  • 什么是组合特征?如何处理高维组合特征?

其他(分方向)

  • word2vec的原理,glove的原理,fasttext的原理?

  • cbow和skipgram如何选择?

  • 了解elmo和bert吗?简述与word embedding的联系和区别

  • 图像和文本和语音数据各有哪些数据增强方法?

  • rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理?

  • 介绍resnet和GoogLeNet中的inception module的结构?

  • 介绍yolo和ssd ?

  • 介绍FM,FFM,deepFM,deepWide.

  • 机器翻译如何解决oov?

  • 等等

数据结构与算法

二叉树类

  • 前中后的非递归?
  • 层次遍历,之字遍历?
  • 二叉树的序列化与反序列化
  • 前中,后中遍历结果恢复二叉树
  • 排序二叉树的序列化
  • 二叉树的直径
  • 二叉树的路径和为定值的路径
  • 翻转、复制二叉树
  • 排序二叉树转双向链表
  • 判断二叉树是否相同?判断一棵树是不是另一棵树的子树?

搜索回溯

  • 八皇后,全排列,组合
  • 重复数字的排列,重复数字的组合
  • 图的搜索
  • A star

概率题

  • 用rand7构造rand10
  • 轮盘赌
  • 三角形内等概论随机选点
  • 等等

动态规划

  • 编辑距离
  • 背包
  • LCS

字符串

  • 给定字符串是否符合正则表达式XXX
  • 给定字符串是否是数字?
  • KMP
  • 超大数相加

数组、二分、快排系列

  • 旋转数组查找
  • 数组中的topk
  • 旋转打印数组
  • 行列递增矩阵查找数字
  • 查找出现超过一半的数字
  • 查找和为定值的两个数

链表

  • 翻转链表
  • 两个链表是否有交点
  • 一个链表是否有环
  • 链表的倒数k个节点
  • 合并链表
  • 逆序打印链表

排序

  • 各种排序的复杂度最优最差平均
  • 堆排序topk
  • 快排的变化

海量数据题

  • 海量日志的出现最多的10个字符串
  • 10亿个1-10的数字排序
  • trie树
  • hashmap
  • 布隆过滤器
  • bitmap
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
算法工程师面试中,可能会遇到有关Transformer模型的问题。Transformer模型是一种基于自注意力机制的深度学习模型,广泛应用于自然语言处理任务。以下是一些可能被问到的问题及其答案: 1. 请简要介绍一下Transformer模型。 Transformer模型是一种基于注意力机制的深度学习模型,用于处理序列数据,特别是在自然语言处理任务中取得了巨大成功。它由编码器和解码器两个部分组成,每个部分都包含了多个注意力机制层。编码器负责将输入序列转换为一个抽象的表示,解码器则根据这个表示生成目标序列。Transformer模型摒弃了传统的循环神经网络(RNN)结构,通过全局关注输入序列中的所有位置,从而能够处理长距离依赖关系。 2. Transformer模型中的非线性来自哪里? Transformer模型中的非线性主要来自于激活函数,其中一种常用的激活函数是GELU(Gaussian Error Linear Unit)。GELU激活函数在ReLU的基础上增加了随机因素,这使得输入值越小越容易被“mask”掉,从而引入了非线性。通过这种激活函数,Transformer模型能够更好地处理不同位置的特征。 3. 在Transformer模型中,self-attention是如何实现的? 在Transformer模型中,self-attention是通过计算输入序列中每个位置与其他位置之间的相关性得到的。具体来说,通过对输入序列中的每个位置进行线性变换,得到查询(query)、键(key)和值(value)三个向量。然后,通过计算查询向量与键向量的点积,并经过softmax归一化,得到每个位置与其他位置的注意力权重。最后,将注意力权重与值向量相乘并求和,得到最终的输出。 综上所述,算法工程师面试中可能会涉及到Transformer模型的基本原理、非线性来源以及self-attention的实现方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值