问题记录
1、AUC与点击率的关系,解释为什么rerank会使AUC上升但是点击率下降的问题
模型a的线上效果auc降低还是提高于离线
模型a对模型b的线上auc高于模型b自身的线上auc吗
gauc呢
ctr和auc gauc关系
gauc直接用click次数作为权重是否存在偏差和问题
实验流量的auc和基线流量的auc。孰高孰低
2、id的emb含义,包含了所有特征?比属性特征的本质区别?
3、为什么统计上的一些头部推荐 auc高于模型。或者 ,模型没有显著高
4、特征一点点地加进去,auc变化的解释
5、矩阵分解的好处和弊端,对比于deep。
什么情况下用矩阵分解是有效的,效果是否和先验的加入以及数据的分布问题相关。
根据id共现来推荐的思路,有什么问题。
个性化推荐里,用户会购买的商品到底是不是估出来分数高的
6、加入先验约束后的影响
7、deep侧和wide侧,加入什么去强化,什么样的特征放在哪里,为什么wide起了效果
8、bert
1、bert层数、参数、如何微调
2、bert base还是…
3、两两计算的简化
4、关键词检索…?知识图谱(问题是属性还是label)
9、itemid的编码来加和成用户向量,存在的问题
10、漏斗越到下面,样本、模型、特征都有怎样的适配更好
11、负采样里通过哈夫曼树,弊端。
以频次进行负采样的好处和优化点。
12、loss变化的解释
13、batch size的选择
14、为什么 parallel_interleave来并发from_generator并不比最先版本单进程单队列性能高。
15、
key tips:多种badcase
1)问题
2)optimizer
3)tf.train.AdamOptimizer tf.train.MomentumOptimizer
4)可解释性https://baijiahao.baidu.com/s?id=1601872661947976767&wfr=spider&for=pc
5)java8特性
6)GBDT的原理
7)正负条件测试
8)CCA?
9)pagerank
10)nosetest
11)structurestreaming
12)— 慢但是有eventtime watermark outputmode的概念
13)tensorflow—树模型 深度学习。 dssm deepfm wd排序 graphembedding
14)LR的原理
15)svm
16)采样 过拟合 评估指标 (auc计算 ks等指标)
17)分类 回归等算法汇总凸优化 正则化
18)CRFEM GMM HMM
19)对数据倾斜处理的方法
20)XGboost、lightgbmCatboost三者介绍
21)xgboost如何选择连续特征的分裂点?
22)聚类算法了解程度、kmeans介绍、K值选择、kmeans++算法
23)map-reduce、spark使用
24)batchnormalize
25)这个问题下的回答很有价值 ,BN问的还挺多的。
26)贝叶斯公式
27)HAN
28)如何判断收敛了?
29)为什么fasttext第一步要求平均
30)用的词库选择? 没有词的话会怎么办 embed的
31)词袋 tfidf
32)对抗训练 —输入相似但模型结果差别很大,如何解决
33)模型优化经验?
34)朴素贝叶斯要准备 怎么分类的
35)得到词袋,然后计算p(word|c)。目标为 求分子p(B|c)p(c),B为f1 f2 f3 假设特征独立,取log 则目标为 logp(word1|c)+logp(word2|c)….+logp(c)
36)
37)JVM运行时内存区域划分?哪些线程私有?对象的生命周期?说说垃圾收集器、垃圾收集算法类加载机制?如何自定义实现类加载器?(没实现过,盲猜继承应用程序类加载器)
38)
39)
40)
41)
42)
43)
44)说说你了解的设计模式?手撕单例模式?(我说写个双检索吧,面试官说写个简单的,那就饿汉)
45)
46)
47)dubbo
48)整合springboot的三种方式:
49)1、用全局配置+starter,注解进行服务暴露和引用 2、xml导入,注解importResource()进行 3、自己写配置类,用注解api,enabledubbo(scanbasepackages)
50)启动过程
51)container启动->provider向registry注册->consumer从registry订阅 (这些前三个为init初始化过程) ->registry及时告诉consumer更新注册信息(异步)->consumer根据负载均衡调用provider的服务(同步)->过程里的信息定时发送到监控中心(异步)
52)优化方法
53)什么是偏差和方差?
54)简述了解的优化器,发展综述?
55)常用的损失函数有哪些?分别适用于什么场景?
56)梯度下降与拟牛顿法的异同?
57)L1和L2正则分别有什么特点?为何L1稀疏?
58)传统的模拟退火、遗传算法?
59)CNN
60)给定卷积核的尺寸,特征图大小计算方法?
61)网络容量计算方法
62)共享参数有什么优点
63)常用的池化操作有哪些?有什么特点?
64)CNN如何用于文本分类?
65)resnet提出的背景和核心理论是?
66)空洞卷积是什么?有什么应用场景?
67)polling作用、优缺点、why用的越来越少;
68)卷积层学习过程(前后向)及参数数量估计
69)RNN
70)简述RNN,LSTM,GRU的区别和联系
71)画出lstm的结构图,写出公式
72)RNN的梯度消失问题?如何解决?
73)lstm中是否可以用relu作为激活函数?
74)lstm各个门分别使用什么激活函数?
75)简述seq2seq模型?
76)seq2seq在解码时候有哪些方法?
77)Attention机制是什么?
78)rnn长依赖问题、梯度问题;
79)lstm的input output forget gate作用于哪、gru的update gate呢?
80)机器学习基础
81)分类:LR、SVM、KNN、决策树、RandomForest、GBDT。回归:non-Linear regression、SVR(支持向量回归–>可用线性或高斯核(RBF))、随机森林。聚类:Kmeans、层次聚类、GMM(高斯混合模型)、谱聚类
82)参数范数惩罚?
83)softmax原理?
84)加快梯度下降收敛速度?
85)
86)
87)KL 散度和交叉熵的区别
88)过拟合&欠拟合
89)解决方法:降低模型复杂程度,dropout、bagging、正则、earlystop,数据增强、交叉验证。Dropout本质也是个bagging。
90)如何理解正则化?所有的学习算法的【正则化】即【经验损失结构化】的形式都是固定的:经验损失+范数 结构,经验损失是为了是学习算法匹配测试样本,范数是为了过拟合。
91)SVM
92)RCNN用过SVM当分类器,后来就换成了softmax
93)基本内容:定义在特征空间上的间隔最大的线性分类器,学习策略是间隔最大化,可形式化为一个求解凸二次规划的最小化问题。包括核技巧,这使它成为实质上的非线性分类器。
94)SVM的主要特点 1非线性映射 2支持向量、小样本学习方法->避免了“维数灾难”,可“剔除”大量冗余样本+算法简单+具有鲁棒性(体现在3个方面),优秀泛化能力、泛化错误率低,分类速度快,结果易解释 (因为结构风险最小)3学习问题可表示为凸优化问题—->全局最小值 4 需要用户指定核函数类型和引入松弛变量
95)SVM为什么采用间隔最大化?当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。最大间隔解是唯一的,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。
96)12 梯度弥散/爆炸,怎么解决
97)梯度下降本身来看的话就有随机梯度下降,批梯度下降,small batch 梯度下降三种方式,面试官可能会问这三种方式的优劣以及如何选择最合适的梯度下降方式。
98)批梯度下降会获得全局最优解,缺点是在更新每个参数的时候需要遍历所有的数据,计算量会很大,并且会有很多的冗余计算,导致的结果是当数据量大的时候,每个参数的更新都会很慢。
99)随机梯度下降是以高方差频繁更新,优点是使得 sgd 会跳到新的和潜在更好的局部最优解,缺点是使得收敛到局部最优解的过程更加的复杂。
100)小批量梯度下降结合了批梯度下降和随机梯度下降的优点,每次更新的时候使用 n 个样本。减少了参数更新的次数,可以达到更加稳定收敛结果,一般在深度学习当中我们采用这种方法。
101)改激活函数啊,BN啊,想lstm一样把变+啊,加恒等映射的跳跃层啊,都可以。没有太好的文章,看看这篇讲resnet的吧。
102)13 激活函数,比较
103)sigmod tanh relu maxout… 好多,这个随便一搜就一堆,放一个不太切题的文章吧,我偶像何之源奆佬的回答,手动滑稽
104)15 各种网络结构&模型(重点)
105)基本的DNN CNN RNN的forward和backprob都要熟悉,然后lstm、gru、attention也要会,还有各种encoder-decoder结构,这个就看积累了。 推荐部分有自己的一些模型,比如FM系列,lookalike、协同过滤之类的非深度学习模型,后面的W&D为首的融合模型也是搭积木。
106)模型
107)手推LR、Kmeans、SVM
108)简述ridge和lasson的区别和联系
109)树模型如何调参
110)树模型如何剪枝?
111)是否存一定存在参数,使得SVM的训练误差能到0
112)逻辑回归如何处理多分类?
113)决策树有哪些划分指标?区别与联系?
114)
115)如何使用梯度下降方法进行矩阵分解?
116)LDA与PCA的区别与联系?
117)其他(分方向)
118)word2vec的原理,glove的原理,fasttext的原理?
119)cbow和skipgram如何选择?
120)了解elmo和bert吗?简述与word embedding的联系和区别
121)图像和文本和语音数据各有哪些数据增强方法?
122)rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理?
123)介绍resnet和GoogLeNet中的inception module的结构?
124)介绍yolo和ssd ?
125)介绍FM,FFM,deepFM,deepWide.
126)机器翻译如何解决oov?
127)等等
128)数据结构与算法
129)二叉树类
130)前中后的非递归?
131)层次遍历,之字遍历?
132)二叉树的序列化与反序列化
133)前中,后中遍历结果恢复二叉树
134)排序二叉树的序列化
135)二叉树的直径
136)二叉树的路径和为定值的路径
137)翻转、复制二叉树
138)排序二叉树转双向链表
139)判断二叉树是否相同?判断一棵树是不是另一棵树的子树?
140)搜索回溯
141)八皇后,全排列,组合
142)重复数字的排列,重复数字的组合
143)图的搜索
144)A star
145)概率题
146)用rand7构造rand10
147)轮盘赌
148)三角形内等概论随机选点
149)等等
150)动态规划
151)编辑距离
152)背包
153)LCS
154)字符串
155)给定字符串是否符合正则表达式XXX
156)给定字符串是否是数字?
157)KMP
158)超大数相加
159)数组、二分、快排系列
160)旋转数组查找
161)数组中的topk
162)旋转打印数组
163)行列递增矩阵查找数字
164)查找出现超过一半的数字
165)查找和为定值的两个数
166)链表
167)翻转链表
168)两个链表是否有交点
169)一个链表是否有环
170)链表的倒数k个节点
171)合并链表
172)逆序打印链表
173)排序
174)各种排序的复杂度最优最差平均
175)堆排序topk
176)快排的变化
177)海量数据题
178)海量日志的出现最多的10个字符串
179)10亿个1-10的数字排序
180)trie树
181)hashmap
182)布隆过滤器
183)bitmap
184)机器学习
185)常用loss、正则、sgd、l-bfgs、auc公式及优缺点、数据不平衡时的调参…
186)booting:gbdt的loss、分裂节点依据、防过拟合;
187)xgb的loss选择、泰勒展开、正则(gbdt能加么)、并行、vs lightGBM;
188)lambdaMart的loss–如何直接优化metric(如NDCG)–学习/train过程;
189)svm的优化目标、软间隔、调参;
190)强化学习
191)什么问题适合RL/MLE的缺陷、trail-and-error search、policy-based vs value-based、on-policy vs off-policy等
192)q learning中q值得更新(其实很好记:当前q值 += 学习率(环境reward+ 新状态下最大的q值衰减值)、为什么要乘衰减值);
193)DQN使用network代替q_table的初衷、两个network(结构一致、参数交替更新)、存储记忆 off-policy;
194)policy gradients如何学习/拟合目标( -log(prob)*vt 像不像交叉熵…)、按概率选action vs epsilon-greedy;
195)Actor-Critic中的actor与critic、优缺点、收敛问题、DDPG、
196)以上这些都是考察基本功的、基本都是书上的知识点
197)NLP
198)词法/序列标注相关:hmm、crf、lstm、lstm+crf(细节:对于转移特征、转移概率 hmm crf lstm+crf分别是怎么学的?)
199)句法:有了依存关系 如何确定主谓宾、举几个例子
200)word2vector:层次softmax、负采样、 vs GloVe
201)topic相关:lsa(可以引到svd、基于mse的fm);lda why引入共轭先验分布、调参(针对两个先验);
202)+DL:cnn filter的设计、seq2seq+attention的padding问题(对padding的字符如何做attention、如何忽略、用tensorflow/pytorch大致写一下)、tree lstm…
203)任务相关:beam search做生成、dialog中对回复做lable smooth 提高回复多样性…
204)CV
205)是不是直接调的.xxNet、如果是自己设计的结构 请画出来 why这么设计、偶尔聊下GAN 光流网络(因为我只看过这个….)…
206)常问的是二分及其变体,别觉得二分简单,其各种变体和边界条件的考虑也是挺麻烦的。还有dp、dfs、树相关的算法。
207)https://zhuanlan.zhihu.com/p/25860706
208)树模型的优势?为什么说对离散、连续特征有统一的处理?
209)特征选择的方法?(我说我比赛里面两三千个特征做特征选择,被她嘲笑了一波:两三千个特征还要做特征选择啊?)
210)其他不记得了,感觉这些机器学习预处理的东西自己没准备太好,所以特征工程的一些理论的东西最好复习下吧:
211)https://www.zhihu.com/question/29316149
212)我是集训营的学员,我大致分享一下遇到的面试题
213)
214)2.
215)3. 对集成学习, SVM的理解,以公式的形式写出来最好
216)4. 对HMM ,CRF的理解, CRF的损失函数什么,维特比算法的过程
217)5.
218)6. word2vec的CBOW与SkipGram模型及两种训练方式(负采样\层级softmax), 两种训练方式的区别和应用场景,
219)7.word2vec和fasttext的区别, 训练word2vec的有哪些重要参数
220)8. LSTM的单元结构图和6个公式要记住
221)9. 有几种Attention, Attention和self-Attention是具体怎么实现的,对应什么场景
222)10. BERT的模型架构,多少层,什么任务适合bert,什么任务不适合,应用在你写的项目改怎么做
223)11. tensorflow手写一个卷积代码, BILSTM + CRF模型的原理,记住常用基础api(比如jieba添加默认词典api,分词api)
224)12. 问项目阶段, 会问数据集怎么得到、模型的训练、怎么部署、项目人员周期,开发中出现问题怎么解决等
225)首先自己表述的很有问题,很多内容没回答到关键点上,自己会的内容也不怎么继续扩展回答。其次知识掌握得确实不够,连线程安全、ThreadLocal、函数式编程都不会
226)印象比较深刻的题目有,阅读一个 Redis 源码,分析存在哪些问题。其实就是一个计数器实现的限流算法,会有临界值的问题,但是当时没回答出来,只能听面试官给我解释。还有一个微信扫二维码,这个过程发生了什么,
227)对 Linux 内核和 C++ 有很高的要求,问了几个相关的问题我都没回答出来,比如如何实现守护进程,Linux 信号机制,Linux 线程的不可中断阻塞状态如何进入等等
228)问到进程调度算法,面试官让我实现一个任务调度系统。
229)当然看过任务调度系统相关的文章会觉得挺容易的,比如使用时间轮实现等等
230)比如分析一下微博的时间线
231)错排问题,其实最开始我给了正确的递推公式,
232)分析一个 SQL 语句的具体执行过程,比如会怎么利用索引,怎么优化之类的,虽然在他的提示下还是回答了
233)Paxos 等分布式的问题,还有就是手写代码,信号量实现生产者消费者,以及一个位运算的问题。
234)比如 AC 自动机,系统故障分析等等手写堆排序算法,二部图分析
235)比如网络编程里面的水平触发和边缘触发等问题
236)比如 ConcurrentHashMap 的并发机制,问 Spring 直接说不会。比如 Map 的实现,内存管理等等
237)几乎把每种日志的实现和作用都问了一遍
238)负采样
239)梯度计算公式
240)w2v
241)w2v改进,如果词汇表很大维数过多,softmax计算量大的优化
242)GBDT是否可以正则项、参数有哪些
243)上线效果
244)难点—可解释性
245)为什么均方误差、交叉熵
246)反向传播
247)中间层的微分计算
248)回归模型改分类模型改变哪些
249)lstm如何解决梯度下降
250)python循环实现方法
251)lr 的loss
252)svd中的左右矩阵
253)缺失值处理
254)3relu等
255)岭回归?
256)5对抗、等
257)6协同过滤,数据少的时候怎么推荐、spark上推荐的函数
258)https://www.cnblogs.com/MarsMercury/p/5161296.html
1什么是推荐 2实验方法 3评价指标 如覆盖率:反映了推荐算法发掘长尾的能力,覆盖率越高,说明推荐算法越能够将长尾中的物品推荐给用户。
4行为数据:显性隐性反馈
5仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法,有基于邻域的方法[用户相似度、物品相似度]、隐语义模型、基于图的随机游走算法等。
6
- UserCF ItemCF
- 性能 适用于用户较少的场合,如果用户很多,计算用户相似度矩阵代价很大 适用于物品数明显小于用户数的场合,如果物品很多(网页),计算物品相似度矩阵代价很大
- 领域 时效性较强,用户个性化兴趣不太明显的领域 长尾物品丰富,用户个性化需求强烈的领域
- 实时性 用户有新行为,不一定造成推荐结果的立即变化 用户有新行为,一定会导致推荐结果的实时变化
- 冷启动 在新用户对很少的物品产生行为后,不能立即对他进行个性化推荐,因为用户相似度表是每隔一段时间离线计算的。新物品上线后一段时间,一旦有用户对物品产生行为,就可以将新物品推荐给和对它产生行为的用户兴趣相似的其他用户。 新用户只要对一个物品产生行为,就可以给他推荐和该物品相关的其他物品但没有办法在不离线更新物品相似度的情况下将新物品推荐给用户
- 推荐理由 很难提供令用户信服的推荐解释 利用用户的历史行为给用户做推荐解释,可以令用户比较信服
7ItemCF和UserCF覆盖率和新颖度都不高,可以采用如下公式:惩罚热门
8隐语义模型:
- pLSA、LDA、隐含类别模型、隐含主题模型、矩阵分解。
负样本来源:
- (1)对于一个用户,用他所有没有过行为的物品作为负样本
- (2)对于一个用户,从他没有过行为的物品中均匀采样出一些物品作为负样本
- (3)对于一个用户,从他没有过行为的物品中采样出一些物品作为负样本,但采样时,保证每个用户的正负样本数目相当。
- (4)对于一个用户,从他没有过行为的物品中采样出一些物品作为负样本,但采样时,偏重采样不热门的物品。
- 3>2>4>1
- 2011年的Yahoo推荐系统比赛,我们发现对负样本采样时应该遵循以下原则:
- (1)对每个用户,要保证正负样本的平衡
- (2)对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品
本文链接: https://satyrswang.github.io/2021/06/11/工作问题repo/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!